BAB 3 PEMBAHASAN
Dalam masalah optimasi terdapat dua bentuk optimasi yaitu, optimasi fungsi tak bersyarat dan optimasi fungsi bersyarat. Kita sudah mengenal beberapa cara untuk
menyelesaikan bentuk yang pertama seperti uji turunan pertama, uji turunan kedua, untuk fungsi satu variabel, serta uji parsial kedua untuk fungsi dua variabel, semuanya
telah diuraikan pada bab sebelumya. Sedangkan untuk jenis yang kedua merupakan jenis yang paling banyak kita jumpai dalam kehidupan nyata. Banyak aplikasi dari
pemodelan matematika dalam optimasi fungsi yang mensyaratkan beberapa kondisi atau syarat untuk diperoleh suatu solusi optimal. Syarat ini yang mengoptimumkan
fungsi tujuan. Persoalan dengan model tersebut dinamakan optimasi bersyarat. Bentuk umum dari optimasi fungsi dengan kendala adalah tentukan nilai dari variabel
keputusan nilai ekstrim
n
x x
x x
,..., ,
2 1
= yang memaksimumkan meminimumkan
fungsi dari permasalahan: Maksimumkan minimumkan :
X f
Z =
Dengan kendala :
1 1
b X
g ≥
≤ . . . . . . . . . .
i i
b X
g ≥
≤ dengan
m ,
… 1,2,3,
= i
Dimana fX merupakan fungsi tujuan objective function, dan
i i
b X
g ,
, ≥
= ≤
merupakan fungsi kendala.
3.1 Pemrograman Kuadratis Tak Berkendala Contoh :
Maksimalkan
2
2 24
x x
x f
− −
= Dengan kendala
≥ x
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
4 2
-2 -4
25 20
15 10
5
x y
x y
24 - x2 - 2x
Gambar 1.3 Contoh yang mengambarkan solusi optimal dapat terletak pada titik dengan nilai turunan negatif, bukan nol, karena titik tersebut terletak pada batas
kendala nonnegativitas. Solusi optimal untuk suatu masalah dengan satu variabel terletak pada
= x
meskipun turunannya bernilai negatif. Oleh karena itu setiap permasalahan yang memiliki fungsi konkaf untuk dimaksimalkan pada kendala nonnegativitas,
mempunyai turunan yang kurang dari satu atau sama dengan nol untuk =
x adalah
kondisi yang diperlukan dan cukup untuk =
x menjadi optimal.
3.2 Pemrograman Kuadratis Berkendala Modifikasi Simpleks
Contoh :
Maksimalkan :
2 2
2 1
2 1
2 1
2 1
4 2
4 30
15 ,
x x
x x
x x
x x
f −
− +
+ =
Dengan kendala :
30 2
2 1
≤ + x
x
1
≥ x
2
≥ x
Penyelesaian : Dalam kasus ini diperoleh
[ ]
30 15
= c
⎥ ⎦
⎤ ⎢
⎣ ⎡
=
2 1
x x
x ⎥
⎦ ⎤
⎢ ⎣
⎡ −
− =
8 4
4 4
Q Maksimum global karena
x f
adalah konkaf dan
2 ≤
− =
∂ ∂
x f
pada =
x Jadi,
= x
adalah optimal.
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
[ ]
2 1
= A
[ ]
30 =
b Catat bahwa :
= Qx
x
T
[ ]
2 1
x x
⎥ ⎦
⎤ ⎢
⎣ ⎡
− −
8 4
4 4
⎥ ⎦
⎤ ⎢
⎣ ⎡
2 1
x x
= [
1 1
4 4
x x
−
2 1
8 4
x x
+ −
] ⎥
⎦ ⎤
⎢ ⎣
⎡
2 1
x x
=
2 21
2 1
2 1
2 1
8 4
4 4
x x
x x
x x
+ −
− =
2 21
22 2
1 12
2 1
21 2
1 11
x q
x x
q x
x q
x q
+ −
−
Mengalikan dengan 2
1 − mengghasilkan
2 2
2 1
2 1
4 4
2 2
1 x
x x
x Qx
x
T
− +
− =
− Yang merupakan bagian nonlinier dari fungsi tujuan untuk contoh ini. Oleh karena
4
11
= q
dan 8
22
= q
ini menggambarkan bahwa
jj
q 2
1 −
merupakan koefisien dari
2 j
x dalam fungsi tujuan. Fakta bahwa
4
21 12
− =
= q q
menggambarkan bahwa baik
ij
q −
maupun
ji
q −
adalah koefisien total untuk perkalian
i
x dan
j
x .
Kondisi KKT untuk Pemrograman Kuadratis
Untuk konkritnya, kita mulai dengan membentuk kondisi Karush Kuhn Tucker adalah sebagai berikut :
1. 1
= j
. 4
4 15
1 1
2
≤ −
− +
μ x
x 2.
1 =
j . 0
4 4
15
1 1
2
= −
− +
μ x
x x
j
1. 2
= j
. 0 2
8 4
30
1 2
1
≤ −
− +
μ x
x 2.
2 =
j .
2 8
4 30
1 2
1 2
= −
− +
μ x
x x
3. 30
2
2 1
≤ −
+ x x
4. 30
2
2 1
1
= −
+ x x
μ 5.
1
≥ x
,
2
≥ x
6.
1
≥ μ
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Untuk mulai menyatakan ulang kondisi ini di dalam bentuk yang lebih tepat, kita memindahkan konstanta dalam kondisi 1
1 =
j ,1
2 =
j , dan 3 ke sisi sebelah
kanan dan lalu menambahkan slack variabel nonnegatif yang dilambangkan dengan
1 2
1
, ,
v y
y untuk mengubah pertidaksamaan menjadi persamaan.
1. 1
= j
. 15
4 4
1 1
2 1
− =
+ −
+ −
y x
x μ
1. 2
= j
. 30
2 8
4
2 1
2 1
− =
+ −
− −
y x
x μ
3. 30
2
1 2
1
= +
+ v
x x
Perhatikan bahwa kondisi 2 1
= j
sekarang dapat dinyatakan ulang secara sederhana, yaitu memerlukan syarat
1
= x
atau
1
= y
, yaitu 2
1 =
j .
1 1
= y
x Dengan cara yang sama, kondisi 2
2 =
j dan 4 dapat digantikan dengan
2 2
= j
.
2 2
= y
x 4.
1 1
= v
μ Untuk setiap dari tiga pasang variabel ini
.
1 1
y x
, .
2 2
y x
, ,
1 1
v μ
dua variabel tersebut disebut variabel komplementer,karena hanya satu dari dua variabel ini yang
dapat bernilai selain nol. Bentuk baru kondisi 2 1
= j
,2 2
= j
,dan 4 ini dapat digabung menjadi satu kendala yaitu :
1 1
y x
+
2 2
y x
+
1 1
v μ = 0
Yang disebut kendala komplementaritas. Setelah mengalikan dengan -1 persamaan untuk kondisi 1
1 =
j dan 1
2 =
j untuk mendapat ruas kanan nonnegatif, kita sekarang memiliki bentuk yang
diinginkan untuk keseleruhan kondisi seperti yang ditunjukkan sebagai berikut. 15
4 4
1 1
2 1
= −
+ −
y x
x μ
30 2
8 4
2 1
2 1
= −
+ +
− y
x x
μ 30
2
1 2
1
= +
+ v
x x
1
≥ x
,
2
≥ x
,
1
≥ μ
,
1
≥ y
,
2
≥ y
,
1
≥ v
1 1
y x
+
2 2
y x
+
1 1
v μ = 0
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Bentuk ini cukup baik karena, kecuali untuk kendala komplementaritas, kondisi ini adalah kendala pemrograman linier .
Untuk setiap masalah pemrograman kuadratis, kondisi Karush Kuhn Tucker- nya dapat direduksi menjadi bentuk inidengan hanya mengandung kendala
pemrograman linier ditambah satu kendala komplentaritas. Dalam notasi matriks dapat dituliskan bentuk umumnya adalah
T T
c y
u A
Qx =
− +
b v
Ax =
+ ≥
x ,
≥ u
, ≥
y ,
≥ v
= +
v u
y x
T T
Dengan element vektor u adalah
i
u dari bagian sebelumnnya dan elemen- elemen vektor kolom y dan v adalah slack variabel. Oleh karena fungsi tujuan
masalah asli diasumsikan konkaf dan fungsi kendalanya linier sehingga konveks maka corollary teorema pada kondisi Karush Kuhn Tucker dapat digunakan. Oleh karena
itu, x optimal jika dan hanya jika u
y, dan v memiliki nilai sehingga semua empat vektor memenuhi kondisi di atas. Masalah asli tereduksi menjadi masalah untuk
mencari solusi layak untuk kendala ini.
Metode Modifikasi Simpleks
Metode modifikasi simpleks memanfaatkan kata kunci bahwa, dengan perkecualian pada kendala komplementer bentuk kondisi Karush Kuhn Tucker yang
telah diperoleh tidak lebih daripada kendala pemrogramn linier. Lebih jauh lagi, kendala komplementer menyatakan secara sederhana dan tidak langsung bahwa tidak
mungkin bagi pasangan variabel komplementer untuk keduanya menjadi variabel basis satu-satunya variabel 0 saat solusi BF menjadi pertimbangan. Oleh karena itu,
masalah ini menjadi masalah pencarian solusi BF awal pada tiap masalah pemrograman linier yang memeiliki kendala ini, dengan kendala tambahan ini atas
identitas dari variabel basis.
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Pada kasus sederhana pencarian BF awal relatif langsung dengan
T
c dan
≥ b
, variabel basis awal merupakan elemen y dan v dengan mengalikan kumpulan persamaan pertama dengan -1, sehingga solusi yang diinginkan adalah
= x
, =
u ,
T
c y
− =
, b
v = . Kalau tidak, kita perlu meninjau lembali masalah dengan
memasukkan variabel artificial untuk setiap persamaan dengan
j
c tambahkan
variabel tersebut pada ruas kiri atau
i
b kurabgiruas kiri dengan variabel tersebut
lalu kalikan kedua ruas dengan -1 untuk menggunakan variabel artificial ini
2 1
, z z
dan seterusnya sebagai variabel basis awal untuk masalah yang ditinjau ulang tersebut. Perhatikan bahwa pilihan variabel basis asal ini memenuhi kendala
komplementer, karena bagian variabel nonbasis, =
x dan
= u
secara otomatis Selanjutnya untuk mencari solusi BF untuk masalah kuadratis diatas misalnya
dengan menggunakan metode simpleks dengan satu modifikasi pada masalah pemrograman linier berikut
Minimalkan
∑
=
j j
z Z
Pada kendala-kendala pemrograman linier yang diperoleh dari kondisi Karush Kuhn Tucker, tetapi dengan melibatkan variabel artificial. Satu modifikasi dalam metode
simpleks adalah dengan perubahan pada prosedur memilih variabel basis yang akan masuk.
Aturan Masuk-Terbatas : ketika kita memilih variabel basis yang masuk, jangan
ikut sertakan variabel nonbasis yang memeiliki variabel komplementer berupa variabel basis; pilihan harus diambil dari variabel nonbasis lain sesuai dengan criteria
biasa untuk metode simpleks. Aturan ini menjaga kendala komplementer terpenuhi disepanjang algoritma.
Ketika solusi optimal ,
, ,
, ,
= z
v y
u x
, . . . , =
n
z .
x merupakan solusi optimal yang diharapkan untuk masalah asli pemrograman kuadratis.
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Dari contoh di atas maka diketahui ,
2 1
x x
f adalah fungsi konkaf dengan matriks
⎥ ⎦
⎤ ⎢
⎣ ⎡
− −
= 8
4 4
4 Q
adalah definite positif, maka algoritma dapat diterapkan. Titik awal untuk menyelesaikan permasalahan ini adalah kondisi Karush Kuhn Tucker yang telah
diperoleh sebelumnya. Setelah memasukkan variabel artificial yang diperlukan, masalah pemrograman linier yang harus diselesaikan dengna metode modifikasi
simpleks adalah Minimalkan :
2 1
z z
Z +
= Dengan kendala :
15 4
4
1 1
1 2
1
= +
− +
− z
y x
x μ
30 2
8 4
2 2
1 2
1
= +
− +
+ −
z y
x x
μ 30
2
1 2
1
= +
+ v
x x
1
≥ x
,
2
≥ x
,
1
≥ μ
,
1
≥ y
,
2
≥ y
,
1
≥ v
,
1
≥ z
,
2
≥ z
Kendala komplementer tambahan adalah
1 1
y x
+
2 2
y x
+
1 1
v μ
= 0
Kendala komplementer tambahan ini tidak termasuk secara eksplisit dalam masalah, karena algoritma akan memaksakan kendala ini secara otomatis dengan
adanya turan masuk-terbatas. Khususnya, untuk setiap dari tiga pasang variabel komplementer
.
1 1
y x
, .
2 2
y x
, ,
1 1
v μ
kapan pun jika salah satu dari dua variabel ini menjadi variabel basis, variabel yang lain tidak dapat diikutsertakan menjadi calon
untuk variabel basis yang masuk. Variabel yang tidak nol merupakan variabel basis. Oleh karena variabel basis awal untuk masalah ini
1 2
1
, ,
v z
z memberikan solusi BF
awal yang memenuhi kendala komplementer, maka tidak mungkin kendala ini dilanggar oleh solusi BF yang berikutnya.
Tabel berikut menunjukkan hasil dari penerapan metode modifikasi simpleks pada masalah pemrograman kuadratis di atas.
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Iterasi 0 Variabel
Basis
1
x
2
x
1
μ
1
y
2
y
1
v
1
z
2
z Ruas
Kanan
1
z 4 -4 1 -1 0 0 1 0 15
2
z -4 8 2 0 -1 0 0 1 30
1
v 1 2 0 0 0 1 0 0 30
Z 0 -4 -3 1 1 0 0 0 -45 Iterasi 1
Variabel Basis
1
x
2
x
1
μ
1
y
2
y
1
v
1
z
2
z Ruas
Kanan
1
z 2 0 2 -1
2 1
− 0 1
2 1
30
2
x -
2 1
1 4
1 -
8 1
0 0 8
1 4
3 3
1
v 2 0
2 1
− 4
1 1 0
4 1
− 2
1 22
Z -2 0 -2 1 2
1 0 0
2 1
-30
Iterasi 2 Variabel
Basis
1
x
2
x
1
μ
1
y
2
y
1
v
1
z
2
z Ruas
Kanan
1
z 0 0
2 5
-1 4
3 −
-1 1 4
3 2
1 7
2
x 0 1
8 1
- 16
1 4
1 16
1 8
3 9
1
x 1 0
4 1
− 8
1 2
1 8
1 −
4 1
11 Z 0
2 5
− 1
4 3
1 0 4
1 2
1 7
−
Amalia : Peranan Persyaratan Karush-Kuhn-Tucker Dalam Menyelesaikan Pemrograman Kuadratis, 2010.
Iterasi 3 Variabel
Basis
1
x
2
x
1
μ
1
y
2
y
1
v
1
z
2
z Ruas
Kanan
1
u 0 0 1 -
2 5
10 3
− -
2 5
2 5
10 3
3
2
x 0 1 0
20 1
- 40
1 10
3 -
20 1
40 1
9
1
x 1 0 0
- 10
1 20
1 2
5 10
1 20
1 −
12 Z 0
1 1 0
Hasil solusi optimal dari permasalahan kuadratis di atas adalah 12
1
= x
, 9
2
= x
, 3
1
= u
, dengan sisa variabel yang ada bernilai nol. Solusi optimal ini memenuhi kondisi Karush Kuhn Tucker untuk masalah asal ketika ditulis dengan
bentuk yang ada. Oleh karena itu, solusi optimal untuk pemrograman kuadratis adalah yang termasuk hanya variabel
1
x dan
2
x yaitu
12
1
= x
dan 9
2
= x
. Dengan demikian diperoleh nilai fungsi maksimumnya adalah
,
2 1
x x
f = 1512 + 309 + 4129 - 212
2
- 49
2
= 180 + 270 + 432 – 288 – 324 = 270
3.3 Pemrograman Kuadratis Karush Kuhn Tucker