Contoh untuk Algoritma Simpleks Dakota’s Problem
Linear Programming (Pemrograman Linier) Program Studi Statistika Semester Ganjil 2011/2012
Contoh untuk Algoritma Simpleks
Dakota’s Problem Perusahaan furniture Dakota
memproduksi bangku, meja dan kursi.
Untuk setiap jenis furniture dibutuhkan bahan baku kayu dan 2 jenis waktu pengerjaan: fnishing & carpentry
Bahan baku dan waktu pengerjaan terbatas
Ingin ditentukan jumlah produksi setiap furniture yang memaksimumkan keuntungan
Dakota’s Problem dalam Tabel
0.5
1 x x x
2
3
:# kursi produksi :# meja produksi :# bangku produksi
Peubah Keputusan?
30 20
60
8 Proft
Sumber daya Bangku Meja Kursi Ketersedia an Kayu (m2)
8
2
20 Carpentry (jam)
1.5
2
4
48 Finishing (jam)
1
6
1.5
LP untuk Dakota’s Problem
3
4 (Kayu)
48
6 . 8 .
20
30 60 max
3
2
1
2
1
1
3
2
1
3
2
1
x x x x x x x x x t s x x x z
2
Sumber daya Bangku
X1 Meja
1.5
X2
KursiX3 Ketersedia an Kayu (m2)
8
6
1
48 Finishing (jam)
4
2
20 Carpentry (jam)
2 (Finishing hour)
2
1.5
0.5
8 Proft($)
60
30
20 (Carpentry hour)8 5 . 5 .
1
20 5 . Algoritma Simpleks Mula i
Tentukan BFS: BV & NBV
Lakukan iterasi untuk Td
BFS menentukan k optimal? BFS: BV & NBV yang baru
Ya Selesa i Langkah 1 Algoritma Simpleks
Rubah ke bentuk Standar
8 5 . 5 .
3
2
1 x x x
Kendala fnishing
20 5 .
1
2
4
2
3
2
1 s x x x
1
2
2
3
2
1 x x x
Kendala carpentry
8 5 . 5 .
1
2
3
3
2
1 s x x x
4
, , (Carpentry hour) 8 5 . 5 .
1
48
2 (Finishing hour)
20 5 .
1
2
4 (Kayu)
48
6 . 8 .
20
30 60 max
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
x x x x x x x x x x x x t s x x x z
Digunakan slack variabel karena semua kendala ≤
6
20 5 .
8
3
2
1 x x x
Kendala kayu
48
6
8
1
3
2
1 s x x x
1
Langkah 1 Algoritma Simpleks
Bentuk Standar LP
1
s s s x x x
s x x x s x x x s x x x t s x x x z1
3
2
1
3
2
1
Baris 0 Baris 1 Baris 2 Baris 3
2
Modifkasi baris 0 menjadi:
20
30
6
3
2
1 x x x z
Semua peubah di
1
3
2 20 5 .
3
1
2
4
48
6 . 8 .
20
30 60 max
2
, , , , ,
8 5 . 5 .1
3
2
1
3
3
2
1
2
Langkah 1 Algoritma Simpleks
max z
60 x 30 x 20 x 1
2
3
Bentuk Tableau s . t . 8 x 6 x x s
48
1
2
3
1 4 x 2 x 1 . 5 x s
20
1
2
3
2 2 x 1 . 5 x . 5 x s
8
1
2
3
3 x , x , x , s , s , s
1
2
3
1
2
3
z x1 x2 x3 s1 s2 s3 rhs Baris 1 -60 -30 -20 Baris
1
8
6
1
1
48 Baris
2 4 2 1.5
1
20 Baris
3 2 1.5 0.5
1
8 Bentuk Kanonik: bernilai 1 pada variabel
Langkah 2 Algoritma Simpleks
Tentukan BFS (BV dan NBV).BV dapat ditentukan dari elemen tableau yang berbentuk kanonik
z x1 x2 x3 s1 s2 s3 rhs BV Baris z=0 1 -60 -30 -20 s1=4
Baris 8 1 0
8
6
1
1 48 s2=2 Baris 2 0
4
2
1.5
1
20 s3=8 Baris
s , s , s x , x , x BV NBV
1
2
3
1
2
3
3 0
2
1.5
0.5
1
8 BFS : x x x , s
48 , s 20 , s
8
1
2
3
1
2
3
Langkah 3 Algoritma Simpleks
60
Satu unit penambahan x
z x1 x2 x3 s1 s2 s3 rhs Baris 1 -60 -30 -20
Dapat dilihat dari koefsien baris 0.
1 x x x z
2
3
60
30
20
30
Apakah BFS tersebut sudah optimal?
8 , 20 ,20
BFS s s s x x x
1
2
3
1
2
3
: 48 ,
1 , menaikkan z sebesar $ 60 Langkah 3 Algoritma Simpleks
Interpretasi koefsien baris 0 ◦
Bagi NBV
Variabel dengan Koefsien -c: satu unit penambahan variabel tsb menaikkan Z sebesar c.
Variabel dengan koefsien +c: satu unit penambahan variabel tsb menurunkan Z sebesar c.
◦ Variabel dengan koefsien 0: BV
z x1 x2 x3 s1 s2 s3 rhs
Baris 1 -60 -30 -20
- Semua koefsien bagi NBV adalah < 0
- Ada beberapa kemungkinan menaikkan nilai Z dengan menaikkan nilai peubah keputusan:
Langkah 3 Algoritma Simpleks
z x1 x2 x3 s1 s2 s3 rhs Baris 1 -60 -30 -20
Produksi satu unit x1 (Bangku) akan menaikkan Z (proft) sebesar 60 ($)
Produksi satu unit x2 (Meja) akan menaikkan Z (proft) sebesar 30 ($) Produksi satu unit x3 (Kursi) akan menaikkan Z (proft) sebesar 20 ($)
Pilih Entering Variable: Peubah NBV x
Langkah 4 Algoritma Simpleks
48
3
2
1 , , x x x
NBV
48
8
1
1 s x
Baris 1 6 agar
8
1
1 , , s s s
1 x s
20
4
2
1 s x
Baris 2 5 agar
4
20
1
2 x s
BV
2
Menentukan peubah BV yang mana yang akan digantikan oleh x1
1
Dengan melakukan Ratio Test, agar pergantian peubah tetap berada di dalam wilayah feasibel
z x1 x2 x3 s1 s2 s3 rhs Baris 1 -60 -30 -20 Baris 1 0
8
6
1
1
48 Baris 2 0
4
2
1.5
20 Baris 3 0
3
2
1.5
0.5
1
8 BV z=0 s1=4
8 s2=2 s3=8
8 , 20 ,
48 , : 3 2 1 3 2 1
s s s BFS x x x
Peubah selainn
Langkah 4 Algoritma Simpleks
Semua syarat: x 6 , x 5 , x
4
1
1
1
Terpenuhi pada: di baris 3 x
4
1
Ratio Test: agar pergantian peubah tetap berada di dalam
wilayah feasibel, dipilih peubah dengan nilai ratio test
terkecilz x1 x2 x3 s1 s2 s3 rhs BV Baris z=0 1 -60 -30 -20 s1=4
Baris 8 1 0
8
6
1
1 48 s2=2 Baris
2 0
4
2
1.5
1
20 s3=8
Pada BFS berikutnya x1 adalah peubah NBV yang akan Langkah 4 Algoritma Simpleks
Elementary Row Operation (Operasi
baris elementer): operasi antar baris
untuk menentukan bentuk kanonik yang baru (BV & NBV yang baru) Di dalam bentuk kanonik baru: s , x , x s , s , x NBV
BV
3
2
3
1
2 1
1
1
Operasi Baris Elementer
s , x , x s , s , xNBV BV
3
2 3
1
2 1 Pada Iterasi berikutnya ingin diperoleh Tableau sbb:
z
X1 x2 x3 s1 s2 s3 rhs
Baris Baris
1
1 Baris
2
1 Baris
3
1
Operasi Baris Elementer
Tablea u 0Initial Tableau (Tableau 0):
8
0.5
Dengan ERO ingin diperoleh Tableau 1: baris 3 didahulukan (pivot row)
Baris
3 Baris
3 ) 1 (
2 ) (
Tablea u 1 z x1 x2 x3 s1 s2 s3 rhs
8 BV z=0 s1=48 s2=20 s3=8
1
1.5
6
z x1 x2 x3 s1 s2 s3 rhs Baris 0 1 -60 -30 -20 Baris 1 0
20 Baris 3 0
1
1.5
2
4
48 Baris 2 0
1
1
2 Operasi Baris Elementer Tablea u 0
z x1 x2 x3 s1 s2 s3 rhs Baris 0 1 -60 -30 -20 Baris 1 0
1.5
1 15 -5 30 240
Baris 0
) 1 ( ( 60 ) ) 3 *
Initial Tableau (Tableau 0):
Tablea u 1 z x1 x2 x3 s1 s2 s3 rhs
8 BV z=0 s1=48 s2=20 s3=8
1
0.5
2
8
20 Baris 3 0
1
1.5
2
4
48 Baris 2 0
1
1
6
ERO untuk baris 0, memanfaatkan baris 3 pada tableu 1 (pivot row)
Baris 1 ( Baris Baris
Operasi Baris Elementer Initial Tableau (Tableau 0):
Tablea
BV
u 0
z x1 x2 x3 s1 s2 s3 rhs z=0 Baris 0 1 -60 -30 -20 s1=48
Baris 1 0
8
6
1
1
48 s2=20 Baris 2 0
4
2
1.5
1
20 s3=8 Baris 3 0
2
1.5
0.5
1
8 ERO untuk baris 1, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 1 ( 1 * ) Baris 1 ( )
8 Baris 3 ( 1 )
Tablea z x1 x2 x3 s1 s2 s3 rhs u 1
Baris 0
1
15
5 30 240 Baris 1
- 1 1 -4
16
1
1.5
Operasi Baris Elementer Tablea u 0
0.5
1.5
2
20 Baris 3 0
1
2
4
48 Baris 2 0
1
1
6
8
z x1 x2 x3 s1 s2 s3 rhs Baris 0 1 -60 -30 -20 Baris 1 0
8 BV z=0 s1=48 s2=20 s3=8
ERO untuk baris 2, memanfaatkan baris 3 pada tableu 1 (pivot row)
Baris 2 Baris Baris
Baris 3
1
0.75
0.25
0.5
4 Initial Tableau (Tableau 0):
) 1 (
( 4 )
3 *2 ) 1 (
Baris 0
1 15 -5 30 240 Baris 1
16 Baris 2 -1 0,5 1 -2
4 BV z=240 s1=16 s2=4 x1=4
Tablea u 1 z x1 x2 x3 s1 s2 s3 rhs
- 1 1 -4
1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
Baris Pada tableau 1:
3
1 0,75 0,25 0,5 4 x1=4
s , s , x s , x , x BV NBV
1
2 1
3
2 3 BFS : x
4 , x x , s 16 , s 4 , s , z 240
1
2
3
1
2
3
Kembali ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat koefsien di baris 0, apakah masih ada kemungkinan menaikkan nilai z dengan menambah nilai peubah keputusan?
Langkah 3 Algoritma Simpleks, Iterasi ke-2 Table au1 z x1 x2 x3 s1 s2 s3 rhs BV Baris
1 15 -5 30 240 z=240
s , s , x s , x , x BV
NBV
1
2 1
3
2 3
Produksi satu unit x2 (Meja) akan menurunkan Z (proft) sebesar 15 ($)
Produksi satu unit x3 (Kursi) akan menaikkan Z (proft) sebesar 5 ($)
BFS yang ada belum optimal.
Pilih Entering Variable: Peubah NBV yang meningkatkan Z paling besar
x
3 untuk menggantikan salah satu
Langkah 4 Algoritma Simpleks,
Iterasi 2 Menentukan peubah BV yang mana yang akan digantikan oleh x2 s , s , x BV
1
2 1
Dengan melakukan Ratio Test, agar pergantian peubah tetap berada di dalam wilayah feasibel Table au1 z x1 x2 x3 s1 s2 s3 rhs BV Baris
1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
Baris Baris 1
3
1 x 0,75 s
16 0,25 s x 16 0,5 untuk
4 semua x1=4 x
3
1
1
3
3 Pada baris dengan koefsien negatif, tidak Langkah 4 Algoritma Simpleks, Iterasi 2 Table
au1 z x1 x2 x3 s1 s2 s3 rhs BV
Baris1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
Baris
4
3
1 0,75 0,25 0,5 4 x1=4
Baris 2 agar s x
8
2
3 .
5
4 Baris 3 agar x x
1
6
1
3 .
25
Pemenang ratio test (terkecil): di baris 2 x3 akan menggantikan s2 Langkah 4 Algoritma Simpleks, Iterasi 2 Table au1 z x1 x2 x3 s1 s2 s3 rhs BV Baris
1 15 -5 30 240 z=240
Baris Kolo
1
- 1 1 -4
16 s1=16
m Baris pivot
2 -1 0,5
1 -2 4 s2=4
Baris Kolom
3
1 0,75 0,25 0,5 4 x1=4
pivot
Pada BFS berikutnya x3 adalah peubah NBV yang akan menggantikan s2 salah satu dari BV s , x , x BV
1
3
1
Dengan ERO – Elementary Row Operation s , x , s NBV
3
2 2
Tableau 2 mempunyai bentuk kanonik baru:
Tableau 2 z X1 x2 X3 s1 s2 s3 rhs
Baris 0 Baris 1
1
Operasi Baris Elementer
Tableau1 z x1 x2 x3 s1 s2 s3 rhs BV
Baris1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
Baris
Dengan ERO untuk memperoleh
Baris
2 ( 1 )
3
1 0,75 0,25 0,5 4 x1=4
Baris
2 ( 2 )
Tableau 2: baris 2 didahulukan .
5
(pivot row) Tablea
u 2 z x1 x2 x3 s1 s2 s3 rhs
Baris 2 -2
1 2 -4
8
Operasi Baris Elementer
Tableau1 z x1 x2 x3 s1 s2 s3 rhs BV
Baris1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
ERO untuk baris 0, memanfaatkan baris 2 pada tableu 2
Baris (pivot row)
3
1 0,75 0,25 0,5 4 x1=4
Baris (
2 ) Baris ( 1 ) .
5 Baris * 2 ( 2 )
Tablea
u 2 z x1 x2 x3 s1 s2 s3 rhs
Baris 0
1
5
10 10 280 Baris 2 -2
1
2 -48
Operasi Baris Elementer
Tableau1 z x1 x2 x3 s1 s2 s3 rhs BV
Baris1 15 -5 30 240 z=240
Baris
1
- 1 1 -4
16 s1=16
Baris 2 -1 0,5
1 -2 4 s2=4
ERO untuk baris 1, memanfaatkan baris 2 pada tableu 2
Baris (pivot row)
3
1 0,75 0,25 0,5 4 x1=4
Baris
1 ( 2 ) Baris 1 ( 1 ) ( 1 ) Baris 2 * ( 2 )
Tablea
u 2 z x1 x2 x3 s1 s2 s3 rhs
Baris 0
1
5
10 10 280 Baris 1 -2 1 2 -8
24 Baris 2 -2
1
2 -48
Operasi Baris Elementer
1 15 -5 30 240 z=240
1
Baris
Table
au1 z x1 x2 x3 s1 s2 s3 rhs BV
Baris- 1 1 -4
Baris 3 Baris Baris
8 ERO untuk baris 3, memanfaatkan baris 2 pada tableu 2 (pivot row)
2
1.5
1 1.25 -0.5
24 Baris 3
10 10 280 Baris 1 -2 1 2 -8
5
1
Baris 0
1
2 -41 ( 3 ) 2 (
Baris 2 -2
Tablea
u 2 z x1 x2 x3 s1 s2 s3 rhs
) 2 ( ) 25 . 2 *
3
Baris
1 -2 4 s2=4
Baris 2 -1 0,5
16 s1=16
1 0,75 0,25 0,5 4 x1=4
Tableau Hasil Iterasi: Tableau 2
Tablea
u 2 z x1 x2 x3 s1 s2 s3 rhs BV
z=28 Baris 01
5
10 10 280 s1=2 Baris 1 -2
1 2 -8
24
4 Baris 2 -2
1 2 -4 8 x3=8 Baris 3 1
1.25 -0.5
1.5 2 x1=2 s , x , x s , x , s
BV NBV
1
3 1
3
2 2 BFS : x
2 , x , x 8 , s 24 , s s , z 280
1
2
3
1
2
3
Kembali ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat koefsien di baris 0, apakah masih ada kemungkinan
menaikkan nilai z dengan menambah nilai peubah keputusan?
Semua koefsien baris 0 >=0. Tidak mungkin lagi
Solusi Optimal Dakota’s Problem x :# produksi bangku
1 x :# produksi meja
2 x :# produksi kursi
2 , x , x 8 , s 24 , s s , z 280
1
2
3
1
2
3 Agar keuntungan maksimum, dan produksi yang sesuai dengan kendala (bahan baku dan jam pengerjaan), harus diproduksi sejumlah 2 buah bangku (x1), 8 buah kursi (x3), tanpa memproduksi meja Langkah-langkah Algoritma Simpleks untuk Masalah Max
Langkah
1 Rubah LP ke bentuk standar, tuliskan dalam bentuk tableau. Langkah
2 Tentukan BFS (BV dan NBV).
BV dapat ditentukan dari elemen tableau yang berbentuk kanonik.
Langkah
3 Jika semua koefsien baris 0 >=0,
BFS solusi optimal Selainnya, pilih koefsien paling negatif untuk masuk ke dalam BV
Langkah
4 Ratio test (terkecil) untuk
menentukan peubah BV mana yang Langkah-langkah Algoritma Simpleks untuk Masalah Max Lakukan ERO untuk membentuk
Langkah
4
bentuk kanonik baru, BFS baru (Tableau baru) Kembali ke langkah 3