PROGRAM LINEAR
“Dualitas dan Analisis Sensitivitas”
Oleh:
Kelompok 3
Maria Rizky Amalia (A1I118001)
Dewa Ketut Darmayasa (A1I118019)
Adelia Aprilianti Sahupala (A1I118023)
Heni (A1I118059)
Tista Sugiarti (A1I216081)
Wa Ode Mustika (A1I216091)
Arinil Hidayah (A1I116097)
Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha
Penyayang, puja dan puji syukur kami panjatkan atas kehadirat-Nya, yang telah
melimpahkan rahmat, hidayah, dan inayah-Nya, sehingga dapat menyelesaikan
makalah program linear tentang dualitas dan analisis sensitivitas.
Makalah ini telah disusun dengan maksimal dan mendapatkan bantuan dari
berbagai pihak sehingga dapat memperlancar pembuatan makalah ini. Untuk itu
kami menyampaikan banyak terima kasih kepada semua pihak yang telah
berkontribusi dalam pembuatan makalah ini.
Terlepas dari semua itu, kami menyadari sepenuhnya bahwa masih ada
kekurangan baik dari segi susunan kalimat maupun tata bahasanya. Oleh karena
itu dengan tangan terbuka kami menerima segala saran dan kritik dari pembaca
agar kami dapat memperbaiki makalah ini.
Akhir kata semoga makalah ini dapat memberikan manfaat terhadap
pembaca.
Penyusun
ii
DAFTAR ISI
KATA PENGANTAR........................................................................................................ii
DAFTAR ISI.....................................................................................................................iii
BAB I PEMBAHASAN.....................................................................................................1
LATIHAN SOAL............................................................................................................16
2.1. Kesimpulan.................................................................................................17
2.2. Saran............................................................................................................17
DAFTAR PUSTAKA......................................................................................................18
iii
BAB I
PEMBAHASAN
Dual :
Minimumkan : w = b1 y1 + b2 y2 + …. + bm ym
Berdasarkan pembatas :
1
a11 y1 + a21 y2 + …. + am1 ym ≤ c1
a12 y1 + a22 y2 + …. + am2 ym ≤ c2
.
.
.
ay1 + a2n y2 + …. + amn ym ≤ cn
y1 , y2 , …. , ym ≥ 0
Kalau kita bandingkan kedua persoalan di atas, ternyata terdapat korespondensi
antara primal dengan dual sebagai berikut :
1. Koefisien fungsi tujuan primal menjadi konstanta ruas kanan bagi dual,
sedangkan konstanta ruas kanan primal menjadi koefisien fungsi tujuan bagi
dual.
2. Untuk tiap pembatas primal ada satu variaebl dual, dan untuk setiap variable
primal ada satu pembatas dual.
3. Tanda ketidaksamaan pada pembatas akan bergantung pada fungsi tujuannya.
4. Fungsi tujuan berubah bentuk (maksimasi menjadi minimasi dan sebaliknya).
5. Setiap kolom pada primal berkorespondensi dengan baris (pembatas) pada
dual.
6. Setiap baris (pembatas) pada primal berkorespondensi dengan kolom pada
dual.
7. Dual dari dual adalah primal.
2
Untuk menjelaskan hubungan antara primal dan dual, perhatikan ilustrasi berikut
ini :
Primal
Minimumkan : z = 16x1 + 30x2 + 36x3
Berdasarkan pembatas :
2x1 + 3x2 + 2x3 ≥ 60
2x1 + 5x2 + 3x3≥ 80
x1 , x2 , x3 ≥ 0
Soal ini kita selesaikan melalui penyelesaian dualnya, yakni :
Maksimumkan : w = 60y1 + 80y2
Berdasarkan pembatas :
2y1 + 2y2 ≤ 16
3y1 + 5y2 ≤ 30
2y1 + 3y2 ≤ 36
y1 , y2 , y3 ≥ 0
Karena soal ini hanya terdiri dari dua choice variabel sehingga dapat
diselesaikan dengan metode grafis, namun soal ini kita selesaikan dengan metode
simpleks, sebab dengan cara ini dari tabel akhir dapat kita baca jawaban untuk
persoalan primalnya. Untuk ini bentuk constraint di atas diubah dulu menjadi
persamaan dengan memasukkan slack variable t1, t2, dan t3 (untuk primal
problem ; slack/surplus variable kita pakai lambang S), yakni :
2y1 + 2y2 + t1 = 16
3y1 + 5y2 + t2 = 30
2y1 + 3y2 + t3 = 36
Sedangkan fungsi objectivenya ditulis dalam bentuk :
w - 60y1 - 80y2 + 0 t1 + 0 t2 + 0 t3 = 0
Dengan demikian penyelesaian dari persoalan diatas adalah sebagai berikut :
3
Basis y1 y2 t1 t2 t3 Solusi
t1 2 2 1 0 0 16
t2 3 5 0 1 0 30
t3 2 3 0 0 1 36
w -60 -80 0 0 0 0
t1 4/5 0 1 -2/5 0 4
y2 3/5 1 0 1/5 0 6
t3 1/5 0 0 -3/5 1 18
w -12 0 0 0 0 480
y1 1 0 5/4 -1/2 0 5
y2 0 1 -3/4 1/2 0 3
t3 0 0 -1/4 -1/2 1 17
w 0 0 15 10 0 540
Karena pada tabek di atas tidak terdapat lagi entry negatif pada baris w, maka
tabel ini merupakan tabel akhir dan fungsi objective telah mencapai nilai optimal,
yakni :
Wmax = 540 untuk y1 = 5 unit, y2 = 3 unit dan t3 = 17 unit, yakni bahan yang tidak
terpakai dari konstraint ketiga, sedangkan t1 = t2 = 0. Dari tabel ini dapat kita baca
nilai x1 , x2 , dan x3 dari primal problem, yakni :
Nilai shoice variable dari primal ini kalau kita masukkan pada fungsi objective
dari primal harus cocok = 540, yakni :
Z = 16x1 + 30x2 + 36x3
= 16 (5) + 30 (10) + 36 (0) = 540
Zmin = wmax
4
1.3. Metode Dual Simpleks
Apabila pada suatu iterasi kita mendapat persoalan programa linier yang
sudah optimum (berdasarkan kondisi optimalitas), tetapi belum fisibel (ada
pembatas nonnegatif yang tidak terpenuhi), maka persoalan tersebut harus
diselesaikan dengan menggunakan metode dual simpleks. Syarat digunakannya
metode ini adalah bahwa seluruh pembatas harus merupakan ketidaksamaan yang
bertanda ( ≤ ), sedangkan fungsi tujuan bisa berupa maksimasi atau minimasi.
Pada dasarnya metode dual simpleks ini menggunakan tabel yang sama
seperti metode simpleks pada primal, tetapi leaving variable dan entering
variable-nya ditentukan sebagai berikut :
1. Leaving variable (kondisi fisibilitas)
Yang menjadi leaving variable pada dual simpleks adalah variabel basis yang
memiliki harga negatif terbesar. Jika semua variabel basis telah berharga
positif atau nol, berarti keadaan fisibel telah tercapai.
2. Entering variable (kondisi optimalitas)
Contoh :
Minimumkan : z = 2x1 + x2
Berdasarkan pembatas :
3 x1 + x2 ≥ 3
4x1 + 3x2 ≥ 6
5
x1 + 2x2 ≤ 3
x1 , x2 ≥ 0
S1 -3 -1 1 0 0 -3
S2 -4 -3 0 1 0 -6
0
S3 1 2 0 0 1 3
z -2 -1 0 0 0 0
Perhatikan bahwa variabel-variabel basis awalnya tidak memberikan solusi awal
yang fisibel (S1 dan S2 berharga negatif), tetapi koefisien persamaan z sudah
memenuhi kondisi optimalitas.
Pada iterasi di atas, S2 (= -6) terpilih sebagai leaving variable, sedangkan
entering variable dipilih berdasarkan :
X1 X2 S1 S2 S3
Koefisien persamaan z -2 -1 0 0 0
Koefisien persamaan S2 -4 -3 0 1 0
6
Rasio 1/2 1/3 - - -
Dengan demikian, x2 terpilih sebagai entering variable. Langkah berikutnya
dilakukan dengan cara seperti biasa.
S1 −5/3 0 1 −1/ 3 0 -1
x2 4 /3 1 0 −1/ 3 0 2
1
S3 5/3 0 0 2/3 1 -1
z −2/3 0 0 −1/ 3 0 2
X1
1 0 −3/5 1/5 0 3/5
x2
0 1 4 /5 −3/5 0 6 /5
2
S3
0 0 -1 1 1 0
z
0 0 −2/5 −1/5 0 12/5
7
1.4. Analisis Sensitivitas dengan Tabel Simpleks
Maksimumkan : z = 60 x1 + 30 x2 + 20 x3
Berdasarkan :
8 x1 + 6 x2 + x3 ≤ 48
4 x1 + 2 x2 + 1,5 x3 ≤ 20
8
2 x1 + 1,5 x2 + 0,5 x3 ≤ 8
x1, x2 , x3 ≥ 0
BV x1 x2 x3 S1 S2 S3 Solusi
S1 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
Z 0 5 0 0 10 0 280
BV = { S1 , x3 , x1 } ; NBV ={ x 2 , S2 , S 3 }
S1 x2
[] []
x BV = x 3 ; x NBV = S2 yang merupakan vektor m x 1
x1 S3
9
berubah sehingga BV tetap fisibel. Karena c2 adalah variabel nonbasis, maka CBV
juga tidak akan berubah. Satu-satunya variabel yang koefisien baris 0-nya akan
berubah karena perubahan c2 ini adalah x2.
Dengan demikian, BV akan tetap optimal jika c2 ≥ 0, dan BV akan menjadi
suboptimal jika c2 ≤ 0. Dalam hal terakhir ini, harga z mungkin dapat diperbaiki
dengan memasukkan x2 ke dalam basis.
Dari contoh soal, kita tahu bahwa :
1 2 −8
−1
C BV B =[ 0 20 60 ] 0
[2
]
−4 = [ 0 10 10 ]
0 −0,5 1,5
6
[]
Sehingga c 2=[ 0 10 10 ] 2 −( 30+∆ )=35−30−∆=5−∆
1,5
Misalnya, jika c2 = 40, solusi basis saat ini akan menjadi suboptimal karena
c2 = -5 sehingga x2 akan menjadi entering variable. Untuk mengetahui solusi
optimal yang baru, lanjutkan perhitungan dengan menggunakan metode simpleks
seperti biasa.
10
Koefisien baris 0 menjadi:
a . c 2=C BV B−1 a2−c 2
6
[]
¿ [ 0 10−0,5 ∆ 10+0,5 ∆ ] 2 −30=5+1,25 ∆
1,5
b. Koefisien S2 = elemen kedua dari CBV2 B-1 = 10 – 0,5∆
c. Koefisien S3 = elemen ketiga dari CBV B-1 = 10 + 1,5∆
Dengan demikian, BV akan tetap optimal jika :
5 + 1,25∆ ≥ 0 atau ∆ >¿ -4
10 – 0,5∆ ≥ 0 atau ∆ ¿ 20
Hal ini berarti bahwa solusi basis saat ini akan tetap optimal sepanjang ∆ >¿ -4, ∆
¿ 20, dan ∆ ¿ -(20/3).
Dengan kata lain, solusi basis saat ini akan tetap optimal jika -4 ≤ ∆ ≤ 20. Artinya,
jika c1 turun sebesar 4 atau kurang, atau c1 naik hingga 20, maka solusi basis saat
ini akan tetap optimal. Atau, sepanjang 56 = (60 – 4 ) ≤ c ≤ (60 + 20) = 80, solusi
basis saat ini akan tetap optimal, tetapi jika c1 ¿ 56 atau c1 ¿ 80, maka solusi basis
saat ini tidak lagi optimal. Jika solusi basis saat ini tetap optimal, maka harga
variabel keputusannya juga tidak akan berubah karena B-1 b tidak berubah.
Namun, nilai z optimal tentu saja akan berubah. Contoh : jika c1 = 70, maka z =
70 (2) + 20 (8) = 300.
Dari sifat-sifat primal dual kita tahu bahwa perubahan ruas kanan pembatas
ini tidak akan mengubahn baris 0 pada tabel optimal sehingga solusi basis saat ini
tidak akan menjadi suboptimal. Yang mungkin berubah adalah ruas kanan pada
tabel optimal. Tetapi, sepanjang ruas kanan setiap pembatas pada tabel optimal
11
tetap nonnegatif, solusi basis saat ini tetap fisibel dan optimal. Dalam hal ini, yang
perlu kita lakukan adalah menyubstitusikan harga-harga baru dari variabel
keputusan ke dalam persamaan garis z sehingga diperoleh harga z yang baru.
Jika perubahan pada ruas kanan ini menyebabkan paling sedikit ada satu ruas
kanan pada tabel optimal yang menjadi berharga negatif, maka solusi saat ini tidal
lagi fisibel, dan kerananya tidak lagi optimal. Sebagai contoh, jika b2 berubah dari
20 menjadi (20 + ∆), maka ruas kanan menjadi :
1 2 −8 48 24 +2 ∆
−1
B b= 0 2
[ ][ ] [ ]
−4 20+ ∆ = 8+2 ∆
0 −0,5 1,5 8 2−0,5 ∆
Kita tahu bahwa solusi basis saat ini akan tetap optimal jika :
24 + 2∆ ≥ 0 atau ∆ ≥ - 12
8 + 2∆ ≥ 0 atau ∆ ≥ -4
2 – 0,5∆ ≥ 0 atau ∆ ≥ 4
Dengan kata lain, solusi basis saat ini akan tetap optimal jika - 4 ≤ ∆ ≤4.
Dengan demikian, sepanjang (20 – 4) ≤ b2 ≤ (20 + 4) atau 16 ≤ b2 ≤ 24, solusi
basis saat ini akan tetap fisibel dan optimal. Tetapi, harga z tentu saja akan
berubah.
Contoh : Jika b2 = 22, maka ruas kanan yang baru adalah :
S1 1 2 −8 48 28
[] [
x1
−1
x 3 =B b= 0 2 −4 22 = 12
0 −0,5 1,5 8 1 ][ ] [ ]
sehingga harga z yang baru adalah
48
[]
C BV B−1 b=[ 0 10 10 ] 22 =300
8
Jika kita mengubah ruas kanan pembatas sedemikian sehingga solusi basis saat ini
menjadi tidak fisibel lagi, bagaimana kita dapat menentukan solusi optimal yang
baru ?
Misalkan kita mengubah b2 menjadi 30. Ruas kanan yang baru adalah sebagai
berikut :
12
S1 1 2 −8 48 28
[] [
x1
−1
x 3 =B b= 0 2 −4 22 = 12
0 −0,5 1,5 8 1 ][ ] [ ]
Karena x1 = -3, sedangkan koefisien fungsi tujuan untuk baris 0 tidak berubah
(tetap memenuhi syarat optimalitas), maka untuk memperoleh solusi optimal yang
baru, kita harus mengunakan metode dual simpleks.
5
[]
c 2=[ 0 10 10 ] 2 −43=−3< 0
2
Karena c2 ¿ 0, maka solusi basis saat ini tidak lagi optimal. Kolom a2 untuk
pembatas pada tabel optimal menjadi :
1 2 −8 5
[
B−1 a2= 0 2
][ ] [ ]
−7
−4 2 = −4
0 −0,5 1,5 2 2
Karena c2 ¿ 0, maka x2 akan menjadi variabel basis pada solusi optimal yang
baru.
13
Jika perubahan kolom terjadi pada variabel basis, maka B dan CBV
mungkin berubah sehingga baria 0 dan ruas kanan dari tabel optimal juga
mungkin berubah. Dalam hal ini, sebaiknya kita memecahkan kembali
persoalannya dari awal.
1
[]
c 4 =[ 0 10 10 ] 1 −15=5>0
1
Karena c4 ¿ 0, maka solusi basis saat ini tetap optimal sehingga produk ke-4
sebaiknya tidak dibuat. Alasannya adalah karena untuk setiap unit produk ke-4
14
yang dibuat, kita hanya akan mengeluarkan ongkos sebesar 5, tanpa memperoleh
keuntungan apa-apa.
Contoh kasus 2 :
BV x1 x2 x3 S1 S2 S3 S4 Solusi
S1 0 -2 0 1 2 -8 0 24
x3 0 -2 1 0 2 -4 0 8
15
x1 1 1,25 0 0 -0,5 1,5 0 2
S4 0 -1 0 0 0 0 1 -1
Z 0 5 0 0 10 0 0 280
BV x1 x2 x3 S1 S2 S3 S4 Solusi
S1 0 0 0 1 2 -8 -2 26
x3 0 0 1 0 2 -4 -2 10
x2 0 1 0 0 0 0 -1 1
z 0 0 0 0 10 10 5 275
BV x1 x2 x3 S1 S2 S3 S4 Solusi
16
S1 0 -2 0 1 2 -8 0 24
x3 0 -2 1 0 2 -4 0 8
S4 0 -1 0 0 0 0 1 -12
z 0 5 0 0 10 0 0 280
Agar x1 tetap menjadi basis, hilangkan x1 pada baris S4 dengan cara mengganti
baris 4 dengan (baris 3 + baris 4). Hasilnya adalah sebagai berikut :
BV x1 x2 x3 S1 S2 S3 S4 Solusi
S1 0 -2 0 1 2 -8 0 24
x3 0 -2 1 0 2 -4 0 8
z 0 5 0 0 10 0 0 280
BV x1 x2 x3 S1 S2 S3 S4 Solusi
S1 0 -1 0 1 0 -2 4 -16
17
x3 0 -1 1 0 0 2 4 -32*
x1 1 1 0 0 0 0 -1 12
S2 0 -0,5 0 0 1 -3 -2 20
z 0 10 0 0 0 40 20 80
BV x1 x2 x3 S1 S2 S3 S4 Solusi
S1 0 0 -1 1 0 -4 0 16
X2 0 1 -1 0 0 -2 -4 32
X1 1 0 1 0 0 2 3 -20
S2 0 0 -0,5 0 1 -4 -4 36
z 0 0 10 0 0 60 60 -240
18
LATIHAN SOAL
2. Tunjukkan bahwa persoalan yang diberikan pada soal No. 1 memiliki nilai
optimal yang sama seperti dualnya dengan memecahkan kedua persoalan ini
secara langsung.
19
BAB II
PENUTUP
2.1. Kesimpulan
Teori dualitas merupakan salah satu konsep program linier yang penting dan
menarik ditinjau dari segi teori dan praktisnya. Ide dasar yang melatarbelakangi
teori ini adalah bahwa setiap persoalan program linier mempunyai suatu program
linier lain yang saling berkaitan yang disebut “dual”, sedemikian sehingga solusi
pada persoalan semula (yang disebut "primal”) juga memberi solusi pada
dualnya. Sedangkan, analisis sensitivitas adalah analisis yang dilakukan untuk
mengetahui akibat/pengaruh dari perubahan yang terjadi pada parameter-
parameter LP terhadap solusi optimal yang telah dicapai.
2.2. Saran
Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok
bahasan dalam makalah ini, tentunya masih banyak kekurangan dan
kelemahannya, karena terbatasnya pengetahuan dan kurangnya rujukan atau
referensi yang ada hubungannya dengan judul makalah ini. Kami banyak berharap
para pembaca dapat memberikan kritik dan saran yang membangun kepada
penulis demi sempurnanya makalah ini dan penulisan makalah di kesempatan-
kesempatan berikutnya. Semoga makalah ini berguna bagi kita semua.
20
DAFTAR PUSTAKA
https://docplayer.info/40174627-Teori-dualitas-analisis-sensitivitas.html
https://studylibid.com/doc/301723/dualitas--post-optimal--dan-analisis-sensitivitas
https://www.academia.edu/29517284/Modul_TRO_DUALITAS_DAN_SENSITIVITAS
21