2.2.2 Penyelesaian Pemrograman Linear dengan Algoritme S impleks
Solusi suatu pemrograman linear dapat diketahui optimal atau tidak untuk P L tersebut
melalui algoritme sebagai berikut: •
Tes Keoptimalan Vektor
1 −
= B
T B
c y
dihitung, kemudian dapat dihitung pula nilai biaya tereduksi
b y
c c
T T
N T
N
− =
ˆ .
Jika ≥
T N
cˆ maka solusi yang diperoleh
adalah solusi optimal. Jika
T N
cˆ maka variabel x
t
yang memenuhi
ˆ
t
c
dipilih sebagai variabel- masuk, yaitu variabel x
t
yang akan masuk ke dalam basis.
• Langkah tertentu t
Kolom
t t
A A
1
ˆ
−
= B
, yaitu kolom
koefisien kendala yang berhubungan dengan variabel-masuk ke t dihitung kemudian
ditentukan indeks s pada kolom kendala yang berhubungan dengan variabel-masuk yang
memenuhi
≤
≤ =
: ˆ
1 min
ˆ
, ,
, t
i t
i t
s s
a a
i b
m i
a b
. 8
Pemilihan indeks dengan cara tersebut disebut dengan
uji nisbah minimum
minimum ratio test. Variabel yang menjadi variabel-keluar
variabel yang akan keluar dari basis, tergantikan oleh variabel -masuk dan pivot
entry adalah variabel yang berhubungan dengan
t s
a
,
ˆ
. Jika
t i
a
,
ˆ ≤
, 1
m i
≤ ≤
untuk semua i, maka masalah P L disebut masalah takterbatas
unbounded. •
Pivot M atriks basis B dan vektor basis x
B
diperbaharui dan kemudian kembali ke tes keoptimalan.
Berikut ini diberikan contoh penggu naan algoritme simpleks:
Contoh 4
Misalkan diberikan PL5 dalam Contoh 3. Dengan menggunakan algoritme simpleks
akan diperoleh solusi x
1
= 3, x
2
= 5, x
3
= 3, x
4
= x
5
= 0 dengan z
= -
13 lihat Lampiran 1. _
2.3 Masalah Dual
Setiap masalah pemrograman linear memiliki padanan, yaitu masalah lain yang
disebut pemrograman linear
dual. Pemrograman linearn y a sendiri disebut
sebagai masalah primal. Misalkan diberikan masalah primal:
Minimumkan x
c
T
= z
terhadap b
x
≥ A
9 ≥
x
Maka masalah dual dari 9 adalah Maksimumkan
y b
T
= w
terhadap c
y
T
≤ A
≥
y
Jika masalah primal memiliki n variabel dan m kendala, maka masalah dual akan
memiliki m variabel dan n kendala. Koefisien fungsi objektif masalah primal merupakan
nilai sisi kanan pada masalah dual, begitu pula sebaliknya. Jika masalah primal adalah
masalah minimisasi maka masalah dual merupakan masalah maksimisasi.
Solusi optimal dari masalah dual merupakan pengali simpleks pada masalah
primal. Pada kondisi optimal, solusi dari masalah dual dan masalah primal akan
menghasilkan nilai fungsi objektif yang sama. Hal ini dibuktikan dalam teorema dualitas
kuat. Akibat dari teorema dualitas lemah digunakan untuk membuktikan teorema
dualitas kuat.
Teorema 1 Teorema Dualitas Lemah
Misalkan diberikan pemrograman linear
primal dan masalah dualnya. Misalkan x adalah sol usi fisibel untuk masalah primal
dalam bentuk standarnya dan misalkan y solusi fisibel untuk masalah dual, maka nilai
fungsi objektif dari masalah primal selalu lebih besar atau sama dengan nilai fungsi
objektif dari masalah dual.
Bukti : lihat Nash Sofer, 1996.
Akibat 1 Jika x adalah solusi fisibel untuk masalah
primal, y adalah solusi fisibel untuk masalah
dual, dan x
c y
b
T T
=
, maka x dan y adalah
solusi optimal berturut-turut untuk masalah primal dan dual.
Teorema 2 Teorema Dualitas K uat
Misalkan diberikan pemrograman linear primal dan masalah dualnya. Jika salah satu
dari masalah primal atau masalah dual tersebut memiliki solusi optimal, maka masalah
lainnya juga memiliki solusi optimal dan nilai fungsi objektif optimalnya adalah sama.
Bukti :
Misalkan diasumsikan bahwa masalah primal dalam bentuk standar dan mempunyai
solusi x yang merupakan solusi basis fisibel optimal. Misalkan x dapat dinyatakan sebagai
vektor
=
N B
x x
x , dengan x
B
adalah vektor
variabel basis dan x
N
adalah vektor variabel nonbasis.
Selain itu, seperti telah dijelaskan
sebelumnya matriks A dapat dinyatakan sebagai
N B
A =
dan vektor koefisien
pada fungsi objektif c dapat dinyatakan
sebagai
=
N B
c c
c . Karena B adalah matriks
taksingular, maka B memiliki invers sehingga x
B
dapat dinyatakan sebagai b
x
B
1 −
= B
. Dari sebelumnya diketahui pula, jika x
optimal maka biaya tereduksinya adalah ≥
−
−
N B
1 T
B T
N
c c
atau
T N
T B
c c
≤
−
N B
1
Misalkan y adalah vektor dari pengali
simpleks yang berhubungan dengan solusi basis fisibel, dengan
B T
c y
−
= B
atau
1 −
= B
T B
T
c y
. Akan ditunjukkan bahwa: 1
Nilai dari fungsi objektif masalah primal dan dual adalah sama, yaitu
x c
y b
T T
= .
2 y adalah optimal untuk masalah dual.
Bukti: 1
Sebelumnya akan diperiksa terlebih dahulu kefisibelan dari y:
A y
T
N B
B
1 −
=
T B
c N
B
1 −
=
T B
T B
c c
≤
T N
T B
c c
dari
T
c =
Sehingga
c y
T
≤ A
dan y fisibel untuk
masalah dual, kemudian dihitung nilai objektif untuk masalah primal z dan
dual w:
b c
x c
x c
T B
B T
B T
1
z
−
= =
= B
z. w
1
= =
= =
−
b c
b y
y b
T B
T T
B Jadi y adalah fisibel untuk masalah dual
dan nilai fungsi objektif solusi optimal dari masalah primal dan dual mempunyai
nilai yang sama.
2 Karena
x c
y b
T T
=
maka y adalah solusi
optimal untuk masalah dual dari Akibat 1._
Bukti dari teorema dualitas
kuat menghasilkan solusi optimal dual. Misalkan
=
N B
x x
x
,
N B
= A
, dan
=
N B
c c
c
maka nilai optimal dari variabel dual diberikan oleh vektor pengali simpleks
B T
c y
−
= B
. Dari bukti teorema dualitas kuat terlihat
bahwa kondisi primal optimal ≥
−
−
N B
1 T
B T
N
c c
adalah ekivalen dengan kondisi fisibel dual
c y
T
≤ A
atau ≥
−
y c
T
A .
Jadi vektor dari biaya tereduksi cˆ adalah vektor variabel slack dual
. ˆ
y c
c
T
A −
= Contoh 5
Misalkan diberikan pemrograman linear primal sebagai berikut:
Minimumkan
5 4
3 2
1
55 74
93 27
51 x
x x
x x
z +
+ +
+ =
terhadap 1
2 1
≥ +
x x
x
1
+
1
4 3
2
≥ +
+ x
x x
1
5 1
≥ +
x x
1
3 2
≥ +
x x
1
5 4
3
≥ +
+ x
x x
1
4
≥ x
≥
i
x , untuk
{ }
5 ,
4 ,
3 ,
2 ,
1 =
i .
Masalah dual dari masalah tersebut adalah sebagai berikut:
Maksimumkan
6 5
4 3
2 1
y y
y y
y y
w +
+ +
+ +
= terhadap
51
3 2
1
≤ +
+ y
y y
27
4 2
1
≤ +
+ y
y y
93
5 4
2
≤ +
+ y
y y
74
6 5
2
≤ +
+ y
y y
55
5 3
≤ +
y y
≥
i
y
, untuk
{ }
6 ,
5 ,
4 ,
3 ,
2 ,
1 =
i
. Dengan menggunakan
LINDO 6.1, diperoleh solusi dari masalah primal sebagai
berikut:
, 1
5 3
4 2
1
= =
= =
= x
x x
x x
dengan nilai fungsi objektifnya =
z 152 lihat
Lampiran 2. Nilai pengali simpleks untuk masing-masing kendala adalah sebagai
berikut: 70
, 4
, 27
, 51
,
6 5
4 3
2 1
= =
= =
= =
y y
y y
y y
dengan y
i
adalah nilai pengali simpleks kendala ke-i.
Solusi dari masalah dual tersebut juga dapat dicari dengan menggunakan LINDO 6.1
yang menghasilkan solusi:
74 27
51
6 4
3 5
2 1
= =
= =
= =
y y
y y
y y
, ,
,
dengan nilai fungsi objektif w = 152 lihat Lampiran 2. Dari penghitungan tersebut,
terlihat bahwa fungsi objektif dar i masalah primal dan dual mempunyai nilai yang sama
seperti dinyatakan dalam Teorema 2. _
2.4 Pemrograman Linear Bilangan Bulat Model pemrograman linear bilangan bulat
Integer Linear ProgrammingILP adalah suatu model pemrograman linear dengan
variabel yang digunakan berupa bilangan bulat integer. Jika semua variabel harus berupa
bilangan bulat, maka masalah tersebut disebut ILP-murni. Jika hanya sebagian yang harus
bilangan bulat maka disebut ILP-campuran. ILP dengan semua variabelnya harus bernilai
0 atau 1 disebut 0-1 I LP.
Definisi 11 Pemrograman Linear Relaksasi
PL-relaksasi dari suatu ILP merupakan pemrograman linear yang diperoleh dari ILP
tersebut dengan menghilangkan kendala bilangan bulat atau kendala 0-1 pada
variabelnya. Winston, 1995
Model yang digunakan pada tulisan ini yang berkaitan dengan masalah ILP adalah
model masalah pemartisian himpunan.
2.5 Masalah Pemartisian Himpunan