Linear Programming (Pemrograman Linier)
Linear Programming (Pemrograman Linier) Program Studi Statistika Semester Ganjil 2012/2013
Dual Problem
Transpose dari LP (Primal)
Bukan lagi masalah optimal bagi peubah keputusan
Masalah optimal bagi sumber daya
Untuk mempelajari efek perubahan- perubahan koefsien dan ketersediaan sumber daya pada hasil optimal
Seolah-olah sumber daya mempunyai ‘harga’ dan menjadi aset: konsep “shadow price”
Bagaimana memanfaatkan aset tersebut dengan optimal
Menentukan Dual Problem dari
suatu LP (Primal) LP semula dinamakan Primal Problem
Jika Primal kasus max → Dual kasus min
Jika Primal kasus min → Dual kasus max
Dibedakan dari tipe permasalahan ◦
Masalah max yang normal: semua peubah non negatif dan semua kendala ≤
◦ Masalah min yang normal: semua peubah non negatif dan semua kendala
≥
Secara Umum
. . . ... ... . .
2 2 1 1 2 2 2 22 1 12 1 1 2 21 1 11 2 2 1 1 m i y c y a y a y a c y a y a y a c y a y a y a t s y b y b y b w i n m mn n n m m m m m m
... min
. . . ... ... . .
) ,..., , 1 ( ...
2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 2 2 1 1 n j x b x a x a x a b x a x a x a b x a x a x a t s x c x c x c z j m n mn m m n n n n n n
... max
) ,..., , 1 ( ...
Primal
peubah mewakili setiap kendala
◦ Dengan setiap
Transpose dari Primal
◦ Normal min ◦
Dual:
Normal Max
◦
Dalam bentuk Tabel Primal vs Dual untuk LP Normal Primal: max z (x 1 ≥0) (x 2 ≥0) …
(x n ≥0) x 1 x 2 … x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≤b2 … … … a m1 a m2 … a mn ≤b m y 1 y 2 … y m
Dual: min w (y 1 ≥0) (y 2 ≥0) …
(y m ≥0) ≥c 1 ≥c 2 … ≥c n
Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i
Dalam bentuk Tabel Primal vs Dual untuk LP non normal Primal: max z (x 1 ≥0) (x 2 ≥0) …
(x n ≥0) x 1 x
2
… x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≥b2 … … … a m1 a m2 … a mn =b m y 1 y 2 … y mDual: min w (y 1 ≥0) (y 2 ≤
0) … (y m urs)
≥c 1 ≥c 2 … ≥c n Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i Dalam bentuk Tabel Primal vs Dual untuk LP Non Normal Primal: max z (x 1 ≥0) (x 2 ≤0) …
(x n urs) x 1 x
2
… x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≥b2 … … … a m1 a m2 … a mn =b m y 1 y 2 … y mDual: min w (y 1 ≥0) (y 2 ≤
0) … (y m urs)
≥c 1 ≤ c 2 … =c n Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i
Contoh LP Dakota sebagai Primal
x 1 : jumlah bangku x 2 : jumlah meja x 3 : jumlah kursi
, , (jam carpentry)
8 5 . 5 .
1
2 (jam finishing)
20 5 .
1
2
4 (bahan 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 Konsep Dual untuk Masalah Dakota
Seolah-olah Dakota akan menjual seluruh sumber daya
(aset) nya, kepada pihak lain. Peubah dari dual adalah harga dari setiap sumber daya◦ Kayu dengan harga y 1
◦ Jam fnishing dengan harga y
2
◦ Jam carpentry dengan harga y 3
Fungsi obyektif adalah minimum total biaya yang harus dikeluarkan oleh pihak pembeli aset ◦
Total persediaan kayu 48 unit (dengan harga y 1 ) ◦
Total persediaan jam fnishing 20 jam (dengan harga y 2 ) ◦ Total persediaan jam carpentry 8 jam (dengan harga y 3 )
3 2 1
8
20 48 min y y y w Konsep Dual untuk Masalah Dakota
Kendala pada Dual: ‘konsep opportunity cost’,
Nilai aset dengan komposisi sesuai pembuatan bangku lebih besar daripada harga bangku
Nilai aset dengan komposisi sesuai pembuatan meja lebih besar daripada harga meja
Nilai aset dengan komposisi sesuai pembuatan kursi lebih besar daripada harga kursi max z 60 x 30 x 20 x 1 2 3 s . t . 8 x 6 x x 48 (bahan kayu) 1 2 3
x : jumlah 1
4 x 2 x 1 . 5 x 20 (jam finishing) 1 2 3
bangku
2 x 1 . 5 x . 5 x 8 (jam carpentry)
x : jumlah meja 1 2 3 2 x : jumlah kursi
x , x , x 1 2 3 3 Harga setiap aset/sumber daya adalah y ,i=1, i 2, 3
Produk Nilai Jual Aset Harga produk Yang dipakai untuk produksi 8 y 4 y 2 y 1
2 3
60 Bangku
6 y 2 y 1 . 5 y 1 2 3
30 Meja
y 1 .
5 y . 5 y
20 1 2 3 Kursi
8 y 4 y 2 y
60 1 2 3 6 y 1 2 y 2 1 . 5 y 3
30 y 1 . 5 y . 5 y
20 1 2 3
Dalam bentuk Tabel Primal vs Dual Dakota Problem
30 5 .
y y y y y y
y y y
y y y t s y y y w3
2
1 32
1 32
1 3 2 1 20 48 min
8
4 . 8 .
2
60
6
2
1
Primal: max z (x 1 ≥0 ) (x 2 ≥0 )
(x 3 ≥0 ) x 1 x 2 x 3
20 5 . 5 .
, ,
Dual
≥60 ≥30 ≥20
(y 3 ≥0 )
(y 1 ≥0 ) (y 2 ≥0 )
1.5 0.5 ≤8 y 1 y 2 y m Dual: min w
2
4 2 1.5 ≤20
6 1 ≤48
8
1
Contoh Primal Pada Diet Problem
min z 50 x 20 x 30 x 80 x 1 2 3 4 s.t.(Calorie
400 x 200 x 150 x 500 x 500 1 2 3 4
constraint) (Chocolate
3 x
2
6 1 x 2
constraint) (Sugar constraint)
2 x 2 x 4 x 4 x
10 1 2 3 4
(Fat constraint)
2 x 4 x x 5 x
8 1 2 3 4 x , x , x , x 1 2 3 4
Konsep Dual untuk Diet Problem
Pada primal, peubah adalah jumlah makanan yang harus dibeli◦ Memenuhi kebutuhan nutrisi
◦ Dengan biaya minimum Pada dual, kita seolah-olah menjadi kolektor nutrisi:
◦ Kalori, coklat, gula dan lemak
◦ Sejumlah kebutuhan yang harus dipenuhi pada Primal Nutrisi tersebut adalah aset yang kita jual
◦ Keputusan: berapa harga per nutrisi agar keuntungan maksimum
Kendala dari sudut pandang calon pembeli: ◦
Harga nutrisi sesuai komposisinya jika dibuat makanan harus
lebih murah daripada harga makanan masing-masing(Calorie constraint) (Chocolate constraint)
, , , 4 3 2 1 x x x x 4 3 2 1
2 2 200 y y y y 4 3 1 4 150 y y y 4 3 1
4
2 3 400 y y y y 4 3 2 1
2
4 3 2 1
3 2 1 x x
2
6
400 200 150 500 500 4 3 2 1 x x x x
x x x x z
20 50 min
30
80
2 4 3 2 1 x x x x
(Sugar constraint) (Fat constraint) s.t. x 1 : jumlah Brownie x 2 : jumlah Ice Cream x 3 : jumlah Soda x 4 : jumlah Cheesecake y 1 : harga per unit kalori y 2 : harga per unit coklat y 3 : harga per unit gula y 4 : harga per unit lemak
4
5
8
2 4 3 2 1 x x x x
2
4
4
10
80
30
20
50
Brownie Ice cream Soda Cheesecake
Makanan Nilai Jual Nutrisi Harga makanan
5 4 500 y y y
400 y 1 3 y 2 2 y 3 2 y 4
pandang pembeli koleksi
200 y 1 2 y 2 2 y 3 4 y 4
20
nutrisi kita
150 y 1 4 y y 3 4
30 500 y 1 4 y 3 5 y 4
nutrisi? Pendapatan maksimum:
- Jumlah/persediaan setiap nutrisi kali harga setiap unit nutrisi max w 500 y
6 y 10 y 8 y 1 2 3 4
Dalam bentuk Tabel Dual vs Primal Diet Problem
, , ,
4 3 2 1 y y y y5 4 500 4 3 1 y y y
80
30 4 150 4 3 1 y y y
2 2 200 4 3 2 1 y y y y
4
20
2 3 400 4 3 2 1 y y y y
2
50
Primal: min z (x 1 ≥0 ) (x 2 ≥0 )
(x
3 ≥0 ) (x 4 ≥0 )10 6 500 max
8
≤50 ≤20 ≤30 ≤80 s.t. 4 3 2 1
Dual: max w (y 1 ≥0) (y 2 ≥0) (y 3 ≥0)
1 5 ≥8 y 1 y 2 y m
4
2
4 4 ≥10
2
2
X 1 x 2 x 3 x 4 400 200 150 500 ≥500 3 2 ≥6
y y y y w
Teorema Dual (Weak Duality)
yb
y y x untuk untuk w z
m ... y y y 2 1
x x x ... 2 1 x
n
Solusi feasibel dari primal:
2 2 1 1 2 2 2 22 1 12 1 1 2 21 1 11 2 2 1 1 m i y c y a y a y a c y a y a y a c y a y a y a t s y b y b y b w i n m mn n n m m m m m m
... min
. . . ... ... . .
) ,..., , 1 ( ...
2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 2 2 1 1 n j x b x a x a x a b x a x a x a b x a x a x a t s x c x c x c z j m n mn m m n n n n n n
... max
. . . ... ... . .
) ,..., , 1 ( ...
Solusi feasibel dari dual:
cx
Contoh Weak Duality pada Dakota Problem
1
1
1
1
x
110
20
1
30
1
60
z
110
x x x x x x x x x x x x t s x x x z
Solusi feasibel dari primal.
20 5 .
Dengan nilai
z: Tidak ada solusi dual feasibel dengan w<110 Semua solusi dual feasibel mempunyai w≥110
, , (jam carpentry)
8 5 . 5 .
1
2 (jam finishing)
1
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
2
4 (bahan kayu)
48
6 . 8 .
20
30 60 max
z w
Solusi feasibel dari Dual.
y y y y y y y y y y y y t s y y y w
680
w
48
10
20
10
8
680
y
10
10
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
Dengan nilai
20 48 min
8
4 . 8 .
2
60
6
2
1
30 5 .
1
20 5 . 5 .
Tidak ada solusi primal feasibel dengan z>680 , ,
w: Semua solusi primal feasibel mempunyai z≤680
w z
Teorema Dual (Strong Duality)
Solusi optimal dari primal:
Solusi optimal dari dual:
Maka akan berlaku: Jika BV adalah basis optimal bagi primal maka solusi optimal dari dual adalah:
n
x x x ... 2 1 x
m ... y y y 2 1
y w z min max
b y x
c
1
B
BV c y Solusi Dual Dakota Problem berdasarkan Teorema Dual:
Basis optimal bagi
s , x , x BV 1 3 1
primal
1
2
8 1
c
20
60 BV
B
2
4
.
5 1 . 5 1
y c B
BV
10
10 y , y 10 , y
10
Solusi optimal bagi 1 2 3 dual:
w
48
20
10
8 10 280
Harga setiap aset/sumber daya Dengan harga jual adalah: aset: $280 - Kayu (y ) seharga $0 1 - Jam fnishing (y ) seharga $10 2
Membaca Solusi Dual dari Optimal Tableau Solusi dual dapat diperoleh dari baris nol tableau optimal (Primal) Tergantung dari tipe permasalahan primal, max atau min Karena peubah dual mewakili kendala dual:
◦ Tergantung pula dari tanda pada kendala ( , , =) ≤ ≥
Tanda pada kendala Solusi Dual ke-i dari baris nol tableau optimal
≤ Koefsien s i
≥ (-) Koefsien e i
= Koefsien a i
PRIMAL kasus MAX PRIMAL kasus MIN
Tanda pada kendala Solusi Dual dari baris nol tableau optimal
≤ Koefsien s i
≥ (-) Koefsien e i
- - M
= Koefsien a i
- + M
≤
Solusi dual (y , i=1, 2, 3), berhubungan dengan masing-masing kendala
i Sehingga pada baris nol tableau optimal primal, solusi dual adalah koefsien s i , i=1, 2, 3Tablea u 2 z x1 x2 x3 s1 s2 s3 rhs BV z=28
Baris 0
1
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
y y y
10
10 1 2 3 min w max z 280
Harga setiap aset/sumber daya adalah:
- - Kayu (y ) seharga $0 1 - Jam fnishing (y ) seharga $10 2
- - 495,6 Baris 1 - 126,2 -46,6 36,4 -1 126,2 46,6 -36,4 432 4 1,5 1 0 -0,5 0,5 3 Semua kendala pada Diet’s Problem Primal adalah ≥ Solusi dual (y i , i=1, 2, 3, 4), berhubungan dengan masing-masing kendala Sehingga pada baris nol tableau optimal primal, solusi dual adalah (-) koefsien e i , i=1, 2, 3, 4
- - 1 ) seharga $0
- Δb harga bayangan kendala ke i
i
- min z baru min z lama Δb harga bayangan kendala ke i
i
- baru max lama max
Tableau Optimal Diet’s Problem
BV z=90 x3=1 e4=5 e1=4 32 x2=3 z x1 x2 x3 x4 e1 e2 e3 e4 a1 a2 a3 a4 rhs 1 -2,75 -50 0 -2,5 -7,5 02,5-M 7,5-M 7,5-M 90 Baris 1 0 -0,25 1 1 0 0,25 -0,25 0 -0,25 0,25 1 Baris 2 0 3,75 -4 0 -1,75 -0,25 1 0 1,75 0,25 -1 5 Baris 3 -1
Harga setiap aset nutrisi adalah: - Kalori (y
Coklat (y 2 ) seharga $2.5 - Gula (y 3 ) seharga $7.5 -
Lemak (y 4 ) seharga $0 Dengan harga jual maksimum $90
5 .
7 5 .
2 4 3 2 1 y y y y
90 min max
z w
Konsep Shadow Prices (Harga
Bayangan) Shadow Price kendala ke-i suatu LP: ◦
Ukuran seberapa banyak perbaikan nilai optimal z jika jumlah sumber daya (koefsien rhs) bertambah satu unit
Dapat dianalisis dari konsep dual max z baru max z lama
Konsep Shadow Price dari Dakota’s Problem
Nilai optimal keuntungan
Diperoleh pada ketersediaan:
48 unit kayu
20 jam fnishing
8 jam carpentry Dari dual:
Setiap unit kayu berharga $0
Setiap jam fnishing berharga $10
Setiap jam carpentry berharga $10 280 max z
Nilai optimal z dapat dinyatakan dalam peubah dual:
max z 48 y 20 y 8 y 1 2 3
48
20
10
8 10 280
Harga bayangan fnishing hour adalah:
Perbaikan (penambahan) nilai z ketika persediaan fnishing hour bertambah 1 jam b 20 b
21 2
1
max z 48 y 20 y 8 y max z ' 48 y 21 y 8 y 1 2 3 1 2 348
21
10
8 10 290
Perbaikan z sebesar y = 2 $10: Shadow
Price
Solusi optimal peubah dual ke-i adalah shadow price dari kendala ke-i masalah Primal
Harga bayangan kayu adalah:
Perbaikan (penambahan) nilai z ketika
persediaan kayu bertambah 1 unit Harga bayangan carpentry hour adalah:
Perbaikan (penambahan) nilai z ketika persediaan carpentry hour bertambah 1 jam i i
Δb y z z
lama max baru max1 i Δb i y z z
$ 1 y
10 $ 3 y Konsep Complementary Slackness
Dengan logika:
Sumber daya yang habis terpakai (s i atau e i =0),
pasti sangat berharga
Penambahan satu unit dari sumber daya tsb akan
menaikkan nilai z (harga bayangan y >0) i
Sumber daya yang tidak habis terpakai (s atau e
i i >0), dianggap tidak berharga (harga bayangan y =0) i◦ Tidak perlu melakukan penambahan, tidak akan menaikkan nilai z Teorema Complementary Slackness
x akan primal optimal dan y akan dual
optimal jika dan hanya jika:Peubah primal Peubah Dual
n
x x
1
x m
... y y y 2 1
y
) ,..., 1 ( m i y s i i
) ,..., 1 ( n j x e j j Dari Dakota’s Problem BFS : x
2 , x , x 8 , s 24 , s s , z 280 1 2 3 1 2 3
Kayu bersisa 24 unit
Finishing hour habis terpakai → penambahan akan
s i meningkatkan nilai z dengan tambahan produksi
Carpentry hour habis terpakai → penambahan akan meningkatkan nilai z dengan tambahan produksi Perbaikan nilai z berdasarkan konsep shadow price
Tambahan kayu, $0
y i Tambahan fnishing hour $10
Tambahan carpentry hour $10
s y ( i
1 ,..., m ) i i