Pada bagian ini akan dibahas formulasi primal-dual dan analisis sensitifitas.
Sumber rujukan:
1. M.S. Bazaraa, J.J. Jarvis, dan H.D. Sherali, ”Linear Programming and Network Flows”, John Wiley & Sons, 1990
1. Formulasi masalah dual. Untuk setiap masalah program linear, ada masalah
program linear yang terkait yang disebut masalah dual. Masalah asal yang terkait
dengam masalah dual ini disebut masalah primal. Kedua masalah tersebut biasanya
disebut dengan masalah primal-dual. Ada dua bentuk masalah dual: bentuk kanonik
dual dan bentuk baku dual.
2. Bentuk kanonik dual. Misalkan masalah program linear primal diberikan dalam
bentuk kanonik:
P : Minimum z = ct x
Ax ≥ b (1)
x ≥ 0.
Masalah dual dari bentuk kanonik (1) adalah
D : Maksimum v = wt b
w t A ≤ ct (2)
w ≥ 0.
Pada formulasi ini, x dinamakan variabel primal dan w dinamakan variabel dual.
3. Bentuk baku dual. Misalkan masalah program linear primal diberikan dalam
bentuk baku:
P : Minimum z = ct x
Ax = b (3)
x ≥ 0.
Masalah (3) dapat dituliskan kembali menjadi bentuk kanonik sebagai berikut:
P : Minimum z = ct x
Ax ≥ b
(4)
−Ax ≥ −b
x ≥ 0.
1
Masalah dual dari (4) diberikan oleh
D : Maksimum v = ut b − vt b
ut A − vt A ≤ ct (5)
u, v ≥ 0,
D : Maksimum v = wt b
w t A ≤ ct (6)
w tak dibatasi.
Perlu dicatat bahwa dual dari masalah dual adalah masalah primal. Hal ini dikenal
dengan sifat involutori dari masalah dual. Hal tersebut dapat dibuktikan sebagai
berikut.
Perhatikan kembali Persamaan (2). Persamaan ini dapat dimodifikasi menjadi
masalah minimum berikut
Minimum z = (−bt )w
(−At )w ≥ (−c) (7)
w ≥ 0.
Maksimum z = xt (−c)
xt (−At ) ≤ (−bt ) (8)
x ≥ 0,
4. Tabel Tucker. Hubungan antara masalah primal dan dual biasanya disajikan
dalam bentuk Tabel Tucker (lihat Tabel 1). Masalah primal dibaca dari kiri ke-
kanan, sedangkan masalah dual dibaca dari atas ke bawah.
5. Bentuk dual untuk masalah yang umum. Dalam kenyataannya, banyak masalah
program linear yang memiliki variabel bertipe nonnegatif sekaligus juga memiliki
variabel bertipe tak dibatasi, dan memuat kendala bertipe pertaksamaan sekaligus
juga bertipe persamaan. Sebenarnya hal ini dapat dimodifikasi sehingga diperoleh
bentuk kanonik ataupun baku untuk kemudian dicari bentuk dualnya. Namun,
2
Primal −→
Variabel x1 ≥ 0 x2 ≥ 0 · · · xn ≥ 0 Tanda Konstanta
w1 ≥ 0 a11 a12 ··· a1n ≥ b1
w2 ≥ 0 a21 a22 ··· a2n ≥ b2
.. .. .. .. .. .. ..
Dual
. . . . . . .
wm ≥ 0 am1 am2 ··· amn ≥ bm
y
Tanda ≤ ≤ ··· ≤ ≤
max v
Konstanta c1 c2 ··· cn ≥ min z
terkadang modifikasi ini tidak selalu memberikan cara yang lebih mudah untuk
mencari bentuk dual dari masalah primalnya. Cara langsung untuk memperoleh
dual tanpa perlu memodifikasi masalah primal dapat dilakukan dengan mengacu
pada aturan-aturan yang terdapat di Tabel 2.
Primal Dual
Masalah minimum ←→ Masalah maksimum
Koefisien fungsi obyektif ←→ Konstanta ruas kanan
Konstanta ruas kanan ←→ Koefisien fungsi obyektif
Matriks kendala ←→ Transpose matriks kendala
Tanda kendala: Variabel:
≥: kendala ke-j ←→ wj ≥ 0
≤: kendala ke-j ←→ wj ≤ 0
=: kendala ke-j ←→ wj tak dibatasi
Variabel: Tanda kendala:
xj ≥ 0 ←→ ≤: kendala ke-j
xj ≤ 0 ←→ ≥: kendala ke-j
xj tak dibatasi ←→ =: kendala ke-j
dengan kendala
x1 − 6x2 + x3 ≥ 2
5x1 + 7x2 − 2x3 = −4
x1 ≤ 0, x2 ≥ 0, x3 tak dibatasi.
3
diberikan oleh
Minimum v = 2w1 − 4w2
dengan kendala
w1 + 5w2 ≤ 8
−6w1 + 7w2 ≥ 3
(10)
w1 − 2w2 = −2
w1 ≤ 0, w2 tak dibatasi.
Sifat (11) dinamakan sifat dualitas lemah.Hal di atas menyatakan bahwa nilai fungsi
obyektif untuk setiap solusi feasibel dari masalah meminimumkan selalu lebih besar
atau sama dengan nilai fungsi obyektif untuk setiap solusi feasibel dari masalah
memaksimumkan. Dengan kata lain, nilai fungsi obyektif untuk suatu solusi feasibel
masalah minimum menjadi batas atas dari nilai fungsi obyektif untuk setiap solusi
feasibel masalah maksimum (hal sebaliknya berlaku pula).
Kesimpulan:
(a) Jika x0 dan w0 masing-masing secara berurutan merupakan solusi feasibel dari
masalah primal dan masalah dual sehingga ct x0 = w0t b, maka x0 dan w0
adalah solusi optimal untuk masing-masing masalah yang terkait.
(b) Jika satu masalah memiliki nilai obyektif tak terbatas, maka masalah yang
lainnya tidak memiliki solusi feasibel.
(c) Jika satu masalah memiliki solusi optimal, maka kedua masalah memiliki solusi
optimal dengan nilai obyektifnya sama (sifat ini dikenal dengan sifat dualitas
kuat).
Dari penjelasan di atas dapat disimpulkan beberapa hal. Untuk masalah primal (P)
dan masalah dual (D) berlaku pernyataan berikut (Teorema Dasar Dualitas):
1. P optimal ⇔ D optimal
2. P(D) tak terbatas ⇒ D(P) tak feasibel
3. P(D) tak feasibel ⇒ D(P) tak terbatas atau tak feasibel
4. P(D) tak feasibel ⇔ D(P) bentuk homogennya tak terbatas
4
Kata optimal di atas maksudnya optimal hingga, kata tak terbatas maskudnya
nilai fungsi obyektifnya tak terbatas. Bentuk homogen dari dual (1) diberikan oleh
bentuk (2) tetapi dengan menggantikan vektor c dengan vektor 0.
Contoh-contoh berikut memberikan ilustrasi hubungan primal-dual yang mungkin
(coba tentukan masalah dualnya terlebih dahulu):
Misalkan aj dan aj masing-masing menyatakan vektor kolom dan vektor baris dari
matriks A. Persamaan (12) dapat dituliskan kembali dalam bentuk komponen men-
jadi
Teorema ini merupakan teorema yang penting dalam membahas masalah primal-
dual. Secara jelas teorema ini menyatakan bahwa paling sedikit salah satu dari dua
komponen dalam masing-masing kondisi harus bernilai nol. Lebih jelasnya,
P : Minimum z = ct x
Ax − Ixs = b (15)
x, xs ≥ 0.
5
dan
D : Maksimum v = wt b
wt A + Iws = ct (16)
w, ws ≥ 0.
Kita akan menuliskan TCS untuk masalah (15)-(16). Notasikan m slack variabel
xn+i dan n slack variabel wm+j :
∗
x∗j wm+j = 0, j = 1, · · · , n, dan wi∗ x∗n+i = 0 i = 1, · · · , m. (17)
dengan kendala
x1 + x2 + 2x3 + x4 + 3x5 ≥ 4
2x1 − 2x2 + 3x3 + x4 + x5 ≥ 3 (18)
x1 , x2 , x3 , x4 , x5 ≥ 4
dengan masalah dual yang terkaitnya:
dengan kendala
w1 + 2w2 ≤ 2
w1 − 2w2 ≤ 3
2w1 + 3w2 ≤ 5
(19)
w1 + w2 ≤ 2
3w1 + w2 ≤ 3
w1 , w 2 ≥ 0
Karena masalah dualnya hanya memuat dua variabel, maka untuk masalah ini lebih
mudah diselesaikan dalam masalah dualnya melalui metode grafik. Dapat diperli-
hatkan bahwa solusi optimalnya dicapai saat w1∗ = 4/5 dan w2∗ = 3/5 dengan nilai
fungsi obyektifnya v ∗ = 5. Dengan memasukkan nilai solusi pada kendala (19),
kita dapatkan kendala ke-1 dan ke-5 tepat dipenuhi (berlaku tanda ’=’) sedangkan
6
kendala yang lainnya tidak (berlaku tanda ≤). Kendala dimana solusi optimalnya
memenuhi hubungan ’=’ disebut binding constraint, sedangkan yang lainnya disebut
non-binding constraint. Berdasarkan TCS, x∗2 = x∗3 = x∗4 = 0. Selanjutnya, karena
w1∗ , w2∗ > 0, maka kendala ke-1 dan ke-2 pada masalah primal dipenuhi dengan
tanda ’=’,
x∗1 + 3x∗5 = 4 dan 2x∗1 + x∗5 = 3
yang memberikan hasil x∗1 = 1 dan x∗5 = 1. Dengan demikian solusi optimal masalah
primal dapat diperoleh dari solusi optimal dual melalui TCS.
9. Solusi dual optimal pada Metode Simplex. Perhatikan kembali bentuk dual
baku (3) dan (6). Misalkan BFS optimal dari (3) diberikan oleh x = (xB , 0) yang
berkorespondensi dengan matriks basis B. Kita akan menentukan solusi dual (6)
yang dinyatakan dalam matriks B. Seperti biasa, matriks A dipartisi menjadi
submatriks basis B dan submatriks nonbasis N, yaitu A = [B, N]. Karena BFS
xB = B−1 b optimal,
Kita memperoleh
Hal ini mengindikasikan bahwa λ solusi feasibel untuk masalah dual. Lebih jauh
lagi,
λt b = ctB B−1 b = ct xB ,
yang menyatakan bahwa nilai fungsi obyektif masalah dual sama persis dengan nilai
fungsi obyektif masalah primalnya. Berdasarkan sifat dualitas dapat disimpulkan
bahwa w = λ yang diberikan Persamaan (21) merupakan solusi optimal masalah
dualnya.
10. Analisis sensitifitas. Dalam beberapa masalah nyata, seringkali dijumpai data
yang akurat tidak tersedia sehingga kita perlu untuk menaksir nilai data-data terse-
but. Hal yang cukup penting seandainya kita dapat memperkirakan solusi optimal
dari data-data yang belum lengkap tersesbut. Hal ini dapat dilakukan dengan tahap
yang disebut analisis sensitifitas.
Perhatikan kembali bentuk dual baku masalah primal (3). Misalkan BFS optimal
dari (3) diberikan oleh x = (xB , 0) yang berkorespondensi dengan matriks basis
7
B, dimana xB = B−1 b. Solusi dualnya diberikan oleh wt = ctB B−1 . Selanjutnya
asumsikan bahwa masalah yang dikaji nondegenerate dan perubahan yang kecil pada
vektor konstan b tidak menyebabkan matriks basisnya berubah. Dengan demikian,
untuk b + △b solusi optimalnya diberikan oleh vektor x = (xB + △xB , 0) dimana
△xB = B−1 △b. Perubahan fungsi obyektifnya diberikan oleh
Latihan
1. Diberikan masalah
Maksimum z = −x1 + 3x2
dengan kendala
2x1 + 3x2 ≤ 6
x1 − 2x2 ≥ −2
x1 , x2 ≥ 0.
2. Diberikan masalah
dengan kendala
x1 + 6x2 + 3x3 + x4 ≥ 2
−2x1 + 5x2 − x3 + 3x4 ≤ −3
x1 , x2 , x 3 , x 4 ≥ 0
8
dengan kendala
−2x1 + x2 + 3x3 + x4 ≥ 5
2x1 + x3 ≤ 4
2x2 + x3 + x4 = 6
x1 ≤ 0
x2 , x3 ≥ 0
x4 tak dibatasi.
4. Diberikan masalah
dengan kendala
(a) Formulasikan masalah dualnya dan perlihatkan bahwa (w1 , w2 ) = (4, 5) solusi
dual feasibe.
(b) Gunakan informasi di (a) untuk menurunkan solusi optimal untuk masalah
primal dan dualnya.