Anda di halaman 1dari 9

Dualitas dan Analisis Sensitifitas

Agus Yodi Gunawan


November 25, 2014

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

2. D.G. Luenberger dan Y. Ye,”Linear and Nonlinear Programmingn”, Springer, 2008.

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,

dimana variabel dualnya dinyatakan oleh (u, v). Dengan menuliskan w = u − v


dan memperhatikan (5), maka masalah dual dari bentuk baku (3) adalah

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.

Dual dari Persamaan (7) diberikan oleh

Maksimum z = xt (−c)
xt (−At ) ≤ (−bt ) (8)
x ≥ 0,

yang bersesuaian dengan


Minimum z = ct x
Ax ≥ b (9)
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

Tabel 1: Tabel Tucker.

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

Tabel 2: Aturan untuk hubungan masalah primal-dual.

Sebagai contoh, masalah dual dari

D : Maksimum z = 8x1 + 3x2 − 2x3

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.

6. Sifat dualitas. Perhatikan bentuk kanonik dual (1)-(2). Misalkan x0 dan w0


masing-masing secara berurutan merupakan solusi feasibel dari masalah primal dan
masalah dual. Maka Ax0 ≥ b, x0 ≥ 0, w0t A ≤ ct dan w0 ≥ 0. Lebih jauh lagi,

ct x0 ≥ w0t Ax0 ≥ w0t b. (11)

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):

1. min z = x1 , kendala: x1 = 5, x1 ≥ 0 (P: feasibel, D: feasibel).


2. min z = −x1 − x2 , kendala: x1 − x2 = 5, x1 , x2 ≥ 0 (P: feasibel, D: tak feasibel,
min z → −∞).
3. min z = x1 , kendala: x1 = −5, x1 ≥ 0 (P: tak feasibel, D: feasibel, max v →
∞).
4. min z = −x1 − x2 , kendala: x1 − x2 = 5, x1 − x2 = −5, x1 , x2 ≥ 0 (P: tak
feasibel, D: tak feasibel).

7. Teorema Complementary Slackness/ TCS. Misalkan x∗ dan w∗ masing-


masing secara berurutan merupakan solusi feasibel dari masalah primal dan masalah
dual dalam bentuk dual kanonik. Maka, x∗ dan w∗ masing-masing merupakan solusi
optimal jika dan hanya jika

(ct − (w∗ )t A)x∗ = 0 dan (w∗ )t (Ax∗ − b) = 0. (12)

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

(cj − (w∗ )t aj )x∗j = 0 , j = 1, · · · , n, dan wi∗ (ai x∗ − bi ) = 0, i = 1, · · · , m. (13)

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,

x∗j > 0 ⇒ (w∗ )t aj = cj


(w∗ )t aj < cj ⇒ x∗j = 0
(14)
wi∗ > 0 ⇒ a i x∗ = b i
a i x∗ > b i ⇒ wi∗ = 0

Sekarang, misalkan masalah primal-dual bentuk kanonik dinyatakan dalam bentuk


baku dengan menambahkan variabel slack xs dan ws :

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 :

xn+i = ai x − bi ≥ 0, i = 1, · · · , m, dan wm+j = cj − (w)t aj ≥ 0, j = 1, · · · , n.

Maka kondisi complementary slackness diberikan oleh


x∗j wm+j = 0, j = 1, · · · , n, dan wi∗ x∗n+i = 0 i = 1, · · · , m. (17)

Hubungan (17) menyatakan keterkaitan antara variabel asli primal(dual) dengan


variabel slack dual(primal). Variabel xj disebut dengan variabel komplemen dari
wm+j , j = 1, · · · , n. Demikian pula untuk xn+i dan wi , j = 1, · · · , m.

8. Dual untuk menyelesaikan primal. Perhatikan contoh masalah primal berikut:

P : Minimum z = 2x1 + 3x2 + 5x3 + 2x4 + 3x5

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:

D : Maksimum v = 4w1 + 3w2

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,

ctB B−1 N − ctN ≤ 0t atau ctB B−1 N ≤ ctN . (20)

Selanjutnya, definisikan (ingat pengali Simplex!)

λt = ctB B−1 . (21)

Kita memperoleh

λt A = [λt B, λt N] = [ctB , ctB B−1 N] ≤ [ctB , ctN ] = ct atau λt A ≤ ct .

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

△z = ctB △xB = ctB B−1 △b = wt △b. (22)

Persamaan (22) memperlihatkan bahwa vektor w (pengali Simplex) merupakan pa-


rameter sensitifitas dari fungsi obyektif masalah primal terhadap perubahan pada
vektor b. Berdasarkan (22), komponen-komponen dari vektor w, yaitu wj , dapat
dipandang sebagai harga marginal dari biaya z terhadap komponen bj .

Latihan
1. Diberikan masalah
Maksimum z = −x1 + 3x2
dengan kendala
2x1 + 3x2 ≤ 6
x1 − 2x2 ≥ −2
x1 , x2 ≥ 0.

(a) Selesaikan secara grafik.


(b) Nyatakan masalah dualnya kemudian selesaikan.

2. Diberikan masalah

Minimum z = 2x1 + 15x2 + 5x3 + 6x4

dengan kendala

x1 + 6x2 + 3x3 + x4 ≥ 2
−2x1 + 5x2 − x3 + 3x4 ≤ −3
x1 , x2 , x 3 , x 4 ≥ 0

(a) Formulasikan masalah dualnya, kemudian selesaikan secara geometri.


(b) Gunakan solusi masalah dual dan teorema dualitas untuk mencari solusi masalah
primalnya.

3. Formulasikan masalah dual dari

Minimum z = −2x1 + 3x2 + 5x3

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

Maksimum z = 10x1 + 24x2 + 20x3 + 20x4 + 25x5

dengan kendala

x1 + x2 + 2x3 + 3x4 + 5x5 ≤ 19


2x1 + 4x2 + 3x3 + 2x4 + x5 ≤ 57
x1 , x2 , x3 , x4 , x5 ≥ 0

(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.

Anda mungkin juga menyukai