PROGRAM LINEAR: METODE SIMPLEX Latar Belakang Sulitnya menggambarkan grafik berdimensi banyak atau kombinasi lebih dari dua variabel. Metode grafik tidak mungkin dapat dilakukan untuk menyelesaikan masalah program linear yang melibatkan lebih dari dua variable. Dalam keadaan ini (variabel lebih dari dua) dibutuhkan metode lain yang sering disebut sebagai metode algoritma simplex. Metode ini diperkenalkan oleh George B Dantzig pada tahun 1947. 2 6623 - Taufiqurrahman 1
Metode Simplex Metode simpleks merupakan prosedur iterasi yang bergerak bertahap dan berulang. Jumlah variabel tidak terbatas Penyelesaian masalah LP dengan metode simplex harus menggunakan bentuk standar. 3 Bentuk Standar Bentuk standar LP memiliki sifat sbb. : 1. Seluruh fungsi kendala harus berbentuk persamaan ( bertanda = ). 2. Ruas kanan non negatif. 3. Seluruh variabel merupakan variabel non negatif. 4. Fungsi tujuan dapat berupa maksimasi atau minimasi. 4 6623 - Taufiqurrahman 2
Merubah Ke Bentuk Standar 1. Fungsi Kendala (constraint) Kendala bertanda diubah menjadi persamaan dengan menambah Variabel Slack pada ruas kiri fungsi kendala. Contoh: X 1 + 6X 2 10 Berubah Menjadi X 1 + 6X 2 + S 1 = 10 S 1 0, merupakan variabel slack, menyatakan sumber yang tidak terpakai. 5 Merubah Ke Bentuk Standar Kendala bertanda diubah menjadi persamaan dengan mengurangi suatu Variable Surplus pada ruas kiri fungsi kendala. Contoh: X 1 + 6X 2 10 Berubah Menjadi X 1 + 6X 2 S 2 = 10 S 2 0, merupakan variabel surplus. Ruas kanan bertanda negatif diubah menjadi positif dengan mengalikan kedua ruas dengan ( 1) Arah ketidaksamaan dapat berubah jika kedua ruas dikalikan ( 1) 6 6623 - Taufiqurrahman 3
Merubah Ke Bentuk Standar 2. Variabel Jika variable X j tidak terbatas dalam tanda, dapat dinyatakan sebagai dua variable non negatif dengan menggunakan subsitusi. X j = X j X j ; dimana : X j dan X j 0 Subsitusi dilakukan pada seluruh fungsi kendala dan fungsi tujuan. 3. Fungsi Tujuan Bentuk maksimasi = nilai negatif dari bentuk minimasi. Berlaku juga untuk sebaliknya. 7 Penyelesaian Simpleks Metode simpleks: merupakan prosedur aljabar yang bersifat iteratif yang bergerak dengan mengikuti algoritma tertentu Tahapan prosedur: 1. Inisialisasi: mulai dari suatu titik ekstrem (0,0) Identifikasi ruang solusi dengan cara merubah sebanyak: (n m = kolom baris) variable, sehingga memiliki nilai nol. Variabel bernilai nol variable non basis, Variabel bukan bernilai nol variable basis. 2. Iteratif: bergerak menuju titik ekstrem terdekat yang lebih baik, dan ulangi untuk titik ekstrim lain. 3. Berhenti: jika telah sampai pada titik ekstrim terbaik (titik optimum). 8 6623 - Taufiqurrahman 4
Tabel Simplex Basic Z X 1 X 2 X 3 X n S 1 S 2 S n RHS Z 1 -C 1 -C 2 -C 3 -C n 0 0 0 S 1 0 a 11 a 12 a 13 a 1n 1 0 0 b 1 S 2 0 a 21 a 22 a 23 a 2n 0 1 0 b 2 S m 0 a m1 a m2 a m3 a mn 0 0 1 b n Main Body Identity 9 Tabel Simplex Main Body Bidang yang berisi koefisien teknologi & kendala yang ada Identity Bidang yang berisi koefisien-koefisien dari variabel slack atau variabel artificial Basic Kolom yang berisi variabel basis yang diambil dari variabel slack/artificial pada saat iterasi pertama. Variabel-variabel ini secara bertahap akan diganti oleh variabel bukan basis pada iterasi berikutnya 10 6623 - Taufiqurrahman 5
Algoritma Simpleks 1. Ubah fungsi tujuan ke dalam bentuk implisit. 2. Masukkan semua nilai ke dalam tabel simplex. 3. Tentukan kolom kunci (variable keputusan) yang masuk sebagai variable basis (entering variable). Kolom kunci adalah nilai Z j dengan nilai negatif terbesar (untuk maksimasi). 4. Tentukan baris kunci: untuk menentukan variable yang akan keluar dari baris kunci (leaving variable). Kriteria: Nilai positif terkecil dari: nilai kanan/nilai pada kolom kunci. Angka kunci : nilai pada perpotongan baris kunci dan kolom kunci 11 Algoritma Simplex 5. Susun tabel simpleks baru, untuk menentukan solusi yang baru gunakan metode (Elementary Row Operation, Gauss Jordan Elimination), dengan cara: Ubah nilai pada baris kunci sehingga EV memiliki nilai 0 dan 1 pada baris lainnya. Nilai baris kunci baru = nilai baris kunci yang lama dibagi angka kunci 6. Ubah nilai pada baris selain baris kunci Nilai baris baru = nilai baris lama dikurangi dengan hasil perkalian angka pada kolom kunci dengan baris kunci yang baru 7. Ulangi langkah diatas sampai tidak terdapat nilai negatif pada baris Z. Iterasi berhenti jika tabel sudah optimal, jika: semua nilai pada baris Z bernilai positif ataunol (untuk maksimasi) bernilai negatif atau nol (untuk minimasi) 12 6623 - Taufiqurrahman 6
Ketentuan Metode Simplex 1. Nilai kanan (NK/RHS) fungsi tujuan harus nol (0). 2. Nilai kanan (NK/RHS) fungsi kendala harus positif. Apabila negatif, nilai tersebut harus dikalikan ( 1). 3. Fungsi kendala dengan tanda harus diubah ke bentuk = dengan menambahkan variabel slack/surplus. Variabel slack/surplus disebut juga variabel dasar. 4. Fungsi kendala dengan tanda diubah ke bentuk dengan cara mengalikan dengan ( 1), lalu diubah ke bentuk persamaan dengan ditambahkan variabel slack. Kemudian karena RHS-nya negatif, dikalikan lagi dengan ( 1) dan ditambah artificial variable (M). 5. Fungsi kendala dengan tanda = harus ditambah artificial variable (M). 13 Contoh #5 1 Fungsi tujuan: Maksimalkan Z = 3x 1 + 5x 2 Fungsi Kendala: 1) 2x 1 8 2) 3x 2 15 3) 6x 1 + 5x 2 30 14 6623 - Taufiqurrahman 7
Penyelesaian Simplex (Langkah 1) 1. Mengubah fungsi tujuan dan fungsi kendala (lihat ketentuan metode simplex). Fungsi tujuan: Z = 3x 1 + 5x 2 Z 3x 1 5x 2 = 0 Fungsi kendala: 1) 2x 1 8 2x 1 + s 1 = 8 2) 3x 2 15 3x 2 + s 2 = 15 3) 6x 1 + 5x 2 30 6x 1 + 5x 2 + s 3 = 30 Catatan: s 1, s 2, dan s 3 adalah variabel slack. 15 Penyelesaian Simplex (Langkah 2) 2. Menyusun persamaan-persamaan ke dalam tabel simplex. Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 5 0 0 0 0 s 1 0 2 0 1 0 0 8 s 2 0 0 3 0 1 0 15 s 3 0 6 5 0 0 1 30 16 6623 - Taufiqurrahman 8
Penyelesaian Simplex (Langkah 3) 3. Memilih kolom kunci (yaitu kolom yang mempunyai nilai pada baris Z (fungsi tujuan) yang bernilai negatif ( ) dengan angka terbesar). Nilai negatif terbesar Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 5 0 0 0 0 s 1 0 2 0 1 0 0 8 s 2 0 0 3 0 1 0 15 s 3 0 6 5 0 0 1 30 17 Penyelesaian Simplex (Langkah 4) 4. Memilih baris kunci (yaitu baris yang mempunyai nilai index terkecil). Perhitungan index adalah sbb. : Index terkecil Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 5 0 0 0 0 s 1 0 2 0 1 0 0 8 s 2 0 0 3 0 1 0 15 5 s 3 0 6 5 0 0 1 30 6 Pada langkah 5, S 2 akan Angka kunci Koefisien angka kolom kunci (KAAK) berubah menjadi X 2 18 6623 - Taufiqurrahman 9
Penyelesaian Simplex (Langkah 5) 5. Mengubah nilai-nilai baris kunci (dengan cara membaginya dengan angka kunci). Angka kunci merupakan nilai yang posisinya berada pada perpotongan antara kolom kunci dengan baris kunci Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 5 0 0 0 0 s 1 0 2 0 1 0 0 8 x 2 0 0 1 0 1/3 0 5 5 s 3 0 6 5 0 0 1 30 6 19 Penyelesaian Simplex (Langkah 6) 6. Membuat baris baru dengan mengubah nilai-nilai baris (selain baris kunci) sehingga nilai-nilai kolom kunci = 0, dengan mengikuti perhitungan sbb. : NBBK = Nilai baris baru kunci Baris Z Baris lama [ 3 5 0 0 0 0 ] NBBK 5 [ 0 1 0 1/3 0 5 ] Baris baru 3 0 0 5/3 0 25 20 6623 - Taufiqurrahman 10
Penyelesaian Simplex (Langkah 6) Baris s 1 Baris lama [ 2 0 1 0 0 8 ] NBBK 0 [ 0 1 0 1/3 0 5 ] Baris baru 2 0 1 0 0 8 Baris s 3 Baris lama [ 6 5 0 0 1 30 ] NBBK 5 [ 0 1 0 1/3 0 5 ] Baris baru 6 0 0 5/3 1 5 21 Penyelesaian Simplex (Langkah 6) Masukkan nilai baris baru Z, s 1, dan s 3 sehingga tabel menjadi seperti berikut: ke dalam tabel, Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 0 0 5/3 0 25 s 1 0 2 0 1 0 0 8 x 2 0 0 1 0 1/3 0 5 s 3 0 6 0 0 5/3 1 5 22 6623 - Taufiqurrahman 11
Penyelesaian Simplex (Langkah 7) 7. Melanjutkan perbaikan-perbaikan (langkah 3-6) sampai baris Z tidak ada nilai negatif. Hasil dari langkah 3 dan langkah 4 : Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 3 0 0 5/3 0 25 s 1 0 2 0 1 0 0 8 4 x 2 0 0 1 0 1/3 0 5 s 3 0 6 0 0 5/3 1 5 5/6 23 Penyelesaian Simplex (Langkah 7) Hasil dari langkah 5 dan langkah 6 : Var. Dsr Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 0 0 0 5/6 1/2 27½ Z max s 1 0 0 0 1 5/9 1/3 6⅓ x 2 0 0 1 0 1/3 0 5 x 1 0 1 0 0 5/18 1/6 5/6 Karena nilai Z sudah tidak ada yang ( ), maka sudah dapat diperoleh hasil solusi optimum, yaitu: x 1 = 5/6 ; x 2 = 5 ; Z max = 27½ 24 6623 - Taufiqurrahman 12
Penyimpangan Bentuk Standar (Kendala =) Fungsi kendala dengan tanda (=) Ditambahkan variabel buatan (M) pada fungsi tujuan Contoh : Fungsi Kendala: 1) 2x 1 8 2x 1 + s 1 = 8 2) 3x 2 15 3x 2 + s 2 = 15 3) 6x 1 + 5x 2 = 30 6x 1 + 5x 2 + s 3 = 30 Fungsi Tujuan: Z = 3x 1 + 5x 2 Z 3x 1 + 5x 2 + Ms 3 = 30 25 Langkah Solusi Kendala (=)... 1 Nilai setiap variabel dasar (s 3 ) harus sebesar 0, sehingga fungsi tujuan harus dikurangi dengan M dan dikalikan dengan baris batasan yang bersangkutan (kendala 3). Nilai baris Z sebagai berikut : Baris Z [ 1 3 5 0 0 M 0 ] M [ 0 6 5 0 0 1 30 ] 1 ( 6M 3) ( 5M 5) 0 0 0 ( 30M) 26 6623 - Taufiqurrahman 13
Langkah Solusi Kendala (=)... 2 Iterasi 0: VD Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 ( 6M 3) ( 5M 5) 0 0 0 ( 30M) s 1 0 2 0 1 0 0 8 4 s 2 0 0 3 0 1 0 15 s 3 0 6 5 0 0 1 30 5 VD Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 0 ( 5M 5) (3M+3/2) 0 0 ( 6M+12) x 1 0 1 0 1/2 0 0 4 s 2 0 0 3 0 1 0 15 5 s 3 0 0 5 0 0 1 6 6/5 27 Langkah Solusi Kendala (=)... 3 Iterasi 1: VD Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 0 0 3/2 0 M+1 18 x 1 0 1 0 1/2 0 0 4 8 s 2 0 0 0 9/5 1 3/5 19/3 5/27 x 2 0 0 1 3/5 0 1/5 6/5 2 VD Z x 1 x 2 s 1 s 2 s 3 NK Index Z 1 0 0 0 5/6 M+12 27 1/2 Z max x 1 0 1 0 0 5/18 1/6 5/6 x 1 s 1 0 0 0 1 5/9 1/3 6 1/3 x 2 0 0 1 0 1/3 0 5 x 2 28 6623 - Taufiqurrahman 14
Langkah Solusi Kendala (=)... 4 Jadi solusi optimum dari permasalah adalah: x 1 = 5/6 x 2 = 5 Z max = 27 1/2 29 Penyimpangan Bentuk Standar (Fungsi Tujuan Meminimalkan) Fungsi tujuan : Minimasi Soal minimisasi harus diubah menjadi maksimisasi dengan cara mengganti tanda positif dan negatif pada fungsi tujuan. Contoh : Fungsi Tujuan: Minimumkan Z = 3x 1 + 5x 2 Fungsi Kendala: 1) 2x 1 = 8 2) 3x 2 15 3) 6x 1 + 5x 2 30 30 6623 - Taufiqurrahman 15
Langkah Solusi Fungsi Tujuan Meminimalkan.. 1 Fungsi kendala: 1) 2x 1 = 8 2x 1 + s 1 = 8 2) 3x 2 15 3x 2 + s 2 = 15 3) 6x 1 + 5x 2 30 6x 1 + 5x 2 s 3 + s 4 = 30 Catatan: s 1, s 2, dan s 4 adalah variabel slack, sedangkan s 3 adalah variabel surplus. Fungsi tujuan menjadi: Maksimumkan ( Z) = 3x 1 5x 2 Ms 1 Ms 4 menjadi fungsi implisit Z + 3x 1 + 5x 2 + Ms 1 + Ms 4 = 0 31 Langkah Solusi Fungsi Tujuan Meminimalkan.. 2 Nilai setiap variabel dasar (s 1 dan s 4 ) harus = 0, maka: Baris Z [ 1 3 5 M 0 0 M 0 ] M [ 0 2 0 1 0 0 0 8 ] M [ 0 6 5 0 0 1 1 30 ] 1 ( 8M+3) ( 5M+5) 0 0 M 0 ( 38M) 32 6623 - Taufiqurrahman 16
Langkah Solusi Fungsi Tujuan Meminimalkan.. 3 Iterasi 0: VD Z x 1 x 2 s 1 s 2 s 3 s 4 NK Index Z 1 ( 8M+3) ( 5M+5) 0 0 M 0 ( 38M) s 1 0 2 0 1 0 0 0 8 4 s 2 0 0 3 0 1 0 0 15 s 3 0 6 5 0 0 1 1 30 5 VD Z x 1 x 2 s 1 s 2 s 3 s 4 NK Index Z 1 3 ( 5M+5) (4M 3/2) 0 M 0 ( 6M 12) x 1 0 1 0 ½ 0 0 0 4 s 2 0 0 3 0 1 0 0 15 5 s 3 0 0 5 3 0 1 1 6 6/5 33 Langkah Solusi Fungsi Tujuan Meminimalkan.. 5 Iterasi 0: VD Z x 1 x 2 s 1 s 2 s 3 s 4 NK Index Z 1 0 0 (M+3/2) 0 1 M+1 ( 18) Z min x 1 0 1 0 1/2 0 0 0 4 x 1 s 2 0 0 1 9/5 1 3/5 3/5 5 2/5 x 2 0 0 1 3/5 0 1/5 1/5 6/5 x 2 Karena ( Z) = ( 18), maka Z = 18 Penyelesaian telah mencapai solusi optimum: x 1 = 4 ; x 2 = 6/5 ; Z min = 18 34 6623 - Taufiqurrahman 17
Tugas Buat menjadi 3 kelompok. (Di absen ada 39 org, jadi maksimal tiap kelompok berjumlah 13 org). Soal lihat di hybrid learning atau di blog: http://taufiqurrahman.blog.esaunggul.ac.id Jawaban dibuat dalam power point dan dikirm ke email: taufiqur.rahman@esaunggul.ac.id dan di cc. ke: taufiq150778@gmail.com Waktu pengiriman, maksimal 1 hari sebelum pertemuan ke-7 (tgl. 26 Maret 2012), pkl. 16.00wib. 35 36 6623 - Taufiqurrahman 18