dijadikan variabel basis artinya menjadi solusi taknol pada suatu pemrograman
linear.
2.1.2 Penyelesaian Pemrograman Linear dengan Algoritme Simpleks
Solusi suatu pemrograman linear dapat diketahui optimal atau tidak untuk PL
tersebut melalui algoritme sebagai berikut: •
Tes Keoptimalan Vektor
1 −
= B
T B
c y
dihitung, kemudian dapat dihitung pula nilai biaya
tereduksi N
T T
T
y c
c
N N
− =
ˆ .
Jika ≥
T N
cˆ maka solusi yang
diperoleh adalah solusi optimal. Jika
T N
cˆ maka dipilih variabel x
t
yang memenuhi ˆ
t
c sebagai variabel-
masuk yaitu variabel x
t
yang akan masuk ke dalam basis.
• Langkah tertentu t
Hitung
t t
A B
A
1
ˆ
−
= , yaitu koefisien
kendala yang berhubungan dengan variabel- masuk ke t. Indeks s ditentukan pada kolom
kendala yang berhubungan dengan variabel- masuk yang memenuhi
=
t s
s
a b
,
ˆ m
i ≤
≤ 1
min
; ˆ
, ,
t i
t i
i
a a
b
. Memilih indeks dengan cara tersebut
disebut dengan uji nisbah minimum
minimum ratio test. Variabel yang menjadi variabel-keluar
variabel yang akan keluar dari basis dan digantikan oleh variabel-masuk dan pivot
entry adalah variabel yang berpadanan dengan
t s
a
,
ˆ .
Jika ˆ
,
≤
t i
a ,
m i
≤ ≤
1 untuk semua i,
maka masalah PL disebut takterbatas . •
Pivot
Matriks basis B dan vektor basis x
B
diperbaiki, kemudian dilanjutkan ke tes keoptimalan.
Berikut contoh penggunaan algoritme simpleks:
Contoh 2 Misalkan diberikan PL 4 seperti pada
Contoh 1, maka dengan menggunakan algoritme simpleks akan diperoleh solusi:
, 6
, 8
, 5
5 4
3 2
1
= =
= =
= x
x x
x x
dengan 34
− =
z lihat Lampiran 1.
2.2 Masalah Dual
Setiap masalah pemrograman linear memiliki padanan, yaitu masalah lain yang
disebut pemrograman linear
dual. Pemrograman linearnya sendiri disebut
masalah primal. Misalkan diberikan masalah primal:
Minimumkan x
c
T
= z
terhadap b
x
≥ A
≥
x .
8 Masalah dual dari 8 adalah
Maksimumkan
y b
T
= w
terhadap
c y
≤
T
A ≥
y
. 9
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 merupakan 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 disebutkan dalam Teorema
Dualitas Kuat, namun sebelumnya perlu diperkenalkan pula Teorema Dualitas
Lemah yang akan digunakan untuk membuktikan Teorema Dualitas Kuat.
Teorema 1 Teorema Dualitas Lemah
Misalkan diberikan pemrograman linear
primal dan masalah dualnya. Misalkan x adalah solusi 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.
Salah satu akibat langsung dari Teorema Dualitas Lemah digunakan untuk
membuktikan Teorema Dualitas Kuat. Hal ini disebutkan dalam Akibat 1 berikut:
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 Kuat
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 matriks 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 tes keoptimalan pada algoritme
simpleks diketahui pula, jika solusi 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
c y
T −
= 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
=
, dan 2
y adalah optimal untuk masalah dual.
Bukti: 1 Sebelumnya akan diperiksa terlebih
dahulu kefisibelan dari y :
A
T
y 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 −
= =
= B
z z
w =
= =
=
−
b c
b y
y b
T B
T T
1
B
.
Jadi y adalah fisibel untuk masalah dual dan nilai fungsi objektif solusi optimal dari
masalah primal dan dual mempunyai nilai yang sama.
2 Berdasarkan Akibat 1 dan
x c
y b
T T
=
maka y adalah solusi optimal untuk
masalah dual. 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
c y
T −
= 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
A ≥
−
y c
T
.
Jadi vektor dari biaya tereduksi cˆ adalah variabel slack dual
y c
c
T
A −
= ˆ
. Contoh 3
Misalkan diberikan pemrograman linear primal sebagai berikut:
Minimumkan
5 4
3 2
1
5 7
9 7
5 x
x x
x x
z +
+ +
+ =
terhadap 1
2 1
≥ +
x x
1
4 3
1
≥ +
+ x
x x
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
7 6
5 4
3 2
1
y y
y y
y y
y w
+ +
+ +
+ +
= terhadap
5
4 2
1
≤ +
+ y
y y
7
5 3
1
≤ +
+ y
y y
9
6 5
3 2
≤ +
+ +
y y
y y
7
7 6
3 2
≤ +
+ +
y y
y y
5
6 4
≤ +
y y
≥
i
y , untuk
{ }
7 ,
6 ,
5 ,
4 ,
3 ,
2 ,
1 =
i .
Dengan menggunakan LINDO 6.1, diperoleh solusi dari masalah primal sebagai
berikut: ,
1
4 2
1
= =
= x
x x
5 3
= =
x x
dengan nilai fungsi objektifnya 19
= z
lihat Lampiran 2. Nilai pengali simpleks untuk
masing-masing kendala adalah sebagai berikut:
7 ,
5 ,
7 5
4 6
3 2
1
= =
= =
= =
= y
y y
y y
y y
dengan y
i
adalah nilai pengali simpleks kendala ke -i.
Solusi dari masalah dual tersebut juga dapat dicari menggunakan LINDO 6.1 yang
menghasilkan solusi: 7
, 5
,
7 5
4 6
3 2
1
= =
= =
= =
= y
y y
y y
y y
dengan nilai fungsi objektif w = 19 lihat Lampiran 2.
Dari penghitungan tersebut, nilai pengali simpleks masalah primal sama
dengan optimal dari masalah dual dan fungsi objektif dari masalah primal dan dual
mempunyai nilai yang sama seperti yang dinyatakan Teorema 2.
2.3 Pemrograman Linear Bilangan Bulat