Materi Pemrograman Linier
Linear Programming
(Pemrograman Linier)
Program Studi Statistika
Semester Ganjil 2011/2012
DR. Rahma Fitriani, S.Si., M.Sc
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: finishing & carpentry
Bahan baku dan waktu pengerjaan
terbatas
Ingin ditentukan jumlah produksi setiap
furniture yang memaksimumkan
keuntungan
Dakota’s Problem dalam Tabel
Sumber daya
Bangku
Meja
Kursi
Ketersediaan
Kayu (m2)
8
6
1
48
Finishing (jam)
4
2
1.5
20
Carpentry (jam)
Profit
2
60
1.5
30
0.5
20
8
Peubah
Keputusan?
x1 :# produksi bangku
x2 :# produksi meja
x3 :# produksi kursi
LP untuk Dakota’s
Problem
Sumber daya
Bangku
X1
Meja
X2
Kursi
X3
Ketersediaan
Kayu (m2)
8
6
1
48
Finishing (jam)
4
2
1.5
20
Carpentry (jam)
Profit($)
2
60
1.5
30
0.5
20
8
max z 60 x1 30 x2 20 x3
s.t. 8 x1 6 x2 x3 48 (Kayu)
4 x1 2 x2 1.5 x3 20 (Finishing hour)
2 x1 1.5 x2 0.5 x3 8 (Carpentry hour)
x1 0, x2 0, x3 0
Algoritma Simpleks
Mula
i
Tentukan BFS:
BV & NBV
BFS
optimal?
Ya
Selesa
i
Td
k
Lakukan iterasi
untuk
menentukan
BFS: BV & NBV
yang baru
Langkah 1 Algoritma Simpleks
Rubah
ke bentuk Standar
max z 60 x1 30 x2 20 x3
s.t. 8 x1 6 x2 x3 48 (Kayu)
4 x1 2 x2 1.5 x3 20 (Finishing hour)
2 x1 1.5 x2 0.5 x3 8 (Carpentry hour)
Digunakan slack
variabel karena
semua kendala ≤
x1 0, x2 0, x3 0
Kendala kayu
Kendala
finishing
Kendala
carpentry
8 x1 6 x2 x3 48
8 x1 6 x2 x3 s1 48
4 x1 2 x2 1.5 x3 20
4 x1 2 x2 1.5 x3 s2 20
2 x1 1.5 x2 0.5 x3 8
2 x1 1.5 x2 0.5 x3 s3 8
Langkah 1 Algoritma Simpleks
Bentuk
Standar LP
Baris 0
max z 60 x1 30 x2 20 x3
Baris 1
s.t. 8 x1 6 x2 x3
s1
Baris 2
4 x1 2 x2 1.5 x3
Baris 3
2 x1 1.5 x2 0.5 x3
48
s2
20
s3 8
x1 , x2 , x3 , s1 , s2 , s3 0
Modifikasi
baris 0 menjadi:
z 60 x1 30 x2 20 x3 0
Semua peubah di
ruas kiri,
konstanta di ruas
Langkah 1 Algoritma Simpleks
Bentuk
max z 60 x1 30 x2 20 x3
Tableau s.t. 8 x
1
6 x2 x3
s1
4 x1 2 x2 1.5 x3
48
s2
2 x1 1.5 x2 0.5 x3
z
x1
x2
x3
s1
s2
s3
20
s3 8
x1 , x2 , x3 , s1 , s2 , s3 0
0
rhs
Baris 0
1
-60
-30
-20
0
0
0
0
Baris 1
0
8
6
1
1
0
0
48
Baris 2
0
4
2
1.5
0
1
0
20
Baris 4
0
2
1.5
0.5
0
0
1
8
Bentuk Kanonik: bernilai 1 pada variabel
tsb, bernilai nol pada variabel lain → spt
matriks identitas
Langkah 2 Algoritma Simpleks
Tentukan BFS (BV dan NBV).
BV dapat ditentukan dari elemen tableau yang
berbentuk kanonik.
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
BV s1 , s2 , s3 NBV x1 , x2 , x3
BFS : x1 x2 x3 0, s1 48, s2 20, s3 8
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
Langkah 3 Algoritma Simpleks
Apakah
BFS tersebut sudah optimal?
BFS : x1 x2 x3 0, s1 48, s2 20, s3 8
z 60 x1 30 x2 20 x3
60 0 30 0 20 0 0
Dapat
Baris 0
z
1
dilihat dari koefisien baris 0.
x1
-60
x2
-30
x3
-20
Satu unit penambahan x1,
menaikkan z sebesar $ 60
s1
0
s2
0
s3
0
rhs
0
Langkah 3 Algoritma Simpleks
Interpretasi
koefisien baris 0
◦ Bagi NBV
Variabel
variabel
Variabel
variabel
dengan Koefisien -c: satu unit penambahan
tsb menaikkan Z sebesar c.
dengan koefisien +c: satu unit penambahan
tsb menurunkan Z sebesar c.
◦ Variabel dengan koefisien 0: BV
Baris 0
z
1
x1
-60
x2
-30
x3
-20
s1
0
s2
0
s3
0
• Semua koefisien bagi NBV adalah < 0
• Ada beberapa kemungkinan menaikkan nilai Z
dengan menaikkan nilai peubah keputusan:
menambah produksi
• BFS yang ada belum optimal
rhs
0
Langkah 3 Algoritma Simpleks
Baris 0
z
1
x1
-60
x2
-30
x3
-20
s1
0
s2
0
s3
0
rhs
0
Produksi satu unit x1 (Bangku) akan menaikkan Z
(profit) sebesar 60 ($)
Produksi satu unit x2 (Meja) akan menaikkan Z
(profit) sebesar 30 ($)
Produksi satu unit x3 (Kursi) akan menaikkan Z
(profit) sebesar 20 ($)
Pilih Entering Variable: Peubah NBV
yang meningkatkan Z paling besar,
untuk menggantikan salah satu
x1
Langkah 4 Algoritma Simpleks
Menentukan
peubah BV yang mana yang akan
digantikan oleh x1
Dengan melakukan Ratio Test, agar pergantian
peubah tetap berada di dalam wilayah feasibel
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
BFS : x1 x2 x3 0,
s1 48, s2 20, s3 8
Peubah
selainn
ya
tetap =
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
BV s1 , s2 , s3
s3
0
0
0
1
rhs
0
48
20
8
NBV x1 , x2 , x3
Baris 1
8 x1 s1 48
Baris 2
4 x1 s2 20 agar s2 0 x1 204 5
Baris 3
2 x1 s3 8
agar s1 0 x1 488 6
agar s3 0 x1 82 4
BV
z=0
s1=48
s2=20
s3=8
Langkah 4 Algoritma Simpleks
Semua
syarat: x1 6, x1 5, x1 4
Terpenuhi
pada:x1 4
di baris 3
Ratio
Test: agar pergantian peubah tetap berada di dalam
wilayah feasibel, dipilih peubah dengan nilai ratio test
terkecil
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
Pada
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BFS berikutnya x1 adalah peubah NBV yang akan
menggantikan s3 salah satu dari BV
Dengan ERO – Elementary Row Operation
BV
z=0
s1=48
s2=20
s3=8
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:
BV s1 , s2 , x1 NBV s3 , x2 , x3
B1 B2 B3
1 0 0
0 1
0 0
0
1
Peubah di dalam BV harus
mempunyai bentuk kanonik
Operasi Baris Elementer
BV s1 , s2 , x1 NBV s3 , x2 , x3
Pada Iterasi berikutnya ingin diperoleh
Tableau sbb:
Baris 0
Baris 1
Baris 2
Baris 3
z
X1
0
0
0
1
x2
x3
s1
0
1
0
0
s2
0
0
1
0
s3
rhs
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
Dengan ERO ingin diperoleh Tableau
1: : baris 3 didahulukan (pivot
row)
Tableau
z
x1
x2
x3
s1
1
Baris 3
0
1
0.75
0.25
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
Baris 3(1)
BV
z=0
s1=48
s2=20
s3=8
Baris 3(0)
2
s2
s3
rhs
0
0.5
4
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 0, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 0(1) Baris 0(0) 60 * Baris 3(1)
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
15
-5
0
0
30
240
0
1
0.75
0.25
0
0
0.5
4
Baris 3
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 1, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 1(1) Baris 1(0) 8 * Baris 3(1)
Tableau
1
Baris 0
Baris 1
z
x1
x2
x3
s1
s2
s3
rhs
1
0
0
0
15
0
5
-1
0
1
0
0
30
-4
240
16
Baris 3
0
1
0.75
0.25
0
0
0.5
4
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 2, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 2(1) Baris 2(0) 4 * Baris 3(1)
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
x1
x2
x3
s1
s2
s3
rhs
1
0
0
0
0
0
0
1
15
0
-1
0.75
-5
-1
0,5
0.25
0
1
0
0
0
0
1
0
30
-4
-2
0.5
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Tableau hasil iterasi: Tableau 1
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
BV
Baris 0
1
0
15
-5
0
0
30
240
z=240
Baris 1
0
0
0
-1
1
0
-4
16
s1=16
Baris 2
0
0
-1
0,5
0
1
-2
4
s2=4
Baris 3
0
1
0,75
0,25
0
0
0,5
4
x1=4
Pada tableau 1:
BV s1 , s2 , x1 NBV s3 , x2 , x3
BFS : x1 4, x2 x3 0, s1 16, s2 4, s3 0, z 240
Kembali
ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat
koefisien di baris 0, apakah masih ada kemungkinan menaikkan
nilai z dengan menambah nilai peubah keputusan?
Peubah dengan Koefisien baris
x3
Langkah 3 Algoritma Simpleks,
Iterasi ke-2
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
BV
Baris 0
1
0
15
-5
0
0
30
240
z=240
BV s1 , s2 , x1
NBV s3 , x2 , x3
Produksi satu unit x2 (Meja) akan menurunkan Z
(profit) sebesar 15 ($)
Produksi satu unit x3 (Kursi) akan menaikkan Z (profit)
sebesar 5 ($)
BFS yang ada belum optimal.
Pilih Entering Variable: Peubah NBV
yang meningkatkan Z paling besar,
untuk menggantikan salah satu
peubah di BV
x3
Langkah 4 Algoritma Simpleks,
Iterasi 2
Menentukan
peubah BV yang mana yang akan
digantikan oleh x2BV s1 , s2 , x1
Dengan melakukan Ratio Test, agar pergantian
peubah tetap berada di dalam wilayah feasibel
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
Baris 1
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
x3 s1 16 s1 x3 16 0 untuk semua x3 0
Pada baris dengan koefisien negatif, tidak
perlu dilakukan ratio test
Langkah 4 Algoritma Simpleks,
Iterasi 2
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
Baris 2
agar s2 0 x3 04.5 8
Baris 3
agar x1 0 x3 0.425 16
Pemenang
x3
s3
30
-4
-2
0,5
ratio test (terkecil): di baris 2
akan menggantikan s2
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Langkah 4 Algoritma Simpleks,
Iterasi 2
Kolo
m
pivot
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Kolom
pivot
Pada BFS berikutnya x3 adalah peubah NBV yang akan
menggantikan s2 salah satu dari BV
BV s1 , x3 , x1
Dengan ERO – Elementary Row Operation
NBV s3 , x2 , s2
Tableau 2 mempunyai bentuk kanonik baru:
Tableau
2
Baris 0
Baris 1
Baris 2
Baris 3
z
X1
0
0
0
1
x2
X3
0
0
1
0
s1
0
1
0
0
s2
s3
rhs
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
Dengan ERO untuk memperoleh
Tableau 2: baris 2 didahulukan
(pivot row)
s3
30
-4
-2
0,5
rhs
240
16
4
4
Baris 2( 2)
BV
z=240
s1=16
s2=4
x1=4
Baris 2(1)
0. 5
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 0, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 0(2) Baris 0(1) 0.5 * Baris 2(2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 1, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 1( 2) Baris 1(1) ( 1) * Baris 2( 2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 1
0
0
-2
0
1
2
-8
24
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 3, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 3( 2) Baris 3(1) 0.25 * Baris 2( 2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 1
Baris 2
0
0
0
0
-2
-2
0
1
1
0
2
2
-8
-4
24
8
Baris 3
0
1
1.25
0
0
-0.5
1.5
2
Tableau Hasil Iterasi: Tableau 2
Tableau
2
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
5
-2
-2
1.25
x3
0
0
1
0
s1
0
1
0
0
s2
10
2
2
-0.5
s3
10
-8
-4
1.5
rhs
280
24
8
2
BV
z=280
s1=24
x3=8
x1=2
BV s1 , x3 , x1 NBV s3 , x2 , s2
BFS : x1 2, x2 0, x3 8, s1 24, s2 s3 0, z 280
Kembali
ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat
koefisien di baris 0, apakah masih ada kemungkinan
menaikkan nilai z dengan menambah nilai peubah keputusan?
Semua koefisien baris 0 >=0. Tidak mungkin lagi
menaikkan nilai z.
BFS sudah Optimal
Solusi Optimal Dakota’s Problem
x1 :# produksi bangku
x2 :# produksi meja
x3 :# produksi kursi
BFS : x1 2, x2 0, x3 8, s1 24, s2 s3 0, z 280
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 koefisien baris 0 >=0,
BFS solusi optimal
Selainnya, pilih koefisien paling
negatif untuk masuk ke dalam BV
Ratio test (terkecil) untuk
menentukan peubah BV mana yang
harus digantikan (menjadi NBV)
Langkah
4
Langkah-langkah Algoritma
Simpleks untuk Masalah Max
Langkah
4
Lakukan ERO untuk membentuk
bentuk kanonik baru, BFS baru
(Tableau baru)
Kembali ke langkah 3
(Pemrograman Linier)
Program Studi Statistika
Semester Ganjil 2011/2012
DR. Rahma Fitriani, S.Si., M.Sc
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: finishing & carpentry
Bahan baku dan waktu pengerjaan
terbatas
Ingin ditentukan jumlah produksi setiap
furniture yang memaksimumkan
keuntungan
Dakota’s Problem dalam Tabel
Sumber daya
Bangku
Meja
Kursi
Ketersediaan
Kayu (m2)
8
6
1
48
Finishing (jam)
4
2
1.5
20
Carpentry (jam)
Profit
2
60
1.5
30
0.5
20
8
Peubah
Keputusan?
x1 :# produksi bangku
x2 :# produksi meja
x3 :# produksi kursi
LP untuk Dakota’s
Problem
Sumber daya
Bangku
X1
Meja
X2
Kursi
X3
Ketersediaan
Kayu (m2)
8
6
1
48
Finishing (jam)
4
2
1.5
20
Carpentry (jam)
Profit($)
2
60
1.5
30
0.5
20
8
max z 60 x1 30 x2 20 x3
s.t. 8 x1 6 x2 x3 48 (Kayu)
4 x1 2 x2 1.5 x3 20 (Finishing hour)
2 x1 1.5 x2 0.5 x3 8 (Carpentry hour)
x1 0, x2 0, x3 0
Algoritma Simpleks
Mula
i
Tentukan BFS:
BV & NBV
BFS
optimal?
Ya
Selesa
i
Td
k
Lakukan iterasi
untuk
menentukan
BFS: BV & NBV
yang baru
Langkah 1 Algoritma Simpleks
Rubah
ke bentuk Standar
max z 60 x1 30 x2 20 x3
s.t. 8 x1 6 x2 x3 48 (Kayu)
4 x1 2 x2 1.5 x3 20 (Finishing hour)
2 x1 1.5 x2 0.5 x3 8 (Carpentry hour)
Digunakan slack
variabel karena
semua kendala ≤
x1 0, x2 0, x3 0
Kendala kayu
Kendala
finishing
Kendala
carpentry
8 x1 6 x2 x3 48
8 x1 6 x2 x3 s1 48
4 x1 2 x2 1.5 x3 20
4 x1 2 x2 1.5 x3 s2 20
2 x1 1.5 x2 0.5 x3 8
2 x1 1.5 x2 0.5 x3 s3 8
Langkah 1 Algoritma Simpleks
Bentuk
Standar LP
Baris 0
max z 60 x1 30 x2 20 x3
Baris 1
s.t. 8 x1 6 x2 x3
s1
Baris 2
4 x1 2 x2 1.5 x3
Baris 3
2 x1 1.5 x2 0.5 x3
48
s2
20
s3 8
x1 , x2 , x3 , s1 , s2 , s3 0
Modifikasi
baris 0 menjadi:
z 60 x1 30 x2 20 x3 0
Semua peubah di
ruas kiri,
konstanta di ruas
Langkah 1 Algoritma Simpleks
Bentuk
max z 60 x1 30 x2 20 x3
Tableau s.t. 8 x
1
6 x2 x3
s1
4 x1 2 x2 1.5 x3
48
s2
2 x1 1.5 x2 0.5 x3
z
x1
x2
x3
s1
s2
s3
20
s3 8
x1 , x2 , x3 , s1 , s2 , s3 0
0
rhs
Baris 0
1
-60
-30
-20
0
0
0
0
Baris 1
0
8
6
1
1
0
0
48
Baris 2
0
4
2
1.5
0
1
0
20
Baris 4
0
2
1.5
0.5
0
0
1
8
Bentuk Kanonik: bernilai 1 pada variabel
tsb, bernilai nol pada variabel lain → spt
matriks identitas
Langkah 2 Algoritma Simpleks
Tentukan BFS (BV dan NBV).
BV dapat ditentukan dari elemen tableau yang
berbentuk kanonik.
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
BV s1 , s2 , s3 NBV x1 , x2 , x3
BFS : x1 x2 x3 0, s1 48, s2 20, s3 8
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
Langkah 3 Algoritma Simpleks
Apakah
BFS tersebut sudah optimal?
BFS : x1 x2 x3 0, s1 48, s2 20, s3 8
z 60 x1 30 x2 20 x3
60 0 30 0 20 0 0
Dapat
Baris 0
z
1
dilihat dari koefisien baris 0.
x1
-60
x2
-30
x3
-20
Satu unit penambahan x1,
menaikkan z sebesar $ 60
s1
0
s2
0
s3
0
rhs
0
Langkah 3 Algoritma Simpleks
Interpretasi
koefisien baris 0
◦ Bagi NBV
Variabel
variabel
Variabel
variabel
dengan Koefisien -c: satu unit penambahan
tsb menaikkan Z sebesar c.
dengan koefisien +c: satu unit penambahan
tsb menurunkan Z sebesar c.
◦ Variabel dengan koefisien 0: BV
Baris 0
z
1
x1
-60
x2
-30
x3
-20
s1
0
s2
0
s3
0
• Semua koefisien bagi NBV adalah < 0
• Ada beberapa kemungkinan menaikkan nilai Z
dengan menaikkan nilai peubah keputusan:
menambah produksi
• BFS yang ada belum optimal
rhs
0
Langkah 3 Algoritma Simpleks
Baris 0
z
1
x1
-60
x2
-30
x3
-20
s1
0
s2
0
s3
0
rhs
0
Produksi satu unit x1 (Bangku) akan menaikkan Z
(profit) sebesar 60 ($)
Produksi satu unit x2 (Meja) akan menaikkan Z
(profit) sebesar 30 ($)
Produksi satu unit x3 (Kursi) akan menaikkan Z
(profit) sebesar 20 ($)
Pilih Entering Variable: Peubah NBV
yang meningkatkan Z paling besar,
untuk menggantikan salah satu
x1
Langkah 4 Algoritma Simpleks
Menentukan
peubah BV yang mana yang akan
digantikan oleh x1
Dengan melakukan Ratio Test, agar pergantian
peubah tetap berada di dalam wilayah feasibel
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
BFS : x1 x2 x3 0,
s1 48, s2 20, s3 8
Peubah
selainn
ya
tetap =
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
BV s1 , s2 , s3
s3
0
0
0
1
rhs
0
48
20
8
NBV x1 , x2 , x3
Baris 1
8 x1 s1 48
Baris 2
4 x1 s2 20 agar s2 0 x1 204 5
Baris 3
2 x1 s3 8
agar s1 0 x1 488 6
agar s3 0 x1 82 4
BV
z=0
s1=48
s2=20
s3=8
Langkah 4 Algoritma Simpleks
Semua
syarat: x1 6, x1 5, x1 4
Terpenuhi
pada:x1 4
di baris 3
Ratio
Test: agar pergantian peubah tetap berada di dalam
wilayah feasibel, dipilih peubah dengan nilai ratio test
terkecil
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
Pada
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BFS berikutnya x1 adalah peubah NBV yang akan
menggantikan s3 salah satu dari BV
Dengan ERO – Elementary Row Operation
BV
z=0
s1=48
s2=20
s3=8
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:
BV s1 , s2 , x1 NBV s3 , x2 , x3
B1 B2 B3
1 0 0
0 1
0 0
0
1
Peubah di dalam BV harus
mempunyai bentuk kanonik
Operasi Baris Elementer
BV s1 , s2 , x1 NBV s3 , x2 , x3
Pada Iterasi berikutnya ingin diperoleh
Tableau sbb:
Baris 0
Baris 1
Baris 2
Baris 3
z
X1
0
0
0
1
x2
x3
s1
0
1
0
0
s2
0
0
1
0
s3
rhs
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
Dengan ERO ingin diperoleh Tableau
1: : baris 3 didahulukan (pivot
row)
Tableau
z
x1
x2
x3
s1
1
Baris 3
0
1
0.75
0.25
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
Baris 3(1)
BV
z=0
s1=48
s2=20
s3=8
Baris 3(0)
2
s2
s3
rhs
0
0.5
4
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 0, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 0(1) Baris 0(0) 60 * Baris 3(1)
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
15
-5
0
0
30
240
0
1
0.75
0.25
0
0
0.5
4
Baris 3
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 1, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 1(1) Baris 1(0) 8 * Baris 3(1)
Tableau
1
Baris 0
Baris 1
z
x1
x2
x3
s1
s2
s3
rhs
1
0
0
0
15
0
5
-1
0
1
0
0
30
-4
240
16
Baris 3
0
1
0.75
0.25
0
0
0.5
4
Operasi Baris Elementer
Initial Tableau (Tableau 0):
Tableau
0
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
-60
8
4
2
x2
-30
6
2
1.5
x3
-20
1
1.5
0.5
s1
0
1
0
0
s2
0
0
1
0
s3
0
0
0
1
rhs
0
48
20
8
BV
z=0
s1=48
s2=20
s3=8
ERO untuk baris 2, memanfaatkan baris 3 pada tableu 1
(pivot row) Baris 2(1) Baris 2(0) 4 * Baris 3(1)
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
x1
x2
x3
s1
s2
s3
rhs
1
0
0
0
0
0
0
1
15
0
-1
0.75
-5
-1
0,5
0.25
0
1
0
0
0
0
1
0
30
-4
-2
0.5
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Tableau hasil iterasi: Tableau 1
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
BV
Baris 0
1
0
15
-5
0
0
30
240
z=240
Baris 1
0
0
0
-1
1
0
-4
16
s1=16
Baris 2
0
0
-1
0,5
0
1
-2
4
s2=4
Baris 3
0
1
0,75
0,25
0
0
0,5
4
x1=4
Pada tableau 1:
BV s1 , s2 , x1 NBV s3 , x2 , x3
BFS : x1 4, x2 x3 0, s1 16, s2 4, s3 0, z 240
Kembali
ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat
koefisien di baris 0, apakah masih ada kemungkinan menaikkan
nilai z dengan menambah nilai peubah keputusan?
Peubah dengan Koefisien baris
x3
Langkah 3 Algoritma Simpleks,
Iterasi ke-2
Tableau
1
z
x1
x2
x3
s1
s2
s3
rhs
BV
Baris 0
1
0
15
-5
0
0
30
240
z=240
BV s1 , s2 , x1
NBV s3 , x2 , x3
Produksi satu unit x2 (Meja) akan menurunkan Z
(profit) sebesar 15 ($)
Produksi satu unit x3 (Kursi) akan menaikkan Z (profit)
sebesar 5 ($)
BFS yang ada belum optimal.
Pilih Entering Variable: Peubah NBV
yang meningkatkan Z paling besar,
untuk menggantikan salah satu
peubah di BV
x3
Langkah 4 Algoritma Simpleks,
Iterasi 2
Menentukan
peubah BV yang mana yang akan
digantikan oleh x2BV s1 , s2 , x1
Dengan melakukan Ratio Test, agar pergantian
peubah tetap berada di dalam wilayah feasibel
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
Baris 1
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
x3 s1 16 s1 x3 16 0 untuk semua x3 0
Pada baris dengan koefisien negatif, tidak
perlu dilakukan ratio test
Langkah 4 Algoritma Simpleks,
Iterasi 2
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
Baris 2
agar s2 0 x3 04.5 8
Baris 3
agar x1 0 x3 0.425 16
Pemenang
x3
s3
30
-4
-2
0,5
ratio test (terkecil): di baris 2
akan menggantikan s2
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Langkah 4 Algoritma Simpleks,
Iterasi 2
Kolo
m
pivot
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
Kolom
pivot
Pada BFS berikutnya x3 adalah peubah NBV yang akan
menggantikan s2 salah satu dari BV
BV s1 , x3 , x1
Dengan ERO – Elementary Row Operation
NBV s3 , x2 , s2
Tableau 2 mempunyai bentuk kanonik baru:
Tableau
2
Baris 0
Baris 1
Baris 2
Baris 3
z
X1
0
0
0
1
x2
X3
0
0
1
0
s1
0
1
0
0
s2
s3
rhs
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
Dengan ERO untuk memperoleh
Tableau 2: baris 2 didahulukan
(pivot row)
s3
30
-4
-2
0,5
rhs
240
16
4
4
Baris 2( 2)
BV
z=240
s1=16
s2=4
x1=4
Baris 2(1)
0. 5
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 0, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 0(2) Baris 0(1) 0.5 * Baris 2(2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 1, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 1( 2) Baris 1(1) ( 1) * Baris 2( 2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 1
0
0
-2
0
1
2
-8
24
Baris 2
0
0
-2
1
0
2
-4
8
Operasi Baris Elementer
Tableau
1
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
15
0
-1
0,75
x3
-5
-1
0,5
0,25
s1
0
1
0
0
s2
0
0
1
0
s3
30
-4
-2
0,5
rhs
240
16
4
4
BV
z=240
s1=16
s2=4
x1=4
ERO untuk baris 3, memanfaatkan baris 2 pada tableu 2
(pivot row)
Baris 3( 2) Baris 3(1) 0.25 * Baris 2( 2)
Tableau 2
z
x1
x2
x3
s1
s2
s3
rhs
Baris 0
1
0
5
0
0
10
10
280
Baris 1
Baris 2
0
0
0
0
-2
-2
0
1
1
0
2
2
-8
-4
24
8
Baris 3
0
1
1.25
0
0
-0.5
1.5
2
Tableau Hasil Iterasi: Tableau 2
Tableau
2
Baris 0
Baris 1
Baris 2
Baris 3
z
1
0
0
0
x1
0
0
0
1
x2
5
-2
-2
1.25
x3
0
0
1
0
s1
0
1
0
0
s2
10
2
2
-0.5
s3
10
-8
-4
1.5
rhs
280
24
8
2
BV
z=280
s1=24
x3=8
x1=2
BV s1 , x3 , x1 NBV s3 , x2 , s2
BFS : x1 2, x2 0, x3 8, s1 24, s2 s3 0, z 280
Kembali
ke langkah 3: Apakah BFS tersebut sudah optimal?
Lihat
koefisien di baris 0, apakah masih ada kemungkinan
menaikkan nilai z dengan menambah nilai peubah keputusan?
Semua koefisien baris 0 >=0. Tidak mungkin lagi
menaikkan nilai z.
BFS sudah Optimal
Solusi Optimal Dakota’s Problem
x1 :# produksi bangku
x2 :# produksi meja
x3 :# produksi kursi
BFS : x1 2, x2 0, x3 8, s1 24, s2 s3 0, z 280
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 koefisien baris 0 >=0,
BFS solusi optimal
Selainnya, pilih koefisien paling
negatif untuk masuk ke dalam BV
Ratio test (terkecil) untuk
menentukan peubah BV mana yang
harus digantikan (menjadi NBV)
Langkah
4
Langkah-langkah Algoritma
Simpleks untuk Masalah Max
Langkah
4
Lakukan ERO untuk membentuk
bentuk kanonik baru, BFS baru
(Tableau baru)
Kembali ke langkah 3