TI2231 Penelitian Operasional I 1
Teori Dualitas dan Penerapannya
(Duality Theory and Its Application)
Materi Bahasan
① Teori dualitas
TI2231 Penelitian Operasional I 3
Teori dualitas
• Dari sudut pandang teoritis dan praktis, teori dualitas
merupakan salah satu konsep penting dan menarik
dalam pemrograman linier.
• Ide dasar dibalik teori dualitas adalah bahwa setiap
masalah pemrograman linier mempunyai satu
pemrograman linier yang terkait yang disebut dual.
• Solusi pada masalah pemrograman liniear originalnya
juga memberikan solusi bagi dualnya.
• Jika suatu solusi masalah pemrograman linier
dipecahkan dengan simplex method, pada dasarnya
diperoleh solusi untuk dua masalah pemrograman
TI2231 Penelitian Operasional I 5
Pemrograman linier dual simetris
• Suatu pemrograman linier dikatakan dalam
bentuk simetris jika
– semua variabel dibatasi tak negatif
– semua pembatas dalam bentuk pertidaksamaan
• untuk masalah maksimisasi, bentuk pertidaksamaan adalah “lebih kecil atau sama dengan”
• untuk masalah minimisasi, bentuk pertidaksamaan adalah “lebih besar atau sama dengan”
Masalah primal
Z = c
1x
1+ c
2x
2+ … + c
nx
na
11x
1+ a
12x
2+ … + a
1nx
n≤ b
1a
21x
1+ a
22x
2+ … + a
2nx
n≤ b
2 . . .a
m1x
1+ a
m2x
2+ … + a
mnx
n≤ b
mx
≥0, x
≥0,…, x
≥0
dengan pembatas
Memaksimumkan
TI2231 Penelitian Operasional I 7
Masalah dual
W = b
1y
1+ b
2y
2+ … + b
my
ma
11y
1+ a
21y
2+ … + a
m1y
m≥ c
1a
12y
1+ a
22y
2+ … + a
m2y
n≥ c
2 . . .a
1ny
1+ a
2ny
2+ … + a
mny
m≥ c
ny
1≥0, y
2≥0,…, y
m≥0
dengan pembatas
Meminimumkan
Notasi matrix
Primal: Memaksimumkan Z = cx dengan pembatas Ax ≤ b x ≥ 0 Dual: Meminimumkan W = yb dengan pembatas yA ≥ c y ≥ 0 A : matriks (m x n) b : vektor kolom (m x 1) c : vektor baris (1 x n)TI2231 Penelitian Operasional I 9
Masalah primal-dual
Primal Max Z = 3x1 + 2x2 dengan pembatas-pembatas: x1 + 2x2 ≤ 6 2x1 + x2 ≤ 8 – x1 + x2 ≤ 1 x2≤
2 x1, x2 ≥ 0 Dual Min W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas: y1 + 2y2 – y3 ≥ 3 2y1 + y2 + y3 + y4 ≥ 2 y1, y2, y3, y4 ≥ 0Hubungan primal-dual
• Koefisien fungsi tujuan untuk masalah primal menjadi konstanta ruas kanan bagi dual.
• Konstanta ruas kanan dari primal menjadi koefisien fungsi tujuan bagi dual.
• Pertidaksamaan untuk pembatas dibalik untuk kedua masalah. • Tujuan diubah dari maksimisasi untuk primal menjadi
minimisasi untuk dual.
• Tiap kolom dalam primal menjadi (baris) pembatas pada dual; sehingga jumlah pembatas dual sama dengan jumlah variabel primal.
• Tiap (baris) pembatas dalam primal berkaitan dengan kolom pada dual; sehingga satu variabel dual berkaitan dengan satu
TI2231 Penelitian Operasional I 11
Beberapa teorema dalam teori dualitas
• Weak duality theorem
• Optimality criterion theorem
• Main duality theorem
Teorema 1:
Weak duality theorem (1)
Misalkan diberikan program linier primal-dual simetris:
P: max Z = cx, Ax ≤ b, x ≥ 0
D: min W = yb, yA ≥ c, y ≥ 0
Nilai fungsi tujuan dari masalah minimimasi (dual)
untuk sebarang solusi layak selalu lebih besar atau sama
dengan nilai fungsi tujuan masalah maksimisasi (primal).
TI2231 Penelitian Operasional I 13
Teorema 1:
Weak duality theorem (2)
Bukti
Misalkan:
x0 : vektor solusi layak untuk primal y0 : vektor solusi layak untuk dual
Akan dibuktikan bahwa: y0b ≥ cx0
Karena x0 adalah layak untuk primal, maka Ax0 ≤ b, x0 ≥ 0 (1)
Karena y0 adalah layak untuk dual, maka y0A ≥ c, y0 ≥ 0 (2) Perkalian kedua sisi pertidaksamaan (1) dengan y0 Æ y0Ax0 ≤ y0b Perkalian kedua sisi pertidaksamaan (2) dengan x0 : y0Ax0 ≤ cx0 Implikasi : y0b ≥ y0Ax0 ≥ cx0
Teorema 1:
Weak duality theorem (3)
• Konsekuensi 1:
– Nilai fungsi tujuan dari masalah maksimisasi (primal) untuk sebarang solusi layak merupakan batas bawah dari nilai minimum fungsi tujuan dual.
• Konsekuensi 2:
– Nilai fungsi tujuan dari masalah minimisasi (dual) untuk sebarang solusi layak (dual) merupakan batas atas dari nilai maksimum fungsi tujuan primal.
• Konsekuensi 3:
– Jika masalah primal adalah layak dan nilai fungsi tujuannya tak terbatas (dalam hal ini, max Z →+∞), maka masalah
TI2231 Penelitian Operasional I 15
Teorema 1:
Weak duality theorem (4)
• Konsekuensi 4:
– Jika masalah dual adalah layak dan nilai fungsi tujuannya tak terbatas (dalam hal ini, min W →-∞), maka masalah primal adalah tak layak.
• Konsekuensi 5:
– Jika masalah primal adalah layak dan dualnya tak layak maka masalah primal tersebut adalah tak terbatas.
• Konsekuensi 6:
– Jika masalah dual adalah layak dan primalnya adalah tak layak maka masalah dual tersebut adalah tak terbatas.
Teorema 1: Weak duality theorem (4)
- Ilustrasi #1
Primal Max Z = 3x1 + 2x2 dengan pembatas-pembatas: x1 + 2x2 ≤ 6 2x1 + x2 ≤ 8 – x1 + x2 ≤ 1 x2≤
2 x1, x2 ≥ 0 Dual Min W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas: y1 + 2y2 – y3 ≥ 3 2y1 + y2 + y3 + y4 ≥ 2 y1, y2, y3, v4 ≥ 0TI2231 Penelitian Operasional I 17
Teorema 1: Weak duality theorem (4)
- Ilustrasi #1
0 , 4 20 0 1 = x =x adalah solusi layak untuk primal.
Nilai fungsi tujuan primal Z = cx0 = 12
0
,
0
,
5
,
0
20 30 40 0 1=
y
=
y
=
y
=
y
adalah solusi layak untuk dualNilai fungsi tujuan dual W = y0b = 40
Disini Z = cx0 ≤ y0b = W dan memenuhi weak duality
theorem.
Berdasarkan Konsekuensi (1), nilai minimum W untuk dual tidak dapat lebih kecil dari 12.
Berdasarkan Konsekuensi (2), nilai minimum Z untuk primal tidak dapat melebihi 40.
Teorema 1: Weak duality theorem (4)
- Ilustrasi #2
Memaksimumkan Z = 4x1 + x2 dengan pembatas-pembatas: x1 – x2 ≤ 2 -3x1 + x2 ≤ 3 x1 ≥ 0, x2 ≥ 0 Meminimumkan W = 2y1 + 3y2 dengan pembatas-pembatas: y1 – 3y2 ≥ 4 - y1 + y2 ≥ 1 y1 ≥ 0, y2 ≥ 0Primal:
Dual
TI2231 Penelitian Operasional I 19
Teorema 1: Weak duality theorem (4)
- Ilustrasi #2
x
1x
2Solusi primal
Æ tak terbatas
Teorema 1: Weak duality theorem (4)
- Ilustrasi #2
y
2Solusi dual
Æ tak layak
TI2231 Penelitian Operasional I 21
Teorema 2:
Optimality criterion theorem (1)
Jika terdapat solusi layak x
0dan y
0untuk masalah
pemrograman linier dual simetris sedemikian hingga
nilai fungsi tujuannya adalah sama,
maka solusi layak ini adalah solusi optimal bagi
masing-masing masalah.
Teorema 2:
Optimality criterion theorem (2)
Bukti
Misalkan x adalah sebarang solusi layak bagi masalah primal. Maka berdasarkan Teorema 1,
cx ≤ y0b
Tetapi ini diberikan bahwa cx0 = y0b.
Oleh karena itu cx ≤ cx0 untuk semua solusi layak bagi masalah primal.
Per definisi, x0 adalah optimal bagi primal.
TI2231 Penelitian Operasional I 23
Teorema 3:
Main duality theorem
Jika baik masalah primal maupun dual adalah layak,
maka keduanya mempunyai solusi optimal sedemikian
hingga nilai optimalnya adalah sama.
Teorema 4:
Complemantary slackness theorem (1)
Misalkan diberikan program linier primal-dual simetris:
P: max Z = cx, Ax ≤ b, x ≥ 0
D: min W = yb, yA ≥ c, y ≥ 0
dimana
A : matriks (m x n)
b : vektor kolom (m x 1)
c : vektor baris (1 x n)
x : vektor kolom (n x 1)
y : vektor baris (1 x m)
TI2231 Penelitian Operasional I 25
Teorema 4:
Complemantary slackness theorem (2)
Misalkan:
x
0: vektor solusi layak untuk primal
y
0: vektor solusi layak untuk dual
Maka x
0dan y
0adalah optimal untuk masalah
masing jika dan hanya jika
Teorema 4:
Complemantary slackness theorem (3)
Bukti: Misalkan ⎟⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = × m m u u u # 2 1 ) 1
( u adalah vektor slack untuk primal
(
n)
n) v1,v2, ,v 1
( ×v = "
adalah vektor slack untuk dual Karena x0 dan y0 adalah solusi layak, maka
0 u x b u Ax0 + 0 = 0 0 ≥ , ; 0 v y c v A y0 − 0 = 0 0 ≥ , ; (1) (2)
TI2231 Penelitian Operasional I 27
Teorema 4:
Complemantary slackness theorem (4)
Perkalian (1) dengan y0 Æ y0Ax0 + y0u0 = y0b (3) Perkalian (2) dengan x0 Æ y0Ax0 – v0x0 = cx0 (4) Pengurangan (3) dengan (4) Æ y0u0 + v0x0 = y0b – cx0 (5)
Untuk membuktikan Teorema 4, harus diperlihatkan bahwa
x0 dan y0 adalah solusi optimal bagi masing-masing masalah
primal dan dual jika dan hanya jika
Teorema 4:
Complemantary slackness theorem (5)
Bagian 1
Diasumsikan bahwa x0 dan y0 adalah solusi optimal dan harus dibuktikan bahwa Persamaan (6) adalah benar.
Karena x0 dan y0 adalah optimal, berdasarkan Teorema 3 maka
cx0 = y0b.
Oleh karena itu, Persamaan (5) menjadi Persamaan (6)
TI2231 Penelitian Operasional I 29
Teorema 4:
Complemantary slackness theorem (6)
Bagian 2
Diasumsikan bahwa Persamaan (6) adalah benar dan
akan dibuktikan bahwa x0 dan y0 adalah solusi optimal bagi masing-masing masalah primal dan dual
Karena Persamaan (6) benar, maka Persamaan (5) menjadi
y0b – cx0.
y0u0 + v0x0 = y0b – cx0 Æ y0b = cx0
Complementary slackness condition
Persamaan (6) : v0x0 + y0u0 = 0 dari complementary slackness
theorem dapat disederhanakan sebagai berikut:
vj0x
j0 = 0 untuk semua j = 1, 2, …, n
yi0u
i0 = 0 untuk semua i = 1, 2, …, m
dengan memperhatikan hal-hal berikut:
1. x0, u0, v0, y0 ≥ 0 dan oleh karena itu v0x0 ≥ 0 dan y0u0 ≥ 0.
TI2231 Penelitian Operasional I 31
Complementary slackness condition
① Jika suatu variabel primal (x
j0) adalah positif, maka
pembatas dual yang bersesuaian memenuhi
persamaan pada titik optimalnya (yaitu, v
j0= 0)
② Jika suatu pembatas primal adalah strick inequality
pada titik optimal (yaitu, u
j0> 0), maka variabel
dual yang bersesuaian (y
i0) harus nol.
③ Jika suatu variabel dual (y
i0) adalah positif maka
pembatas primal yang bersesuaian memenuhi
persamaan pada titik optimalnya (yaitu, u
i0= 0)
④ Jika suatu pembatas dual adalah strick inequality
pada titik optimal (yaitu v
i0> 0), maka variabel
primal yang bersesuaian harus nol
Ilustrasi (1)
Primal Max Z = 3x1 + 2x2 dengan pembatas-pembatas: x1 + 2x2 ≤ 6 2x1 + x2 ≤ 8 – x1 + x2 ≤ 1 x2≤
2 x1, x2 ≥ 0 Dual Min W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas: y1 + 2y2 – y3 ≥ 3 2y1 + y2 + y3 + y4 ≥ 2 y1, y2, v1, v2 ≥ 0TI2231 Penelitian Operasional I 33
Ilustrasi (2)
Primal
(Penambahan slack variable)
Max Z = 3x1 + 2x2 dengan pembatas-pembatas: x1 + 2x2 + u1 = 6 2x1 + x2 + u2 = 8 – x1 + x2 + u3 = 1 x2 + u4 = 2 x1, x2, u1, u2, u3, u4 ≥ 0 Dual
(Penambahan slack variable)
Min W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas:
y1 + 2y2 – y3 – v1 = 3 2y1 + y2 + y3 + y4 – v2 = 2
Ilustrasi (3)
Complementary slackness condition mengimplikasikan
pada kondisi optimal:
0
0 1 0 1y
=
u
0
0 2 0 2y
=
u
0
0 3 0 3y
=
u
0
0 4 0 4y
=
u
0
0 1 0 1v
=
x
TI2231 Penelitian Operasional I 35
Ilustrasi (4)
Dengan metode simplex diperoleh solusi optimal
untuk masalah primal sebagai berikut:
3
/
10
0 1=
x
3
/
4
0 2=
x
Z = 38/3
Ilustrasi (5)
Dengan penerapan complementary slackness condition,
solusi optimal bagi dual ditentukan sebagai berikut
0
0
3
/
10
10 0 1=
>
→
v
=
x
0
0
3
/
4
20 0 2=
>
→
v
=
x
( )
4
/
3
6
0
,
0
2
3
/
10
2
20 10 10 0 1+
x
=
+
=
→
u
=
y
≥
x
(
10
/
3
)
4
/
3
8
0
,
0
2
2
x
10+
x
20=
+
=
→
u
20=
y
20≥
(
10
/
3
)
4
/
3
2
1
300
,
300
0 2 0 1+
=
−
+
=
−
<
→
>
=
−
x
x
u
y
(1)
(2)
(3)
(4)
(5)
TI2231 Penelitian Operasional I 37
Ilustrasi (6)
Kondisi (1), (2), (5) dan (6) mengimplikasikan:
3
2
20 0 1+ y
=
y
2
2
y
10+ y
20=
3
/
1
0 1=
y
3
/
4
0 2=
y
W = 38/3
0
0 3=
y
0
0 4=
y
Penerapan complementary slackness condition
• Digunakan untuk mencari solusi primal optimal dari
suatu solusi dual optimal, dan sebaliknya.
• Digunakan untuk memverifikasi apakah suatu solusi
layak adalah optimal untuk masalah primal.
• Digunakan untuk menginvestigasi ciri-ciri umum dari
solusi optimal pada masalah primal dan dual dengan
menguji hipotesis-hipotesis yang berbeda.
• Kuhn-Tucker optimality condition untuk
pemrograman non linier merupakan pengembangan
lebih lanjut dari complementary slackness condition
dan sangat berguna dalam pemrograman matematis
TI2231 Penelitian Operasional I 39
Karakteristik pokok
hubungan primal-dual
y ≥ 0 x ≥ 0 Variabel keputusan yA ≥ c Ax ≤ b Pertidaksamaan pembatas Min W = yb Max Z = cx Fungsi tujuanKonstanta ruas kanan Vektor biaya
c
Vektor biaya Konstanta ruas kanan
b
Transpos dari matriks pembatas
Matriks pembatas
A
Dual Primal
Interpretasi ekonomi dari
solusi dual (1)
• Dalam pandangan ekonomi, solusi dual
optimal dapat diinterpretasikan sebagai harga
yang dibayarkan untuk sumberdaya pembatas.
• Berdasarkan Teorema 3 (main duality), nilai
optimal bagi primal dan dual adalah sama.
• Jika x
0dan y
0masing-masing adalah solusi
TI2231 Penelitian Operasional I 41
Interpretasi ekonomi dari
solusi dual (2)
• Dengan kata lain, nilai optimal dari masalah
pemrograman linier (primal atau dual) diberikan oleh
dimana
b
1, b
2, …, b
madalah jumlah yang terbatas dari
sumberdaya 1, 2, .., m;
y
10, y
10, …, y
10adalah nilai optimal dari variabel dual.
m m
b
y
b
y
b
y
Z
0=
10 1+
20 2+
"
+
0Interpretasi ekonomis dari
solusi dual (3)
• Misalkan diasumsikan bahwa level sumberdaya 1 (yaitu, b1) diubah.
• Maka, untuk variasi kecil dalam perubahan nilai b1, katakan Δb1, perubahan dalam nilai optimal dari pemrograman linier Z0
diberikan oleh y10(Δb 1).
• Dengan kata lain, nilai optimal dari variabel dual untuk tiap pembatas primal memberikan perubahan bersih (net change) dalam nilai optimal dari fungsi tujuan untuk peningkatan satu satuan dalam konstanta ruas kanan.
• Oleh karena itu, nilai optimal dari variabel dual disebut
TI2231 Penelitian Operasional I 43
Contoh interpretasi solusi dual (1)
Memaksimumkan Z = 3x1 + 2x2
dengan pembatas-pembatas:
x1 + 2x2 ≤ 6 (Bahan A)
2x1 + x2 ≤ 8 (Bahan B)
– x1 + x2 ≤ 1 (Selisih permintaan cat interior dan eksterior)
x2 ≤ 2 (Permintaan cat interior) x1 ≥ 0
x2 ≥ 0
Contoh interpretasi solusi dual (2)
Dual:
Meminimumkan W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas: y1 + 2y2 – y3 ≥ 3 2y1 + y2 + y3 + y4 ≥ 2 y1, y2, y3, y4 ≥ 0TI2231 Penelitian Operasional I 45
Contoh interpretasi solusi dual (3)
Solusi optimal dual:
y1 = 10/3 Æ shadow price untuk pembatas bahan A, yaitu perubahan dari nilai Z (profit total) per satu satuan peningkatan bahan A.
y2 = 4/3 Æ shadow price untuk pembatas Bahan B, yaitu perubahan dari nilai Z (profit total) per satu satuan peningkatan bahan B.
y3 = 0 Æ shadow price untuk selisih permintaan cat interior
dan exterior, yaitu perubahan dari nilai Z (profit total) per satu satuan peningkatan selisih permintaan cat interior dan exterior.
y4 = 0 Æ shadow price untuk pembatas permintaan cat interior, yaitu perubahan dari nilai Z (profit total) per satu
Masalah primal-dual tak simetris (1)
Memaksimumkan Z = 4x1 + 5x2 dengan pembatas 3x1 + 2x2 ≤ 20 4x1 – 3x2 ≥ 10 x1 + x2 = 5 x1 ≥ 0x tak dibatas tanda
TI2231 Penelitian Operasional I 47
Masalah primal-dual tak simetris (2)
Memaksimumkan Z = 4x1 + 5x3 – 5x4 dengan pembatas 3x1 + 2x3 – 2x4 ≤ 20 – 4x1 + 3x3 – 3x4 ≤ – 10 x1 + x3 – x4 ≤ 5 – x1 – x3 + x4 ≤ – 5 x1, x3, x4 ≥ 0
Masalah primal-dual tak simetris (2)
Meminimumkan W = 20w1 – 10w2 +5w3 – 5w4 dengan pembatas 3w1 – 4w2 + w3 – w4 ≥ 4 2w1 + 3w2 + w3 – w4 ≥ 5 – 2w1 – 3w2 – w3 + w4 ≥ – 5 w1, w2, w3, w4 ≥ 0TI2231 Penelitian Operasional I 49
Masalah primal-dual tak simetris (2)
Meminimumkan W = 20y1 + 10y2 +5y3
dengan pembatas
3y1 + 4y2 + y3 ≥ 4 2y1 – 3y2 + y3 = 5
y1 ≥ 0 y2 ≤ 0
y3 tak dibatasi tanda
Masalah Dual
y1 = w1
y2 = – w2
Tabel primal-dual secara umum
Pembatas dual ke-j bertipe ≥
x ≥ 0
Pembatas dual ke-j adalah persamaan
xj tak dibatasi tanda
Varibel dual yi ≤ 0 Pembatas ke-i bertipe ≥
Varibel dual yi ≥ 0 Pembatas ke-i bertipe ≤
Variabel dual yi tak dibatasi tanda Pembatas ke-i adalah persamaan
Vektor ruas kanan Vektor harga c
Vektor biaya Vektor ruas kanan
Transpos matriks koefisien Matriks koefisien A
Dual (minimisasi) Primal (maksimisasi)
TI2231 Penelitian Operasional I 51
Catatan (1)
• Teorema (1), (2), (3), dan (4) dari teori dualitas
berlaku juga bagi primal-dual tak simetris.
• Complementary slackness condition juga
berlaku untuk solusi optimal primal-dual tak
simetris..
Catatan (2)
Misalkan diberikan masalah pemrograman linier dalam bentuk standar
Memaksimumkan Z = cx dengan pembatas Ax = b x ≥ 0 Masalah dual Meminimumkan W = yb dengan pembatas yA ≥ c
TI2231 Penelitian Operasional I 53
Menentukan solusi dual optimal (1)
• Solusi dual optimal dapat ditentukan dengan
complementary slackness condition
• Solusi dual optimal dapat juga diperoleh secara
langsung dari tabel simplex optimal dari
Menentukan solusi dual optimal (2)
Meminimumkan Z = cx
dengan pembatas
Ax = b
x ≥ 0
TI2231 Penelitian Operasional I 55
Menentukan solusi dual optimal (3)
Misalkan :
P
j: kolom ke-j dari matrix A
B : matrix basis optimal
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
=
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
=
−0
b
B
x
x
x
1 * N BSolusi primal optimal :
dimana
x
B: varabel basis
Menentukan solusi dual optimal (4)
Nilai minimum Z = cx
*= c
Bx
B= c
BB
-1b
Karena B menunjukkan basis optimal, maka koefisien
biaya relatif ( ) yang berkaitan dengan variabel basis
harus tak negatif
j
c
0
≥
−
=
j j jc
c
π
P
untuk semua j
dimana
TI2231 Penelitian Operasional I 57
Menentukan solusi dual optimal (5)
Dalam notasi matrix:
c -
π
A ≥ 0 atau
π
A
≤ c
yang merupakan pembatas pemrograman linier dual.
Sehingga, pengali simplex optimal harus memenuhi
pembatas dual.
Menentukan solusi dual optimal (6)
Nilai fungsi tujuan dual yang berkaitan dengan solusi
layak adalah
W = yb =
π
b = c
BB
-1b
yang sama dengan nilai minimum Z.
TI2231 Penelitian Operasional I 59
Ilustrasi menentukan
solusi dual optimal (1)
Primal (Dalam bentuk standar)
Max Z = 3x1 + 2x2 dengan pembatas-pembatas: x1 + 2x2 + x3 = 6 2x1 + x2 + x4 = 8 – x1 + x2 + x5 = 1 x2 + x6 = 2 x1, x2, x3, x4, x5, x6 ≥ 0 Dual: Min W = 6y1 + 8x2 + y3 + 2y4 dengan pembatas-pembatas: y1 + 2y2 – y3 = 3 2y1 + y2 + y3 + y4 = 2 y1 ≥ 0 y2 ≥ 0 y3 ≥ 0 y4 ≥ 0 y1, y2, y3, y4 tak dibatasi tanda
Ilustrasi menentukan
solusi dual optimal (2)
Dengan metode revised simplex, solusi optimal untuk primal:
x = (x
2, x
1, x
5, x
6) = (4/3, 10/3, 3, 2/3)
Z = 38/3
Matrix basis optimal:
[
]
⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡ − = = 0 1 1 1 0 0 2 1 0 0 1 2 6 5 1 2 P P P P BTI2231 Penelitian Operasional I 61
Ilustrasi menentukan
solusi dual optimal (3)
Simplex multiplier optimal :
(
)
(
1/3,4/3,0,0)
1 0 3 / 1 3 / 2 0 1 1 1 0 0 3 / 2 3 / 1 0 0 3 / 1 3 / 2 0 , 0 , 3 , 2 1 = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − = =c B− π Bπ memenuhi pembatas dual, dan nilai fungsi tujuannya:
W = 6(1/3) + 8(4/3) + 1(0) + 2(0) = 38/3
yang bersesuaian dengan nilai optimal untuk masalah primal. Oleh karena itu,
y1 = 1/3, y2 = 3/4, y3 = 0, y4 = 0 Æ optimal untuk dual.
Simplex multiplier yang bersesuaian dengan tabel (primal) optimal
TI2231 Penelitian Operasional I 63
Masalah Pemrograman Linier (Primal) dalam
Bentuk Standar
minimisasi
Z = cx
dengan pembatas
Ax = b
x ≥ 0
A : matrix (m x n)
P : vektor kolom dari matrix A
B : matrix basis untuk masalah primal
Basis Layak Primal
Basis B : basis layak primal (primal feasible basis) ⇔
B
-1b ≥ 0
B : basis layak primal
→ nilai variabel basis: B
-1b
solusi layak basis x
B= B
-1b
nilai fungsi tujuan Z = c
BB
-1b
TI2231 Penelitian Operasional I 65
Kondisi Optimalitas (1)
Untuk memeriksa apakah basis layak B adalah optimal Æ
hitung koefisien fungsi tujuan relatif
(
c
j)
j j
j
c
c
=
−
πP
j = 1, …, n
π = c
BB
-1: simplex multiplier
Basis layak primal B adalah optimal ⇒
c
j≥
0
Kondisi Optimalitas (2)
maksimisasi
W = yb
dengan pembatas
yA
≤ c
y tak dibatas tanda
TI2231 Penelitian Operasional I 67
Kondisi Optimalitas (3)
Pembatas dual yA
≤ c dapat ditulis:
(
P
1,
P
2,
"
,
P
n) (
≤
c
1,
c
2,
"
,
c
n)
y
j jc
yP
≤
0
≥
−
j jc
yP
j = 1, …, nKondisi Optimalitas (4)
Jika basis layak primal B : basis optimal bagi masalah primal
Æ simplex multiplier π = c
BB
-1memenuhi
0
≥
−
jj
c
yP
j = 1, …, nImplikasi Æ
π : layak bagi masalah dual
Nilai fungsi tujuan dual W = πb = c
BB
-1b sama dengan
nilai fungsi tujuan primal
TI2231 Penelitian Operasional I 69
Basis Dual Layak (1)
Basis B untuk masalah primal
minimisasi
Z = cx
dengan pembatas
Ax = b
x ≥ 0
layak dual (dual feasible) ⇔ c – c
BB
-1A ≥ 0
Basis Dual Layak (2)
Basis B untuk masalah primal : layak primal dan layak dual
ÆBasis B : basis optimal
Solusi optimal untuk primal : x
B= B
-1b, x
N
= 0
Solusi optimal untuk dual : y = c
BB
-1Nilai optimal primal = Nilai optimal dual
TI2231 Penelitian Operasional I 71
Catatan
• Akar dari pemecahan masalah pemrograman linier Æ
mendapatkan solusi basis B yang layak primal dan
layak dual
• Metode simplex Æ bergerak dari satu basis layak
primal ke basis yang lain hingga basis tersebut
menjadi layak dual
– Metode simplex primal (primal simplex method)
• Metode simplex dual (dual simplex method) Æ
Rincian Metode Simplex Dual (1)
Pemrograman linier bentuk standar:
minimisasi
Z = cx
dengan pembatas
Ax = b
x ≥ 0
TI2231 Penelitian Operasional I 73
Rincian Metode Simplex Dual (2)
• Metode simplex dual menggunakan tabel yang
sama dengan metode simplex primal.
• Dalam semua tabel, koefisien fungsi tujuan
relatif
dipertahankan tak negatif (Untuk
maksimisasi, dipertahankan tak positif)
• Konstanta ruas kanan tidak perlu tak negatif.
)
(
c
jj
Rincian Metode Simplex Dual (3)
• Algoritma mulai dengan membuat elemen ruas
kanan menjadi tak negatif, dengan pada saat
yang sama menjaga koefisien
tak negatif.
• Algoritma berhenti jika semua konstanta ruas
kanan telah tak negatif.
j
TI2231 Penelitian Operasional I 75
Rincian Metode Simplex Dual (4)
ymn yms … ym,m+1 1 … 0 … 0 xm yrn … yrs … yr,m+1 0 … 1 … xr … … 0 … 0 … 0 … … … … y1n … y1s … y1,m+1 0 … 0 … 1 x1 Konstanta xn … xs … xm+1 xm … xr … x1 Basis c cm+1 cs cn 1 b r b m b
Pemilihan Variabel Basis
yang Keluar Basis
Pilih variabel basis yang membuat solusi saat ini menjadi
tidak layak
dengan kata lain
Pilih variabel basis yang nilai solusinya negatif
Aturan Æ Pilih variabel basis yang nilai
paling negatif
( )
0
min
<
=
i i rb
b
ib
Misal:
TI2231 Penelitian Operasional I 77
Pemilihan Variabel Non Basis yang Masuk
Basis (1)
Kolom pivot dipilih sedemikian rupa sehingga memenuhi
dua kondisi sebagai berikut:
1. Ketidaklayakan primal berkurang (atau paling sedikit,
tidak bertambah jelek).
Atau, paling sedikit konstanta ruas kanan pada baris r
menjadi positif pada tabel berikutnya
Æ Variabel non basis (x
j) dengan koefisien negatif
dalam baris r (y
rj< 0) yang memenuhi syarat untuk
masuk basis
Pemilihan Variabel Non Basis yang Masuk
Basis (2)
2. Tabel berikutnya setelah operasi pivot harus tetap
layak dual.
Dapat dijamin jika variabel non basis yang masuk
basis dipilih dengan aturan rasio sebagai berikut:
⎥
⎥
⎦
⎤
⎢
⎢
⎣
⎡
< rj j yy
c
rj 0max
j = m+1, …, n
TI2231 Penelitian Operasional I 79
Ilustrasi Metode Simplex Dual
Meminimumkan Z = x1 + 4x2 + 3x4 dengan pembatas x1 + 2x2 – x3 + x4 ≥ 3 – 2x1 – x2 + 4x3 + x4 ≥ 2 x1, x3, x3, x4 ≥ 0 Meminimumkan Z = x1 + 4x2 + 3x4 dengan pembatas x1 + 2x2 – x3 + x4 – x5 = 3 – 2x1 – x2 + 4x3 + x4 – x6 = 2 x1, x3, x3, x4, x5, x6 ≥ 0
Bentuk standar :
Tabel 1
0 1 0 x6 0 4 1 -2 x2 4 0 3 0 1 -2 0 -1 -4 2 x6 0 -3 1 -1 1 -1 x5 0 x5 x4 x3 x1 Konstanta 0 3 0 1 cB c Baris Basis cjTI2231 Penelitian Operasional I 81
Tabel 2
0 1 0 x6 0 2 -3 2 x2 4 1 2 1 0 -8 2 -3 -2 0 x6 0 3 -1 1 -1 1 x1 1 x5 x4 x3 x1 Konstanta 0 3 0 1 cB c Baris Basis cjTidak layak primal
Layak dual
Tabel 3
1/2 -1/2 -1/2 x6 0 1/2 3/2 7/2 x2 4 Z = 7 2 1/2 0 0 4 -1 3/2 1 0 x3 0 7 -2 5/2 0 1 x1 1 x5 x4 x3 x1 Konstanta 0 3 0 1 cB c Baris Basis cjTI2231 Penelitian Operasional I 83
Mengidentifikasi Ketidaklayakan Primal dalam
Metode Simplex Dual
• Dalam metode simplex dual Æ selalu terdapat
solusi layak bagi dual.
• Metode simplex dual mengenali
ketidaklayakan primal jika aturan rasio gagal
mengidentifikasi variabel non basis yang
masuk basis
Memecahkan Masalah Maksimisasi
dengan Metode Simplex Dual
Dalam masalah maksimisasi Æ Kondisi optimalitas:
Koefisien fungsi tujuan
(
c
j)
≤
0
Misal,
b
r<
0
dan x
r: variabel keluar basis
Variabel non basis yang masuk basis Æ dipilih sedemikian
rupa sehingga elemen baris
tetap tak positif pada
iterasi berikutnya.
c
Aturan rasio:
⎥
⎤
⎢
⎡
c
jTI2231 Penelitian Operasional I 85
Penerapan metode simplex dual
• Secara umum adalah tidak selalu mudah mendapatkan suatu basis layak dual.
• Dalam banyak praktek, masalah tidak mempunyai tabel kanonik baik yang layak primal maupun layak dual.
• Metode simpleks primal lebih disukai daripada metode simpleks dual.
• Beberapa aplikasi dari metode simpleks dual:
– Analisis sensitivitas (sensitivity analysis) dan pemrograman parametrik (parametric programming)
– Algoritma pemrograman bilangan bulat (integer programming
algorithms)
– Algoritma pemrograman non linier (nonlinear programming algorithm) – Varian dari metode simplex: primal-dual algorithm, self-dual