Oleh : Hartrisari H. Tahun 1947 George Dantzig Memecahkan masalah programa linier yang kompleks (QSB+, STORM) Memecahkan persoalan-persoalan Programa linier dengan iterasi yaitu mengulangi langkahlangkah perhitungan yang sama dalam rangka mendapatkan hasil yang optimum ALGORITMA solusi awal iterasi perhitungan uji optimalitas T optimal ? Y selesai # Dasar metoda simplex geometri dan aljabar # Persiapan-persiapan sebelum menggunakan metoda simplex BENTUK STANDAR LP Kendala-kendala pertidaksamaan ( / ) harus dikonversi ke dalam bentuk persamaan yang ekivalen. ~ menambahkan var. slack pada sisi kiri pertidaksamaan = Mis : x1 + 2x2 6 x1 + 2x2 + S1 = 6 ; S1 0 S1 ~ var. slack = ~ mengurangkan dengan var. surplus (sisi kiri > sisi kanan) Mis : 3x1 + 2x2 – 3x3 5 3x1 + 2x2 – 3x3 – S2 = 5; S2 0 S2 var. surplus Sisi kanan suatu persamaan yang bernilai (-) dapat selalu dibuat non negatif dengan cara mengalikan ke 2 sisi persamaan dengan -1 mis : 2x1 3 x 2 7 x 3 5 x 1 2x1 3x 2 7x 3 5 Mengalikan pertidaksamaan dengan –1 arah pertidaksamaan berubah mis : *) 2 4 x 1 2 4 *) 2x1 x 2 5 x 1 2 x1 x 2 5 Fungsi tujuan dapat berbentuk max./min. (tergantung kebutuhan ~ max/min) max. Z = 5x1 + 2x2 + 3x3 min. (-Z) = -5x1 –2x2 –3x3 DASAR METODE SIMPLEX ~ Solusi grafik * daerah yang memenuhi “constraints” * mencari solusi optimal titik ekstrim Secara tidak sadar ~ melakukan iterasi perhitungan pada titik-titik ekstrim mis : max. Z = 3xE + 2xI + OS1 + OS2 + OS3 + OS4 ~ mengapa ada S1 s/d S4 pada fungsi tujuan ?? Kendala : xE + 2xI 2xE + xI -xE xI + S1 =6 + S2 xI xE, xI, S1, S2, S3, S4 0 =8 + S3 =1 + S4 =2 XI 5 xE + 2x1 + S1 = 6 9 7 3 5 3 E D F C 4 6 1 A 1 3 B 5 7 9 1 2 ~ Cara mencari nilai max dari titik-titik ekstrim (A, B, C, D, E, F) ~ Pada garis kendala ~ nilai var. slack = 0 Iterasi xI 4 3 E D 1 F C 5 6 A 2 B Titik ekstrim var. = xE var. tidak A xE, xI S1, S2, S3, S4 B S2, xI S1, xE, S3, S4 C S2, S1 xI, xE, S3, S4 D S4, S1 xI, xE, S3, S2 E S4, S3 xI, xE, S1, S2 F xE, S3 xI, S4, S1, S2 KESIMPULAN ? KESIMPULAN untuk titik ekstrim mengandung 2 var. bernilai (var. ) 4 pers. kendala 6 variabel (m) (n; m n) n–m=6–4=2 untuk titik ekstrim yang berhubungan (A-B, A-F, B-C, C-D, D-E, E-F) hanya berbeda pada 1 variabel Iterasi perhitungan ~ mempertukarkan var. dengan var tidak mis : dari A B var. var tidak A xE, xI S1, S2, S3, S4 B S2, xI S1, xE, S3, S4 var. : VAR. NON BASIC var tidak : VAR BASIC Simplex menukar var.non Basic dengan var. Basic ALJABAR TAHAPAN METODA SIMPLEX 1. Membuat persoalan bentuk standar LP. a) mengubah fungsi tujuan menjadi fungsi implisit b) mengubah fungsi batasan menjadi persamaan dengan menambahkan var. slack c) menambahkan var. slack dalam fungsi dalam fungsi tujuan 2. Dari bentuk standar menentukan solusi awal dengan menetapkan/ memilih var. non basic sebagai variasi bernilai 0. ingat n – m 3. 4. Menyusun tabel simplex Memilih variasi non basic yang harus dipertukarkan menjadi var. basic : a) memilih kolom pivot ~ nilai minimal terbesar pada fungsi tujuan bila fungsi tujuan maksimal. b) mencari index tiap baris dengan cara membagi nilai pada kolom solusi dengan kolom pivot ~ tidak termasuk baris tujuan c) baris pivot nilai positif terkecil. Pivot = perpotongan kolom pivot dan baris pivot. d) Menghitung baris pivot baru dengan cara membagi semua nilai pada baris pivot lama dengan nilai pivot. e) Menghitung nilai baris-baris lainnya. cara : Baris baru = baris lama – (koef. pada kolom pivot) * Nilai Baru Baris Pivot ~ nilai pada kolom pivot = 0 kenapa ? 5) 6) 7) Susun tabel simplex baru Evaluasi apakah pada fungsi tujuan masih ada nilai (-) Jika ya tidak ulangi tahapan 4 s/d 6 solusi optimal Maksinumkan 3x1 + 5x2 Kendala : x1 2x2 3x1 + 2xx x1, x2 4 12 18 0 Jawab : Fungsi tujuan ~ implisit ~ Bentuk standar L.P batasan ~ persamaan (+var. slack) var. slack ~ fungsi tujuan a) Z - 3x1 - 5x2 = 0 ~ maksimumkan b) x1 + S1 2x2 3x1 + 2x2 + S2 + S3 =4 = 12 = 18 x1, x2, S1, S2, S3 0 Ada xi ada Si ~ seragamkan S 1 = x3 S 2 = x4 S 3 = x5 OPTION c) Z - 3x1 -5x2 - 0x3 - 0x4 - 0x5 = 0 Kendala : x1 + x3 2x2 3x1 + 2x2 + x4 + x5 =4 = 12 = 18 x1, x2, x3, x4, x5 0 ~ menentukan solusi awal memilih var (var. non Basic) Ingat n - m n = variabel ~ 5 m = persamaan ~ 3 5 - 3 = 2 var. Pemilihan ~ 5 var. (x1, x2, x3, x4, x5) 2 var = x1, x2 ALASAN ? Var. non Basic ~ menyusun tabel simplex Basic Z x1 x2 x3 x4 x5 Solusi Z 1 -3 -5 0 0 0 0 X3 X4 X5 0 0 0 1 0 3 0 2 2 1 0 0 0 1 0 0 0 1 4 12 18 memilih var. non basic yang akan ditukar a) kolom pivot ~ nilai(-) terbesar pada fungsi tujuan (Z) kolom x2 (nilai (-) terbesar = -5) b) index tiap baris ~ solusi/kolom pivot (Z tidak deperhitungkan) 4/0 = ? 12/2 = 6 18/2 = 9 c) baris pivot ~ nilai terkecil baris 2 x4 pivot = 2 (perpotongan) ARTI : pada tabel berikutnya / iterasi berikutnya x2 menjadi var. basic x4 menjadi var. non basic d) Menghitung baris pivot baru ~ membagi semua nilai pada baris pivot dengan pivot baris pivot lama : 0 2 0 1 0 12 :2 baris pivot baru : 0 1 0 ½ 0 6 e) Menghitung nilai baris lainnya * baris lama - (koefisien kolom pivot) * nilai baru baris pivot * nilai pada kolom pivot = 0 Z : -3 Pivot baru : 0 -3 -5 1 1 X3 : 1 Pivot baru : 0 1 0 1 0 X5 : 3 Pivot baru : 0 3 0 0 0 0 1/2 1/2 1 0 1 2 1 0 0 1/2 0 0 0 0 0 1/2 -1 0 0 0 0 6 6 0 0 0 1 0 1 (-5) 4 6 4 (0) 18 6 6 (2) Susun tabel simplex baru Basic Z x1 x2 x3 x4 x5 Solusi Z 1 -3 -5 0 5/2 0 30 X3 X2 X5 0 0 0 1 0 3 0 2 2 1 0 0 0 1/2 -1 0 0 1 4 6 6 Evaluasi apakah pada fungsi tujuan masih ada nilai (-) ? ~ masih pada kolom x1, nilai = - 3 ARTINYA ? Ulangi langkah perhitungan • kolom pivot = kolom x4 (nilai – 3) • index tiap baris 4/1 = 4 6/0 = ? 6/3 = 2 • baris pivot ~ baris 3 x5 pivot = 3 x5 tukar dengan x1 • baris pivot lama : 3 0 0 -1 1 6 :3 baris pivot baru 1 0 0 -1/3 1/3 2 • menghitung nilai-nilai baris lainnya Z: p.b : x3 : p.b : x2 : p.b : -3 1 0 0 0 0 5/2 -1/3 0 1/3 0 0 0 3/2 1 1 1 0 0 1 0 0 -1/3 0 1/3 0 0 1 1/3 -1/3 0 1 1 0 0 0 ½ -1/3 0 1/3 0 1 0 1/2 0 Tabel baru 30 2 (-3) 36 4 2 (1) 2 6 2 (0) 6 S1 S2 S3 Basic Z x1 x2 x3 x4 x5 Solusi Z 1 -3 -5 0 3/2 1 36 X3 X2 X1 0 0 0 0 0 1 0 2 2 1 0 0 1/3 1/2 - 1/3 -1/3 0 1/3 2 6 2 Evaluasi pada Z tidak ada nilai (-) # optimal # x1 = 2 x2 = 6 Z = 36 Maksinumkan 8x1 + 4x2 Kendala : x1 + x x 5 x1 + x x x1, x2 18 15 0 Jawab : Fungsi tujuan ~ implisit ~ Bentuk standar L.P batasan ~ persamaan (+var. slack) var. slack ~ fungsi tujuan a) Z - 8x1 - 4x2 = 0 ~ maksimumkan b) x1 + 2x2 5x1 + x2 + S3 = 10 + S3 = 15 x1, x2, S1, S2, S3 0 Ada xi ada Si ~ seragamkan S 1 = x3 S 2 = x4 OPTION c) Z - 8x1 -4x2 - 0x3 - sx2 = 0 Kendala : x1 + x 2 + s1 5x1 + x2 + s2 x1, x2, s1 s2 0 ~ menentukan solusi awal = 10 = 15 memilih var (var. non Basic) Ingat n - m n = variabel ~ 5 m = persamaan ~ 3 5 - 3 = 2 var. Pemilihan ~ 5 var. (x1, x2, x3, x4, x5) 2 var = x1, x2 ALASAN ? Var. non Basic ~ menyusun tabel simplex Basic Z x1 x2 x3 x4 x5 Solusi Z 1 -3 -5 0 0 0 0 X3 X4 X5 0 0 0 1 0 3 0 2 2 1 0 0 0 1 0 0 0 1 4 12 18 memilih var. non basic yang akan ditukar a) kolom pivot ~ nilai(-) terbesar pada fungsi tujuan (Z) kolom x2 (nilai (-) terbesar = -5) b) index tiap baris ~ solusi/kolom pivot (Z tidak deperhitungkan) 4/0 = ? 12/2 = 6 18/2 = 9 c) baris pivot ~ nilai terkecil baris 2 x4 pivot = 2 (perpotongan) ARTI : pada tabel berikutnya / iterasi berikutnya x2 menjadi var. basic x4 menjadi var. non basic d) Menghitung baris pivot baru ~ membagi semua nilai pada baris pivot dengan pivot baris pivot lama : 0 2 0 1 0 12 :2 baris pivot baru : 0 1 0 ½ 0 6 e) Menghitung nilai baris lainnya * baris lama - (koefisien kolom pivot) * nilai baru baris pivot * nilai pada kolom pivot = 0 Z : -3 Pivot baru : 0 -3 -5 1 1 X3 : 1 Pivot baru : 0 1 0 1 0 X5 : 3 Pivot baru : 0 3 0 0 0 0 1/2 1/2 1 0 1 2 1 0 0 1/2 0 0 0 0 0 1/2 -1 0 0 0 0 6 6 0 0 0 1 0 1 (-5) 4 6 4 (0) 18 6 6 (2)