METODE BIG-M LINEAR PROGRAMMING CCR314 - Riset Operasional Materi #5 Ganjil 2015/2016 Choirudin, M.Pd http://taufiqurrachman.weblog.esaunggul.ac.id METODE BIG-M LINEAR PROGRAMMING 6623 - Taufiqur Rachman
Sering kita menemukan bahwa fungsi kendala tidak hanya dibentuk oleh pertidaksamaan ≤ tapi juga oleh pertidakasamaan ≥ dan/atau persamaan (=). Fungsi kendala dengan pertidaksamaan ≥ mempunyai surplus variable, tidak ada slack variables. Surplus variable tidak bisa menjadi variabel basis awal. Dengan demikian harus ditambahkan satu variabel baru yang dapat berfungsi sebagai variabel basis awal. Variabel yang dapat berfungsi sebagai variabel basis awal hanya slack variables dan artificial variables (variabel buatan).
Jika semua fungsi kendala menggunakan pertidaksamaan ≤ maka variabel basis awal semuanya adalah slack variables. Penyelesaian solusi optimal untuk kasus seperti yang sudah diperkenalkan sebelumnya. Jika fungsi kendala ada yang menggunakan persamaan maka variabel buatan akan ditemukan pada variabel basis awal. Penyelesaian solusi optimal untuk kasus seperti ini hanya dapat dilakukan dengan memilih antara metode Big M atau Dua Fase. Jika fungsi kendala menggunakan pertidaksamaan ≥ dan/atau ≤ maka variabel basis awal adalah slack variables dan/atau variabel buatan. Penyelesaian solusi optimal untuk kasus seperti ini dilakukan dengan memilih antara metode Big M, Dua Fase atau Dual Simpleks.
Teknik yang digunakan untuk memaksa variabel buatan bernilai 0 pada solusi optimal adalah dengan cara berikut: Penambahan variabel buatan pada fungsi kendala yang tidak memiliki variabel slack, menuntut penambahan variabel buatan pada fungsi tujuan. Jika fungsi tujuan adalah maksimisasi, maka variabel buatan pada fungsi tujuan mempunyai koefisien +M; jika fungsi tujuan adalah minimisasi, maka variabel buatan pada fungsi tujuan mempunyai koefisien -M. Karena koefisien variabel basis pada tabel simpleks harus bernilai 0, maka variabel buatan pada fungsi tujuan harus digantikan nilai dari fungsi kendala yang memuat variabel buatan tersebut.
Penyimpangan Bentuk Standar (Kendala =) Metode Big-M Fungsi kendala dengan tanda (=) Ditambahkan variabel buatan (M) pada fungsi tujuan Contoh : Fungsi Kendala: 2x1 ≤ 8 3x2 ≤ 15 6x1 + 5x2 = 30 Fungsi Tujuan: Z = 3x1 + 5x2
Fungsi kendala dengan tanda (=) Ditambahkan variabel buatan (M) pada fungsi tujuan Contoh : Fungsi Kendala: 2x1 ≤ 8 2x1 + s1 + 0s2 + 0s3 = 8 3x2 ≤ 15 3x2 + 0s1 + s2 + 0s3 = 15 6x1 + 5x2 = 30 6x1 + 5x2 + 0s1 + 0s2 + s3 = 30 Fungsi Tujuan: Z = 3x1 + 5x2 Z − 3x1 5x2 + 0s1 + 0s2 + Ms3 = 0
Langkah Solusi Kendala (=) Nilai setiap variabel dasar (s3) 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 M ] 6 5 30 (−6M−3) (−5M−5) (−30M)
Langkah Solusi Kendala (=) Iterasi 0: VD Z x1 x2 s1 s2 s3 NK Index 1 (−6M−3) (−5M−5) (−30M) 2 8 3 15 6 5 30 Membuat baris kunci baru dengan membagi 2
Langkah Solusi Kendala (=) Iterasi 1: VD Z x1 x2 s1 s2 s3 NK Index 1 (−6M−3) (−5M−5) (−30M) 2 8 4 3 15 ∼ 6 5 30 VD Z x1 x2 s1 s2 s3 NK Index 1 (−6M−3) (−5M−5) (−30M) ½ 4 3 15 ∼ 6 5 30
Menyesuaikan baris z Menyesuaikan baris s2 Menyesuaikan baris s3 1 -6M-3 -5M-5 0 0 0 -30M -6M-3 x [ 0 1 0 ½ 0 0 4 ] – 1 0 -5M-5 3M+3/2 0 0 -6M+12 Menyesuaikan baris s2 0 0 3 0 1 0 15 0 x [0 1 0 ½ 0 0 4 ] – 1 0 3 0 1 0 15 Menyesuaikan baris s3 0 6 5 0 0 1 30 6 x [ 0 1 0 ½ 0 0 4 ] – 0 0 5 -3 0 1 6
Langkah Solusi Kendala (=) Iterasi 1: VD Z x1 x2 s1 s2 s3 NK Index 1 (−5M−5) (3M+3/2) (−6M+12) 1/2 4 ∼ 3 15 5 -3 6 6/5 Membuat baris kunci baru dengan membagi 5
Langkah Solusi Kendala (=) Iterasi 2: VD Z x1 x2 s1 s2 s3 NK Index 1 (−5M−5) (3M+3/2) (−6M+12) 1/2 4 3 15 -3/5 1/5 6/5
Menyesuaikan baris z Menyesuaikan baris x1 Menyesuaikan baris s2 1 0 -5M-5 3M+3/2 0 0 -6M+12 -5M-5 x [ 0 0 1 -3/5 0 1/5 6/5 ] – 1 0 0 -3/2 0 M+1 18 Menyesuaikan baris x1 0 1 0 1/2 0 0 4 0 x [ 0 0 1 -3/5 0 1/5 6/5 ] – 0 1 0 1/2 0 0 4 Menyesuaikan baris s2 0 0 3 0 1 0 15 3 x [ 0 0 1 -3/5 0 1/5 6/5 ] – 0 1 0 9/5 1 -3/5 57/5
Langkah Solusi Kendala (=) Iterasi 2: VD Z x1 x2 s1 s2 s3 NK Index 1 −3/2 M+1 18 1/2 4 8 9/5 −3/5 57/5 19/3 1/5 6/5 −2 VD Z x1 x2 s1 s2 s3 NK Index 1 −3/2 M+1 18 1/2 4 8 9/5 −3/5 57/5 19/3 1/5 6/5 −2
Langkah Solusi Kendala (=) Iterasi 2: VD Z x1 x2 s1 s2 s3 NK Index 1 −3/2 M+1 18 1/2 4 8 9/5 −3/5 57/5 19/3 1/5 6/5 −2 Membuat baris kunci baru dengan membagi 9/5
Langkah Solusi Kendala (=) Iterasi 3: VD Z x1 x2 s1 s2 s3 NK Index 1 −3/2 M+1 18 1/2 4 5/9 −1/3 19/3 −3/5 1/5 6/5
Menyesuaikan baris z Menyesuaikan baris x1 Menyesuaikan baris x2 0 1 0 1/2 0 0 4 1/2 x [ 0 0 0 1 5/9 -1/3 19/3 ] – 0 1 0 0 -5/18 1/6 5/6 Menyesuaikan baris x2 0 0 1 -3/5 0 1/5 6/5 -3/5 x [ 0 0 0 1 5/9 -1/3 19/3 ] – 0 1 0 0 1/3 0 5
Langkah Solusi Kendala (=) Iterasi Optimum: VD Z x1 x2 s1 s2 s3 NK Index 1 5/6 M+12 55/2 Zmax −5/18 1/6 X1 5/9 −1/3 19/3 1/3 5
Langkah Solusi Kendala (=) Jadi solusi optimum dari permasalahan adalah: x1 = 5/6 x2 = 5 Zmax = 55/2
Latihan 1 1. Fungsi Tujuan : Maksimumkan : Z = 15X1 + 10X2 2. Fungsi Pembatas : X1 + X2 = 6 2X1 + X2 ≤ 10 X1, X2 ≥ 0
Latihan 2 1. Fungsi Tujuan : Maksimumkan : Z = 3X1+ 2X2 2. Fungsi Pembatas : X1 + X2 = 15 2X1 + X2 ≤ 28 X1 + 2X2 ≤ 20 X1, X2 ≥ 0
Penyimpangan Bentuk Standar (Fungsi Tujuan Meminimalkan) Fungsi tujuan : Minimisasi Soal minimisasi harus diubah menjadi maksimisasi dengan cara mengganti tanda positif dan negatif pada fungsi tujuan. Contoh : Fungsi Tujuan: Minimumkan Z = 3x1 + 5x2 Fungsi Kendala: 2x1 = 8 3x2 ≤ 15 6x1 + 5x2 ≥ 30
Langkah Solusi Fungsi Tujuan Meminimalkan .. 1 Fungsi kendala: 2x1 = 8 ⇨ 2x1 + s1 + 0s2 + 0s3 = 8 3x2 ≤ 15 ⇨ 3x2 + 0s1 + s2 + 0s3 = 15 6x1 + 5x2 ≥ 30 ⇨ 6x1 + 5x2 + 0s1 + 0s2 − s3+ s4 = 30 Catatan: s1, s2, dan s4 adalah variabel slack, sedangkan s3 adalah variabel surplus. Fungsi tujuan menjadi: Maksimumkan (−Z) = −3x1 − 5x2 − Ms1 − Ms4 menjadi fungsi implisit −Z + 3x1 + 5x2 + Ms1 + Ms4 = 0
Langkah Solusi Fungsi Tujuan Meminimalkan .. 2 Nilai setiap variabel dasar (s1 dan s4) harus = 0, maka: Baris Z [ −1 3 5 M ] −M 2 1 8 6 30 -1 (−8M+3) (−5M+5) (−38M) +
Langkah Solusi Fungsi Tujuan Meminimalkan .. 3 Iterasi 0: VD Z x1 x2 s1 s2 s3 s4 NK Index −1 (−8M+3) (−5M+5) M (−38M) 2 1 8 4 3 15 ∼ 6 5 30 VD Z x1 x2 s1 s2 s3 s4 NK Index −1 (−5M+5) (4M−3/2) M (−6M−12) 1 ½ 4 ∼ 3 15 5 −3 6 6/5
Langkah Solusi Fungsi Tujuan Meminimalkan .. 5 Iterasi 0: VD Z x1 x2 s1 s2 s3 s4 NK Index −1 (M+3/2) 1 M+1 (−18) Zmin 1/2 4 X1 9/5 3/5 −3/5 27/5 −1/5 1/5 6/5 Karena (–Z) = (−18), maka Z = 18 Penyelesaian telah mencapai solusi optimum: x1 = 4 ; x2 = 6/5 ; Zmin = 18
Latihan 3 Tentukan nilai Min. z = 4x1 + x2 Terhadap: 3x1 + x2 = 3 4x1 + 3x2 ≥ 6 x1 + 2x2 ≤ 4 x1 , x2 ≥ 0
Latihan 4 Fungsi tujuan : Min Z = 400 x1 + 200 x2 Fungsi pembatas: Selesaikan dengan metode Big-M
CCR314 - Riset Operasional Materi #5 Ganjil 2015/2016 6623 - Taufiqur Rachman