Penyelidikan Operasi Pemrograman Linier
Outline Pemrograman Linier Bentuk standar Penyelesaian Grafis Penyelesaian dengan Syarat Keoptimal Kuhn-Tucker Penyelesaian Matriks Penyelesaian dengan Tabel Eliminasi (Simpleks) Pemrograman Linier Bentuk Tidak Standar (Metode Dua Tahap) Analisis Sensitivitas
Pemrograman Linier Bentuk Standar Fungsi Tujuan Semua Kendala Fungsi linier terhadap variabel putusan Bentuk Standar Program Linier adalah Max ๐ 1 ๐ฅ 1 + ๐ 2 ๐ฅ 2 +โฆ+ ๐ ๐ ๐ฅ ๐ DS ๐ 11 ๐ฅ 1 + ๐ 12 ๐ฅ 2 +โฆ+ ๐ 1๐ ๐ฅ ๐ โค ๐ 1 ๐ 21 ๐ฅ 1 + ๐ 22 ๐ฅ 2 +โฆ+ ๐ 2๐ ๐ฅ ๐ โค ๐ 2 ๐ ๐1 ๐ฅ 1 + ๐ ๐2 ๐ฅ 2 +โฆ+ ๐ ๐๐ ๐ฅ ๐ โค ๐ ๐ ๐ฅ 1 ๐ฅ 2 , ๐ฅ 3 , โฆ, ๐ฅ ๐ โฅ0
Pemrograman Linier Bentuk Standar ๐ฅ= ๐ฅ 1 ๐ฅ 2 โฎ ๐ฅ ๐ ๐= ๐ 1 ๐ 2 โฆ ๐ ๐ ๐ด= ๐ 11 ๐ 12 โฆ โฆ ๐ ๐1 ๐ 21 ๐ 22 โฆ โฆ ๐ ๐2 โฆ โฆ โฆ โฆ โฆ โฆ โฆ โฆ โฆ โฆ ๐ 1๐ ๐ 2๐ โฆ โฆ ๐ ๐๐ ๐= ๐ 1 ๐ 2 โฎ ๐ ๐ Didapat, Max ๐๐ฅ S.T ๐ด๐ฅ โค๐ ๐ฅโฅ0
Pemrograman Linier Bentuk Standar Contoh Pabrik kayu menghasilkan 2 produk pintu dan jendela dengan proses sebagai berikut : Spesifikasi : Terdapat 4 mesin di unit I Terdapat 3 mesin di unit II Terdapat 3 mesin di unit III
Pemrograman Linier Bentuk Standar Mesin Tiap mesin di unit I dpt menghasilkan 1 pintu tiap 3 jam Tiap mesin di unit II dpt menghasilkan 1 jendela tiap 2 jam Tiap mesin di unit III dpt menghasilkan 1 pintu tiap 2 jam dan 1 jendela tiap 1 jam Tiap hari jam kerja yang tersedia adalah 9 jam Bahan Baku Bahan baku kayu tersedia dalam jumlah yang berlebih Keuntungan Keuntungan tiap pintu = Rp 20.000 Keuntungan tiap jendela = Rp 15.000 Buat Formulasi Program Linier dalam memanfaatkan jam-mesin yang tersedia supaya didapat keuntungan yang maksimum!
Pemrograman Linier Bentuk Standar Penyelesaian Dalam Notasi Matrix ๐ฅ 1 : Banyaknya pintu yang diproduksi ๐ฅ 2 : Banyaknya jendela yang diproduksi ๐ง : Keuntungan Formulasi Program Linier : Max ๐ง=20 ๐ฅ 1 +15 ๐ฅ 2 S.T 3 ๐ฅ 1 โค4ร9 2 ๐ฅ 2 โค3ร9 2 ๐ฅ 1 + ๐ฅ 2 โค3ร9 ๐ฅ 1 , ๐ฅ 2 โฅ0 ๐= 20 15 ๐ด= 3 0 0 2 2 1 ๐= 36 27 27
Penyelesaian Grafis Persoalan pemrograman linier dimensi dua semacam ini dapat diselesaikan secara grafis sebagai berikut. Kendala-kendala pada persoalan ini dapat digambarkan pada bidang kartesian dua dimensi seperti pada gambar di samping ini. Daerah yang diarsir adalah himpunan titik-titik yang memenuhi semua kendala atau biasa disebut daerah kelayakan. Terlihat bahwa daerah kelayakan selalu berbentuk polyhedral. Karena fungsi tujuan adalah linier maka konturnya berupa garis lurus seperti terlihat pada gambar. Dari gambar dapat disimpulkan bahwa titik optimal selalu pada ujung-ujung polyhedral yang dibentuk oleh fungsi-fungsi kendala. Karena itu, ujung-ujung polyhedral ini disebut sebagai titik-titik ekstrim. ๐ฅ 2 6 3 4 13 1 2 0 13 1 2 Kontur f Daerah Kelayakan ๐ป๐ 12 3 0 0 ๐ฅ 1 12 0
Penyelesaian Grafis Titik โ titik ekstrim dari pemrograman linier tersebut adalah : 0 0 , 12 0 , 0 13 1 2 , 12 3 , 6 3 4 13 1 2 Semua titik ekstrim adalah kandidat penyelesaian dari program linier Dari arah gradient dan kontur f terlihat bahwa titik maksimumnya adalah 6 3 4 13 1 2 , sehingga diperoleh ๐ฅ โ = 6 3 4 13 1 2 z = 6 3 4 โ20000 + 13 1 2 โ20000 = 337500
Penyelesaian Dengan Syarat Keoptimalan Kuhn-Tucker Ubah dulu kedalam bentuk umum persoalan optimisasi: Max 20 ๐ฅ 1 +15 ๐ฅ 2 Min โ20 ๐ฅ 1 โ15 ๐ฅ 2 :๐(๐ฅ) ds 3 ๐ฅ 1 โ36โค0 : ๐ 1 (๐ฅ) 2 ๐ฅ 2 โ27โค0 :๐ 2 (๐ฅ) 2 ๐ฅ 1 + ๐ฅ 2 โ27โค0 :๐ 3 (๐ฅ) โ ๐ฅ 1 โค0 : ๐ 4 (๐ฅ) โ ๐ฅ 2 โค0 : ๐ 5 (๐ฅ) Syarat keoptimalan Kuhn-Tucker adalah: gradientโฆ Kendalaโฆ. Complimentary slacknessโฆ. Pengali Lagrangeโฆ. Lengkapi!
Penyelesaian Dengan Syarat Keoptimalan Kuhn-Tucker Titik yang memenuhi syarat-syarat tersebut dapat dicari secara geometris yaitu sebagai titik yang memiliki resultan vector-vector gradient fungsi dan kendala-kendala berpengaruh adalah nol (saling meniadakan) untuk pengali Lagrange bernilai positif (karena semua kendala dalam bentuk pertidaksamaan). Dari gambar terlihat bahwa yang memenuhi adalah titik ๐ป๐ ๐ป๐ ๐ป g 3 6 3 4 13 1 2 , sehingga diperoleh ๐ฅ โ = 6 3 4 13 1 2 ๐ป๐ ๐ป g 1 ๐ป g 4 ๐ป๐ ๐ป g 5 ๐ป๐ ๐ป g 1 ๐ป g 5
Penyelesaian Matriks Pertidaksamaan diubah menjadi Persamaan dengan menambahkan SLACK : ๐ฅ 1 + ๐ฅ 2 โค3 ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 =3 ๐ฅ 1 , ๐ฅ 2 โฅ0 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 โฅ0 Max ๐ถ 1 ๐ฅ 1 + ๐ถ 2 ๐ฅ 2 +โฏโฏ+ ๐ถ ๐ ๐ฅ ๐ ds ๐ 11 ๐ฅ 1 + ๐ 12 ๐ฅ 2 +โฏโฏ+ ๐ 1๐ ๐ฅ ๐ โค ๐ 1 ๐ 21 ๐ฅ 1 + ๐ 22 ๐ฅ 2 +โฏโฏ+ ๐ 2๐ ๐ฅ ๐ โค ๐ 2 โฎ ๐ ๐1 ๐ฅ 1 + ๐ ๐2 ๐ฅ 2 +โฏโฏ+ ๐ ๐๐ ๐ฅ ๐ โค ๐ ๐ ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 ,โฆโฆ, ๐ฅ ๐ โฅ0 ๐ฅ 3 adalah slack
Penyelesaian Matriks Dengan menambahkan slack sebanyak kendala didapatkan : Max ๐ถ 1 ๐ฅ 1 + ๐ถ 2 ๐ฅ 2 +โฏโฏ+ ๐ถ ๐ ๐ฅ ๐ DS ๐ 11 ๐ฅ 1 + ๐ 12 ๐ฅ 2 +โฏโฏ+ ๐ 1๐ ๐ฅ ๐ + ๐ฅ ๐+1 = ๐ 1 ๐ 21 ๐ฅ 1 + ๐ 22 ๐ฅ 2 +โฏโฏ+ ๐ 2๐ ๐ฅ ๐ + ๐ฅ ๐+2 = ๐ 2 โฎ ๐ ๐1 ๐ฅ 1 + ๐ ๐2 ๐ฅ 2 +โฏโฏ+ ๐ ๐๐ ๐ฅ ๐ + ๐ฅ ๐+๐ = ๐ ๐ ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 ,โฆโฆ, ๐ฅ ๐ , ๐ฅ ๐+1 , ๐ฅ ๐+2 ,โฆโฆ, ๐ฅ ๐+๐ โฅ0
Penyelesaian Matriks Dalam bentuk Matrik didapatkan : Max ๐ถ โฒ ๐ฅโฒ S.T. ๐ด โฒ ๐ฅ โฒ =๐โฒ ๐ฅ โฒ โฅ0 Bentuk Kanonik Dimana, ๐ฅ= ๐ฅ ๐ฅ ๐ = ๐ฅ 1 . . ๐ฅ ๐ ๐ฅ ๐+1 . . ๐ฅ ๐+๐ ๐ดโฒ= ๐ดโฎ๐ผ ๐โฒ=๐ ๐ถโฒ= ๐ถโฎ0 = ๐ถ 1 ๐ถ 2 . . ๐ถ ๐ 0 0 . . 0
Penyelesaian Matriks Contoh : Nyatakan dalam bentuk kanonik : Max ๐=20 ๐ฅ 3 +15 ๐ฅ 2 DS 3 ๐ฅ 1 โค4ร9 2 ๐ฅ 2 โค3ร9 2 ๐ฅ 1 + ๐ฅ 2 โค3ร9 ๐ฅ 1 , ๐ฅ 2 โฅ0 Max ๐=20 ๐ฅ 1 +15 ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 +0 ๐ฅ 5 DS 3 ๐ฅ 1 + ๐ฅ 3 =4ร9 2 ๐ฅ 2 + ๐ฅ 4 =3ร9 2 ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 5 =3ร9 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 , ๐ฅ 5 โฅ0
Penyelesaian Matriks A = โฆ Max 20 15 0 0 0 ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 c = โฆ b = โฆ Max 20 15 0 0 0 ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 DS 3 0 1 0 0 0 2 0 1 0 2 1 0 0 1 ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 = 36 27 27 , ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 โฅ0
Penyelesaian Matriks ๐ฅ= ๐ด โ1 ๐ Sistem Persamaan Linier ditulis sebagai: ๐ด ๐ฅ = ๐ Agar memiliki penyelesaian tunggal, harus dipenuhi syarat : - banyaknya persamaan = banyaknya variabel - A harus memiliki rank penuh yang berarti memiliki invers Penyelesaiannya adalah : ๐ฅ= ๐ด โ1 ๐
Penyelesaian Matriks ๐ด= ๐ตโฎ๐ ๐ฅ= ๐ฅ ๐ต โฆ ๐ฅ ๐ , ๐ด๐ฅ=๐ Dalam program linier akan didapat sistem persamaan linier dengan banyaknya variabel selalu lebih banyak dari banyaknya persamaan. Akibatnya sistem tersebut akan punya banyak penyelesaian, yang salah satunya adalah penyelesaian dasar yang dapat dicari dengan memecah matriks A menjadi matriks B dan N: ๐ด= ๐ตโฎ๐ Dimana B adalah matrik bujur sangkar yang mempunyai invers ๐ฅ= ๐ฅ ๐ต โฆ ๐ฅ ๐ , ๐ด๐ฅ=๐
Penyelesaian Matriks ๐ต ๐ ๐ฅ ๐ต ๐ฅ ๐ =๐ ๐ต ๐ฅ ๐ +๐ ๐ฅ ๐ =๐ Berubah Menjadi ๐ต ๐ ๐ฅ ๐ต ๐ฅ ๐ =๐ ๐ต ๐ฅ ๐ +๐ ๐ฅ ๐ =๐ ๐ต โ1 ๐ต ๐ฅ ๐ต + ๐ต โ1 ๐ ๐ฅ ๐ = ๐ต โ1 ๐ ๐ผ ๐ฅ ๐ต + ๐ต โ1 ๐ ๐ฅ ๐ = ๐ต โ1 ๐ ร ๐ต โ1 ๐ฅ ๐ต = ๐ต โ1 ๐โ ๐ต โ1 ๐ ๐ฅ ๐
Penyelesaian Matriks Penyelesaian dasar didapat dengan memilih : ๐ฅ ๐ =0 Didapat : ๐ฅ ๐ต = ๐ต โ1 ๐ yang berarti : ๐ฅ= ๐ฅ ๐ต ๐ฅ ๐ = ๐ต โ1 ๐ 0 Adalah penyelesaian dasar dari sistem persamaan linier ๐ด๐ฅ=๐ ๐ฅ ๐ต disebut variabel dasar/basis ๐ฅ ๐ disebut variabel bukan dasar/nonbasis ๐ต disebut matrik dasar/basis ๐ disebut matrik bukan dasar/nonbasis Banyaknya penyelesaian dasar adalah sebanyak cara membentuk matriks B dari matriks A, yaitu memilih n dari n+m, sehingga jumlahnya banyak sekali!
Penyelesaian Matriks Contoh: Daerah kelayakannya adalah sebagai berikut: Max ๐ฅ 1 +2 ๐ฅ 2 S.T. ๐ฅ 1 + ๐ฅ 2 โค4 ๐ฅ 2 โค2 ๐ฅ 1 , ๐ฅ 2 โฅ0 (0,0) (0,2) (2,2) (4,0) Bentuk kanoniknya adalah Max ๐ฅ 1 +2 ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 S.T. ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 =4 ๐ฅ 2 + ๐ฅ 4 =2 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 โฅ0 Diperoleh titik-titik ekstrim sebagai berikut 0 0 , 0 2 , 2 2 , 4 0
Penyelesaian Matriks Penyelesaian dasarnya dapat dicari sbb : ๐ด= 1 1 1 0 0 1 0 1 , ๐= 4 2 , ๐ฅ= ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 Alternatif 1 : ๐ต= 1 1 0 1 ๐= 1 0 0 1 ๐ฅ ๐ต = ๐ฅ 1 ๐ฅ 2 ๐ฅ ๐ = ๐ฅ 3 ๐ฅ 4 ๐ฅ ๐ต = ๐ต โ1 ๐= 1 โ1 0 1 4 2 = 2 2 = ๐ฅ 1 ๐ฅ 2 (titik ekstrim ) Alternatif 2 : ๐ต= 1 1 0 0 (tidak memenuhi karena tidak memiliki invers) Maksimum ada 6 kemungkinan penyelesaian dasar. Mengapa?
Penyelesaian Matriks Alternatif 3 : ๐ต= 1 0 0 1 ๐= 1 1 1 0 ๐ฅ ๐ต = ๐ฅ 1 ๐ฅ 4 ๐ฅ ๐ = ๐ฅ 2 ๐ฅ 3 ๐ฅ 1 ๐ฅ 4 = 1 0 0 1 4 2 = 4 2 ๐ฅ 2 ๐ฅ 3 = 0 0 ๐ฅ 1 ๐ฅ 2 = 4 0 (titik ekstrim) Dan Seterusnyaโฆ.tambahkan 3 alternative yang lain Terlihat bahwa penyelesaian dasar adalah sama dengan titik ekstrim. Karena penyelesaian persoalan pemrograman adalah selalu pada titik ekstrim, penyelesaian tersebut dapat dicari dengan menentukan penyelesaian dasar dengan nilai fungsi tujuan maksimal
Penyelesaian Tabel Menyelesaikan program linier sama saja dengan mencari penyelesaian dasar dari suatu sistem persamaan linier, karenanya dapat dilakukan dengan menggunakan Eliminasi GAUSS. Untuk itu program linier tersebut dinyatakan dalam bentuk tabel sehingga memudahkan proses eliminasi Gauss. Tabel untuk menyelesaikan persoalan pemrograman linier pada dasarnya adalah tabel untuk mencari penyelesaian dasar dengan nilai fungsi tujuan yang maksimal. Caranya adalah dari satu penyelesaian dasar berpindah ke penyelesaian dasar lain dengan nilai fungsi tujuan yang lebih baik (lebih besar dalam kasus maksimisasi). Karena penyelesaian dasar selalu pada titik ekstrim yang berada pada ujung polyhedral daerah kelayakan, perpindahan tersebut adalah sepanjang simpleks dari polyhedral sehingga tabel dan metode penyelesaian ini disebut tabel simpleks dan metode simpleks
Penyelesaian Tabel ๐ต ๐ฅ ๐ต +๐ ๐ฅ ๐ =๐ Proses ini dimulai dari suatu penyelesaian dasar yang paling mudah dicari kemudian pada tiap iterasi berusaha mendapatkan penyelesaian dasar yang memiliki nilai tujuan (z) yang lebih baik dan seterusnya sampai tidak dapat menghasilkan yang lebih baik lagi. Pada saat itu iterasi dihentikan dan penyelesaian dasar yang terakhir adalah penyelesaian optimal yang dicari. Telah didapat bahwa : ๐ต ๐ฅ ๐ต +๐ ๐ฅ ๐ =๐ Atau ๐ผ ๐ฅ ๐ต + ๐ต โ1 ๐ ๐ฅ ๐ = ๐ต โ1 ๐ .......(1)
Penyelesaian Tabel ๐=๐ถ๐ฅ = ๐ถ ๐ต ๐ถ ๐ ๐ฅ ๐ต ๐ฅ ๐ ๐= ๐ถ ๐ต ๐ฅ ๐ต + ๐ถ ๐ ๐ฅ ๐ Untuk nilai tujuan digunakan persamaan, ๐=๐ถ๐ฅ = ๐ถ ๐ต ๐ถ ๐ ๐ฅ ๐ต ๐ฅ ๐ ๐= ๐ถ ๐ต ๐ฅ ๐ต + ๐ถ ๐ ๐ฅ ๐ =๐ถ ๐ต ๐ต โ1 ๐โ ๐ต โ1 ๐ ๐ฅ ๐ + ๐ถ ๐ ๐ฅ ๐ =๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ต ๐ต โ1 ๐ ๐ฅ ๐ + ๐ถ ๐ ๐ฅ ๐ =๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐+0 ๐ฅ ๐ต + ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ฅ ๐ =๐ถ ๐ต ๐ต โ1 ๐ โฆ (2) Bila ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ โฅ0, maka sebaiknya ๐ฅ ๐ tetap nonbasis yang bernilai nol, sehingga penyelesaian dasar yang sekarang tidak perlu diganti, yang berarti sudah optimal
Penyelesaian Tabel (2) ๐+0 ๐ฅ ๐ต + ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ฅ ๐ = ๐ถ ๐ต ๐ต โ1 ๐ Tabel Eliminasi Gauss untuk Program linier atau sering disebut Tabel Simpleks dibentuk dari system persamaan (1) dan (2), yaitu: (2) ๐+0 ๐ฅ ๐ต + ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ฅ ๐ = ๐ถ ๐ต ๐ต โ1 ๐ (1) ๐ฅ ๐ต + ๐ต โ1 ๐ ๐ฅ ๐ = ๐ต โ1 ๐ Program Linier Max ๐ถ ๐ต ๐ฅ ๐ต + ๐ถ ๐ ๐ฅ ๐ Max ๐ถ ๐ฅ D.S. ๐ต ๐ฅ ๐ต + ๐ ๐ =๐ D.S. ๐ด ๐ฅ =๐ ๐ฅ ๐ต , ๐ฅ ๐ โฅ0 ๐ฅ โฅ0
Penyelesaian Tabel z x ๐ต x N RK 1 ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ถ ๐ต ๐ต โ1 ๐ ๐ฅ B I Tabel yang diperoleh adalah sebagai berikut z x ๐ต x N RK 1 ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ถ ๐ต ๐ต โ1 ๐ ๐ฅ B I ๐ต โ1 ๐ ๐ต โ1 ๐ ๐ด= ๐ต ๐ , ๐ฅ= ๐ฅ ๐ต ๐ฅ ๐ , ๐ถ= ๐ถ ๐ต ๐ถ ๐
Penyelesaian Tabel max ๐ฅ 1 +2 ๐ฅ 2 ๐๐ 2 ๐ฅ 1 +3 ๐ฅ 2 โค18 โ2 ๐ฅ 1 + ๐ฅ 2 โค4 Contoh Soal 1 max ๐ฅ 1 +2 ๐ฅ 2 ๐๐ 2 ๐ฅ 1 +3 ๐ฅ 2 โค18 โ2 ๐ฅ 1 + ๐ฅ 2 โค4 ๐ฅ 1 , ๐ฅ 2 โฅ0 max ๐= ๐ฅ 1 +2 ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 ๐๐ 2 ๐ฅ 1 +3 ๐ฅ 2 + ๐ฅ 3 =18 โ2 ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 4 =4 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 โฅ0
Penyelesaian Tabel Tabel simpleks bila yang diambil sebagai basis adalah slack, sehingga B = I, CB = 0 adalah sebagai berikut: z x ๐ต x N RK 1 ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ = โ ๐ถ ๐ ๐ถ ๐ต ๐ต โ1 ๐ = 0 ๐ฅ B I ๐ต โ1 ๐ = N ๐ต โ1 ๐ = b Terlihat bahwa tabel simpleks dapat diisi langsung dari persoalan pemrograman linier yang akan diselesaikan tanpa melakukan perhitungan awal/inisialisasi
Penyelesaian Tabel Pembuatan Tabel Simpleks Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 Membentuk matriks Identitas Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 -2 2 3 18 4 Perhatikan bahwa: max ๐= ๐ฅ 1 +2 ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 ๐๐ 2 ๐ฅ 1 +3 ๐ฅ 2 + ๐ฅ 3 =18 โ2 ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 4 =4 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 โฅ0 ๐โ ๐ฅ 1 โ2 ๐ฅ 2 โ0 ๐ฅ 3 โ0 ๐ฅ 4 =0
Penyelesaian Tabel Pembuatan Tabel Simpleks Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 xN CBB-1N-CN CB Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 -2 2 3 18 4 B-1b=b xB B-1N=N B Karena CBB-1N-CN masih belum nonnegative, tabel ini belum optimal!
Penyelesaian Tabel Penggantian Variabel Basis z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 Mencari x dengan koefisien paling negatif agar nilai Z cepat menjadi maksimal z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 -2 2 3 18 4 Mencari nilai yang paling cepat menjadi 0 (diambil yang terkecil) 18 3 =6 4 1 =4 Artinya ๐ฅ 4 keluar dari basis dan ๐ฅ 2 masuk ke basis menggantikan ๐ฅ 4 (pivot/putar/tukar tempat antara ๐ฅ 2 dan ๐ฅ 4 ) karena banyaknya/tempat variabel basis terbatas
Penyelesaian Tabel Penggantian Variabel Basis. Bila ๐ฅ 2 adalah basis, maka kolom koesiennya harus berupa vector identitas. Harus 0 z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 -2 2 3 18 4 Penyelesaian saat ini adalah: ๐ฅ= 0 0 18 4 Harus 1
Penyelesaian Tabel Melakukan Operasi Baris: membuat kolom ๐ฅ 2 menjadi vektor identitas z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -1 -2 2 3 18 4 Operasi Baris ๐ 1 +2 ๐ 3 ๐ 2 + โ3 ๐ 3 Sudah bernilai 1 ๏ tidak perlu diubah *** ๐ ๐ = baris ke n
Penyelesaian Tabel Masih ada koefisien z yang negative, lanjutkan proses penggantian Variabel Basis ๐ฅ= 0 4 6 0 Penyelesaian saat ini: z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -5 2 8 -3 6 -2 4 Mencari nilai yang paling cepat menjadi 0 6 8 4 โ2 Nilai -2 tidak dipilih karena nilai RK ๐ฅ 2 akan semakin besar
Penyelesaian Tabel Melakukan Operasi Baris: ๐ฅ 1 masuk basis, ๐ฅ 3 keluar basis digantikan oleh ๐ฅ 1 . Kolom ๐ฅ 1 dibuat menjadi vector identitas Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -5 2 8 -3 6 -2 4 Operasi Baris ๐ 1 + 5 8 ๐ 2 1 8 ๐ 2 ๐ 3 + 1 4 ๐ 2
Penyelesaian Tabel Penyelesaian Optimal Z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 5 8 1 8 5 8 1 8 11 3 4 โ 3 8 3 4 1 4 11 2 ๐ฅ= 3 4 11 2 0 0 โ Sudah Optimal karena koefisien z adalah nonnegatif Membentuk matriks Identitas
Penyelesaian Tabel Pengecekan Keoptimalan Diketahui dari soal Cek nilai ๐ต โ1 det (๐ต) = 2 1 โ โ2 3 =8 ๐ต โ1 = 1 8 1 โ3 2 2 = 1 8 โ 3 8 1 4 1 4
Penyelesaian Tabel Pengecekan Keoptimalan Cek nilai ๐ ๐ ๐ ๐ = ๐ต โ1 ๐= 1 8 โ 3 8 1 4 1 4 18 4 = 3 4 11 2 Cek nilai ๐ ๐= ๐ถ ๐ ๐ต โ1 ๐= 1 2 3 4 11 2 =11 3 4
Penyelesaian Tabel Pengecekan Keoptimalan Cek nilai ๐ถ ๐ ๐ต โ1 ๐โ ๐ถ ๐ ๐ถ ๐ ๐ต โ1 ๐โ ๐ถ ๐ = 1 2 1 8 โ 3 8 1 4 1 4 1 0 0 1 โ 0 0 = 5 8 1 8 Cocok dengan angka-angka yang ada pada tabel simpleks Penyelesaian dari persoalan ini adalah ๐ฅ1 ๐ฅ2 = 3 4 11 2 , dengan z = 11 3 4 , dan semua kendala adalah mengikat/berpengaruh karena semua slack bernilai nol (๐ฅ3 = ๐ฅ4 = 0)
Penyelesaian Tabel Pengecekan Tabel Simpleks z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 ๐ถ ๐ ๐ต โ1 ๐โ ๐ถ ๐ z ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 5 8 1 8 11 3 4 โ 3 8 3 4 1 4 11 2 ๐ง ๐ต โ1 ๐ฅ ๐ต
Penyelesaian Tabel 0 0 4 0 3 4 11 2 ๐ฅ 2 Gambaran Geometris dari iterasi penyelesaian dengan table simpleks Kontur fungsi tujuan Terjauh. Bila digeser lagi akan keluar dari daerah kelayakan Proses iterasi: berjalan sepanjang simpleks dari polyhedral daerah kelayakan sampai titik dengan kontur terjauh Daerah Layak ๐ฅ 1
Penyelesaian Tabel ๐ ๐ ๐๐ ๐ +๐ ๐ ๐ โค๐๐ โ๐๐ ๐ + ๐ ๐ โค๐ ๐๐๐ โ ๐ ๐ โ๐ ๐ ๐ โ ๐ ๐ โค๐ โ ๐ ๐ โค๐ Pengecekan Geometris terhadap pemenuhan syarat keoptimalan Kuhn-Tucker: bahwa resultan vector fungsi tujuan dan kendala berpengaruh harus dapat dibuat nol dengan pengali Lagrange nonnegative. Ada kesalahan pada arah gradien! Perbaiki dan tambahkan pada paparan ini ๐ ๐
Pemrograman Linier Tidak Standar Pemrograman Linear Standar Tujuan untuk memaksimumkan Kendala โค Ruas kanan non-negatif Variabel non-negatif Jika ada salah satu yang tidak terpenuhi, maka persoalan tersebut tergolong pemrograman linier tidak standar. Mengatasinya dapat dilakukan dengan berbagai cara tergantung pada ketidakstandaran persoalan yang dihadapi
Pemrograman Linier Tidak Standar 1. Tujuan : Meminimumkan minโก๐ง = โ (maxโกโ๐ง) 2. Variabel tidak non-negatif contoh ๐ฅ 1 โค0 ๐ฅ 1 โฒ =โ ๐ฅ 1 ๐ฅ 1 =โ ๐ฅ 1 โฒ ๏ โ๐ฅ 1 โฒ โค0 ๐ฅ 1 โฒ โฅ0 ๐ฅ 1 โฅ3 ๐ฅ 1 โฒ = ๐ฅ 1 โ3 ๐ฅ 1 = ๐ฅ 1 โฒ +3 ๏ ๐ฅ 1 โฒ +3โฅ3 ๐ฅ 1 โฒ โฅ0
Pemrograman Linier Tidak Standar 3. Variabel tidak dibatasi. Misalkan ๐ฅ 1 tidak dibatasi ๐ฅ 1 = ๐ฅ 1 โฒ โ ๐ฅ 1 โฒโฒ ๐ฅ 1 โฒ โฅ0, ๐ฅ 1 โฒโฒ โฅ0 4. Ruas kanan tidak non negatif ๐ฅ 1 + ๐ฅ 2 โฅโ3 โ๐ฅ 1 โ ๐ฅ 2 โค3 รโ1
Pemrograman Linier Tidak Standar 5. Kendala tidak โค diselesaikan dengan menambahkan variabel semu. ๐ฅ 1 +2 ๐ฅ 2 โฅ3 ๐ฅ 1 +2 ๐ฅ 2 โ ๐ฅ 3 =3, ๐ฅ 3 :๐ ๐๐๐๐ ๐ฅ3 tidak dapat digunakan sebagai variabel basis. Oleh karena itu ditambahkan sebuah variabel semu xa yang bisa menjadi variabel basis. ๐ฅ 1 +2 ๐ฅ 2 โ ๐ฅ 3 + ๐ฅ ๐ =3 ๐ฅ ๐ :๐ฃ๐๐๐๐๐๐๐ ๐ ๐๐๐ข ๐ฆ๐๐๐ ๐๐๐๐ ๐ข๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐โฅ0 Namun ๐ฅ๐ harus dibuat menjadi bernilai nol setelah sejumlah iterasi (dipaksa keluar dari basis) karena memang seharusnya tidak ada
Pemrograman Linier Tidak Standar Diselesaikan dengan Metode Dua Tahap dengan langkah-langkah Meminimumkan variabel semuโถ diperoleh penyelesaian yang layak Memaksimalkan ๐โถ diperoleh penyelesaian optimal Meminimumkan variable semu dilakukan dengan membentuk fungsi tujuan tambahan yang menyatakan nilai total dari semua variable semu yang dipakai yang harus diminimumkan. Karena variable semu bernilai nonnegative, maka nilai minimum variable semu adalah nol. Bila diperoleh variable semu = 0, maka penyelesaian layak telah diperoleh. Proses selanjutnya adalah mencari nilai optimal dari fungsi tujuan yang asli. Bila variable semu tidak dapat dibuat = 0, berarti persoalan tersebut tidak memiliki penyelesaian yang layak sehingga tidak mungkin dioptimalkan)
Pemrograman Linier Tidak Standar Contoh max 2๐ฅ 1 + ๐ฅ 2 ๐๐ ๐ฅ 1 + ๐ฅ 2 โค3 โ ๐ฅ 1 + ๐ฅ 2 โฅ1 ๐ฅ 1 , ๐ฅ 2 โฅ0 max ๐ง= 2๐ฅ 1 + ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 +0 ๐ฅ 5 ๐๐ ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 =3 โ ๐ฅ 1 + ๐ฅ 2 โ ๐ฅ 4 + ๐ฅ 5 =1 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 , ๐ฅ 5 โฅ0 Hanya ada 1 variable semu Dapat diselesaikan dengan menggunakan dengan dua tujuan, yaitu meminimumkan nilai (total) variable semu dan memaksimumkan tujuan fungsional.
Pemrograman Linier Tidak Standar Contoh max ๐ง= 2๐ฅ 1 + ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 +0 ๐ฅ 5 ๐๐ ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 =3 โ ๐ฅ 1 + ๐ฅ 2 โ ๐ฅ 4 + ๐ฅ 5 =1 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 , ๐ฅ 5 โฅ0 max ๐ง= 2๐ฅ 1 + ๐ฅ 2 +0 ๐ฅ 3 +0 ๐ฅ 4 +0 ๐ฅ 5 Min za = ๐ฅ 5 ๐๐ ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 =3 โ ๐ฅ 1 + ๐ฅ 2 โ ๐ฅ 4 + ๐ฅ 5 =1 ๐ฅ 1 , ๐ฅ 2 , ๐ฅ 3 , ๐ฅ 4 , ๐ฅ 5 โฅ0 Tujuan za menyatakan nilai variable semu yang harus diminimumkan (dibuat nol). Dapat diselesaikan dengan menggunakan table simpleks dengan dua tujuan. Untuk memudahkan pembentukan table simpleks, pilih sebagai variable basis adalah variable yang menghasilkan matrik basis berupa matriks identitas. Untuk contoh ini ambil ๐ฅ 3 dan ๐ฅ 5 sebagai variable basis
Pemrograman Linier Tidak Standar Pembuatan Tabel Simpleks Tidak memenuhi aturan tabel simpleks ๐ง ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 RK ๐ง ๐ 1 -2 -1 3 Tahap (I) min ๐ ๐ = ๐ฅ 5 (II) max ๐
Pemrograman Linier Tidak Standar Tahap I: Mencari daerah layak dengan meminimumkan za Membuat vector identitas ๐ง ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 RK ๐ง ๐ 1 -2 -1 3 Operasi Baris ๐ 1 +(โ1) ๐ 4
Pemrograman Linier Tidak Standar Tahap I: Penggantian Variabel Basis ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 RK ๐ ๐ 1 -1 -2 3 ๐ฅ= 0 0 3 0 1 Bukan Titik Layak
Pemrograman Linier Tidak Standar Tahap I: Operasi Baris ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 RK ๐ ๐ 1 -1 -2 3 Operasi Baris ๐ 1 + ๐ 4 ๐ 2 + ๐ 4 ๐ 3 + โ1 ๐ 4 ๐ 4
Pemrograman Linier Tidak Standar Tahap 1 selesai. Memasuki ke Tahap 2. bisa hilang ๐ง ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 RK ๐ง ๐ 1 -3 -1 2 ๐ ๐ sudah minimum ๐ฅ= 0 1 2 0 0 โ Tahap 1 selesai ๐ฅ 5 sudah nol, variable semu hilangโถ koef baris ๐ ๐ sama dengan koef ๐ ๐ di tabel simpleks awal
Pemrograman Linier Tidak Standar Tahap II: Optimisasi melalui penggantian Variabel Basis ๐ง ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -3 -1 2 Mencari nilai yang paling cepat menjadi 0 2 2 1 โ1
Pemrograman Linier Tidak Standar Tahap II: Melakukan Operasi Baris ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 -3 -1 2 Operasi Baris ๐ 1 + 3 2 ๐ 2 1 2 ๐ 2 ๐ 3 + 1 2 ๐ 2
Pemrograman Linier Tidak Standar Tahap II: Penyelesaian Optimal ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 RK 1 3 2 1 2 4 โ 1 2 2 ๐ฅ= 1 2 0 0 0 Membentuk matriks Identitas karena menjadi variabel basis (membentuk basis) โ Sudah Optimal karena koefisien z tidak ada yang negatif
Pemrograman Linier Tidak Standar ๐ฅ 2 0 0 0 1 1 2 Gambaran Geometris: Tahap 1: Mulai dari titik (0,0) yang tidak layak menuju ke titik (0,1) yang layak. Tahap 2: Mulai dari titik (0,1) hasil dari Tahap 1 yang layak tetapi belum optimal menuju ke titik (1,2) yang optimal Daerah layak Tahap 2/iterasi 1 Tahap 1/iterasi 1 ๐ฅ 1 Kontur f
Pemrograman Linier Tidak Standar โ ๐ฅ 1 โค0 โ ๐ฅ 1 + ๐ฅ 2 โฅ1 ๐ฅ 1 + ๐ฅ 2 โค3 max 2๐ฅ 1 + ๐ฅ 2 ๐ฅ 2 Pengecekan Geometris terhadap keterpenuhan syarat keoptimalan Kuhn Tucker: bahwa resultan vector fungsi tujuan dan kendala berpengaruh harus dapat dibuat nol dengan pengali Lagrange nonnegative. Ada kesalahan pada arah gradient? ๐ฅ 1
Pemrograman Linier Tidak Standar Contoh Max ๐ฅ 1 โ ๐ฅ 2 +2 ๐ฅ 3 DS ๐ฅ 1 + ๐ฅ 2 + ๐ฅ 3 โค8 2 ๐ฅ 1 โ ๐ฅ 2 โฅ4 ๐ฅ 1 + 2๐ฅ 3 =6 ๐ฅ 1 โฅ1, ๐ฅ 2 โค0, ๐ฅ 3 โฅ0
Pemrograman Linier Tidak Standar Penyelesaian Misal ๐ฅ 1 = ๐ฅ 1 โฒ +1 ๐ฅ 1 โฒ +1โฅ1 ๐ฅ 1 โฒ โฅ0 ๐ฅ 2 = โ๐ฅ 2 โฒ โ ๐ฅ 2 โฒ โค0 ๐ฅ 2 โฒ โฅ0 Sehingga Min ๐= ๐ฅ 1 โฒ +1+ ๐ฅ 2 โฒ +2 ๐ฅ 3 S.T. ๐ฅ 1 โฒ +1โ ๐ฅ 2 โฒ + ๐ฅ 3 โค8 2 ๐ฅ 1 โฒ +1 + ๐ฅ 2 โฒ โฅ4 ๐ฅ 1 โฒ +1+ 2๐ฅ 3 =6
Pemrograman Linier Tidak Standar Menjadi Max โ๐= โ๐ฅ 1 โฒ โ ๐ฅ 2 โฒ โ2 ๐ฅ 3 โ1 S.T. ๐ฅ 1 โฒ โ ๐ฅ 2 โฒ + ๐ฅ 3 + ๐ฅ 4 =8 2 ๐ฅ 1 โฒ + ๐ฅ 2 โฒ โ ๐ฅ 5 + ๐ฅ 6 =2 ๐ฅ 1 โฒ + 2๐ฅ 3 + ๐ฅ 7 =5 ๐ฅ 1 โฒ , ๐ฅ 2 โฒ , ๐ฅ 3 , ๐ฅ 4 , ๐ฅ 5 , ๐ฅ 6 , ๐ฅ 7 โฅ0 Min ๐ ๐ = ๐ฅ 6 + ๐ฅ 7 ๏ Max โ ๐ ๐ =โ ๐ฅ 6 โ ๐ฅ 7 ๏ โ๐ ๐ + ๐ฅ 6 + ๐ฅ 7 =0
Pemrograman Linier Tidak Standar ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 ๐ฅ 6 ๐ฅ 7 RK ๐ ๐ 1 -1 2 7 5 ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 ๐ฅ 6 ๐ฅ 7 RK ๐ ๐ -3 -1 -2 1 2 7 5
Pemrograman Linier Tidak Standar ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 ๐ฅ 6 ๐ฅ 7 RK ๐ ๐ 1/2 -2 -1/2 3/2 -4 -1 2 -3/2 1 6 ๐ฅ 1 โฒ 4 ๐ ๐ฅ 1 ๐ฅ 2 ๐ฅ 3 ๐ฅ 4 ๐ฅ 5 ๐ฅ 6 ๐ฅ 7 RK ๐ ๐ 1 -1 -6 -5/4 1/4 -1/4 -1/2 4 ๐ฅ 1 โฒ 1/2 2 Diabaikan boleh dibuang
Pemrograman Linier Tidak Standar Dengan selesainya tahap 1, ternyata berpindah ke tahap 2 telah menghasilkan table tanpa nilai negative pada koefisien z. sehingga tahap 2 juga sudah optimal Jadi nilai x yang memberikan nilai optimal adalah, ๐ฅ 1 โฒ =1, ๐ฅ 2 โฒ =0, ๐ฅ 3 =2, ๐=6 Sehingga, ๐ฅ 1 =2 ๐ฅ 2 =0
Melengkapi Tabel Simpleks Sudah dijelaskan bahwa table simpleks dibentuk dari persamaan-persamaan: z ๐ฅ ๐ ๐ฅ ๐ RK 1 ๐ถ ๐ต ๐ต โ1 ๐โ ๐ถ ๐ ๐ถ ๐ต ๐ต โ1 ๐ I ๐ต โ1 ๐ ๐ต โ1 ๐ ๐ด= ๐ต ๐ ๐ฅ= ๐ฅ ๐ต ๐ฅ ๐ ๐ถ= ๐ถ ๐ต ๐ถ ๐ Informasi diatas dapat dipergunakan untuk melengkapi table simpleks sekiranya ada beberapa elemen pada table tersebut yang hilang atau kurang jelas
Analisis Sensitivitas Bila terdapat perubahan pada nilai parameter atau penambahan kendala atau penambahan variable keputusan, hasil penyelesaian optimal yang telah diperoleh tetap dapat dipakai untuk mencari penyelesaian yang baru akibat adanya perubahan tersebut. Langkah pertama tentunya adalah mengecek apakah penyelesaian optimal lama masih tetap berlaku atau tidak. Bila ya, berarti tidak perlu ada perubahan pada penyelesaian optimal. Bila tidak, maka harus dicari penyelesaian yang baru akibat adanya perubahan tersebut. Mencari penyelesaian yang baru akibat adanya beberapa perubahan pada formulasi persoalan dengan menggunakan hasil penyelesaian yang telah diperoleh dari formulasi persoalan sebelum berubah dikenal sebagai analisis sensitivitas.
Analisis Sensitivitas Macam-macam analisis sensitivitas, antara lain adalah: Perubahan parameter Perubahan nilai elemen pada vector c Perubahan nilai elemen pada vector b Perubahan nilai elemen pada matriks A Penambahan atau pengurangan kendala Penambahan atau pengurangan variabel
Tugas 5 Ambil satu contoh soal pemrograman linier tidak standar dua dimensi dari buku referensi (atau buat sendiri) dengan tiga kendala fungsional dengan titik O bukan titik layak. Selesaikan dengan metode grafik, metode matriks, metode geomterik lengkap dengan vector persyaratan Kuhn-Tucker, metode table simpleks lengkap dengan perjalanan iterasinya. Jelaskan kesesuaian hasil empat metode tersebut Ambil satu contoh soal pemrograman linier (standar/tidak) dari buku referensi yang memuat paling sedikit 4 variable dan ada penjelasan diskripsi permasalahannya (atau buat sendiri). Tuliskan formulasinya. Konversikan ke bentuk kanonik. Selesaikan dengan bantuan paket program. Tuliskan proses iterasinya dalam bentuk table simpleks seperti yang diberikan pada paparan kuliah. Beri interpretasi penyelesaian pada tiap iterasi. Interpretasikan penyelesaian optimalnya Cari dari buku referensi satu contoh cara menyelesaikan salah satu permasalahan analisis sensitivitas lengkap dengan iterasinya untuk mencari titik optimal baru