multiobjective optimization

18
TUGAS TEORI OPTIMISASI PROGRAM KUADRATIK OLEH: KELOMPOK 6 AUGISTRI PUTRI PRADANI 13/353907/PPA/04263 ELOK FAIQOTUL HIMMAH 13/355009/PPA/04336 MEGASARI 13/353881/PPA/04251 ROFIATUN 13/354252/PPA/04279 PROGRAM STUDI S2 MATEMATIKA JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2014

Upload: augistri-putri

Post on 25-Dec-2015

35 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: multiobjective optimization

TUGAS

TEORI OPTIMISASI

PROGRAM KUADRATIK

OLEH:

KELOMPOK 6

AUGISTRI PUTRI PRADANI 13/353907/PPA/04263

ELOK FAIQOTUL HIMMAH 13/355009/PPA/04336

MEGASARI 13/353881/PPA/04251

ROFIATUN 13/354252/PPA/04279

PROGRAM STUDI S2 MATEMATIKA

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS GADJAH MADA

YOGYAKARTA

2014

Page 2: multiobjective optimization

PENDAHULUAN

Pesatnya perkembangan ilmu pengetahuan dan teknologi membuat matematika menjadi

memiliki peranan yang penting. Hampir dapat dipastikan bahwa setiap bagian dari ilmu dan

teknologi baik dalam unsur kajian umum ilmu murni atau terapannya memerlukan peranan

matematika sebagai ilmu bantuannya.

Salah satu bagian dari matematika terapan adalah pemrograman nonlinier. Terdapat

banyak jenis masalah pemrograman nonlinier, tergantung pada karakteristik fungsi tujuan dan

fungsi kendala. Salah satunya adalah pmrograman kuadratis yang merupakan bentuk khusus dari

pemrograman nonlinier. Pemrograman kuadratis ini memiliki kendala linier, tetapi fungsi tujuan

berbentuk kuadratis. Oleh karena itu, satu-satunya perbedaan antara pemrograman kuadratis

dengan pemrograman linier adalah terletak pada fungsi tujuannya, dimana pada fungsi kuadratis

fungsi tujuannya melibatkan pangkat dua dari variabel atau perkalian dari dua variabel.

Beberapa metode telah dikembangkan untuk menyelesaikan kasus pemrograman

kuadratis dengan asumsi tambahan fungsi tujuan merupakan fungsi konveks. Salah satu metode

untuk menyelesaikan masalah pemrograman kuadratis adalah dengan persyaratan Karush-Kuhn-

Tucker (KKT). Metode ini sangat efektif untuk permasalahan optimasi nonlinier dengan kendala

pertidaksamaan. Dengan pendekatan persyaratan KKT dapat diperoleh optimasi dari

pemrograman kuadratis. Dalam hal ini kondisi yang perlu diperhatikan adalah mengikuti syarat

cukup agar mendapatkan nilai-nilai variabel yang optimal untuk mencapai hasil yang diinginkan.

PEMBAHASAN

1. Pemrograman Kuadratik

Pemrograman kuadratik adalah masalah optimasi dengan maksud memaksimumkan

atau meminimumkan fungsi tujuan yang berbentuk kuadratik dengan fungsi kendalanya

berbentuk persamaan atau pertidaksamaan linier. Adapun bentuk umum fungsi kuadratis

dengan notasi matriks seperti persamaan (2.1).

( ) Tf x cx x Hx (2.1)

Page 3: multiobjective optimization

Dengan kendala :

Ax b dan 0x

dengan :

nxnH R : matriks Hessian berukuran (nxn)

mxnA R : matriks kendala

nx R : vektor kolom

nc R : vektor baris dari fungsi tujuan

mb R : vektor kolom dari kendala bagian kanan

2. Kondisi Karush-Kuhn-Tucker

Pada tahun 1951 Kuhn Tucker mengemukakan suatu teknik optimisasi yang dapat

digunakan untuk pencarian titik optimum dari suatu fungsi berkendala. Metode Karush-Kuhn-

Tucker (KKT) ini dapat digunakan untuk mencari solusi yang optimum dari suatu fungsi

tanpa memandang sifat dari dari fungsi tersebut apakah linier atau nonlinier. Jadi metode

KKT ini bersifat teknik yang umum dalam pencarian titik optimum dari setiap fungsi.

Jika dihadapkan pada masalah optimisasi dalam bentuk :

Maksimumkan/minimumkan : ( )Z f x dengan 1 2

{ , ,..., }n

X x x x

Dengan kendala : ( ) 0i

g x atau ( ) 0i

g x dengan 1,2,3,...,i m

0X

m n (Jumlah kendala lebih kecil dari variabel)

maka langkah pertama, tuliskan kembali fungsi kendalanya yang masing-masing dengan

tanda lebih kecil dari atau sama dengan, kemudian tambahkan variabel-variabel slack

berturut-turut pada ruas kiri kendala sehingga tiap-tiap ketidaksamaan menjadi suatu

kesamaan. Selanjutnya dibentuk fungsi Lagrange yaitu :

Page 4: multiobjective optimization

( ) ( ( ))i i

L f X g x

Dengan i

adalah pengali Lagrange. Langkah terakhir adalah menyelesaikan sistem

persamaan:

0i

L

x

(3.2)

0i

L

(3.3)

0i

(3.4)

Persamaan di atas membentuk persyaratan KKT untuk maksimasi ataupun

minimasi program linier dan nonlinier.

Teorema 2.1 di bawah ini memberikan kondisi Kuhn-Tucker untuk memecahkan

persoalan nonlinear berkendala.

Teorema 2.1

Diasumsikan 1 2

( ), ( ), ( ),..., ( )m

f x g x g x g x merupakan fungsi yang dapat diturunkan, maka

* ' ' ', , ...,

1 2 nx x x x menjadi solusi optimal untuk permasalahan pemrograman nonlinier

masalah minimisasi hanya jika terdapat sejumlah m bilangan 1 2, ,...,

m sehingga semua

syarat kondisi KKT berikut terpenuhi:

(i) 1

0m

ii

j j

f g

x x

pada *x x untuk j=1,2,…,n

(ii) 1

0m

j ii

j j

f gx

x x

pada *x x untuk j=1,2,…,n

(iii) 1

0m

ii

i i

f g

untuk i=1,2,…,m

(iv) ( ) 0i ig x untuk i=1,2,…,m

(v) 0j

x untuk j=1,2,…,n

(vi) 0i

untuk i=1,2,…,m

Page 5: multiobjective optimization

Teorema 2.2

Diasumsikan 1 2

( ), ( ), ( ),..., ( )m

f x g x g x g x merupakan fungsi yang terdifferensial, maka

* ' ' ', , ...,

1 2 nx x x x menjadi solusi optimal untuk permasalahan pemrograman nonlinier

masalah maksimasi hanya jika terdapat sejumlah m bilangan 1 2, ,...,

m sehingga semua

syarat kondisi KKT berikut terpenuhi:

(i) 1

0m

ii

j j

f g

x x

pada *x x untuk j=1,2,…,n

(ii) 1

0m

j ii

j j

f gx

x x

pada *x x untuk j=1,2,…,n

(iii) 1

0m

ii

i i

f g

untuk i=1,2,…,m

(iv) ( ) 0i ig x untuk i=1,2,…,m

(v) 0j

x untuk j=1,2,…,n

(vi) 0i

untuk i=1,2,…,m

3. Kondisi Optimal Dalam Pemrograman Kuadratis

Diperhatikan kembali persamaan (2.1). Prosedur menggunakan Kondisi KKT untuk

memecahkan suatu masalah optimasi dalam pemrograman kuadratis dengan kendala berupa

pertidaksamaan secara esensial melibatkan fungsi Lagrange. Adapun fungsi Lagrange untuk

program kuadratik (2.1) seperti persamaan (3.5).

( , ) ( )TL x cx x Hx Ax b (3.5)

Dengan adalah vektor baris berdimensi m. Selanjutnya kondisi KKT program

kuadratis untuk minimum lokal memenuhi :

0, 1,...,j

Lj n

x

maka 0Tc x H A (3.6)

0, 1,...,i

Li m

maka 0Ax b (3.7)

Page 6: multiobjective optimization

0, 1,...,j

j

Lx j n

x

maka ( ) 0T T Tx c Hx A (3.8)

( ) 0, 1,...,i ig x i m maka 0Ax b (3.9)

0, 1,...,j

x j n maka 0x (3.10)

0, 1,...,i

i m maka 0 (3.11)

Diperhatikan bahwa agar dapat dicari penyelesaian optimalnya maka persamaan (3.6)

harus ditambahkan variabel surplus, yaitu variabel yang dikurangkan dari model matematik

kendala untuk mengkonversikan pertidaksamaan menjadi persamaan (=), sedangkan untuk

persamaan (3.7) perlu ditambahkan slack yaitu variabel yang ditambahkan ke model

matematik kendala dengan mengkonversikan pertidaksamaan menjadi persamaan (=).

Sehingga diperoleh :

0T T Tc Hx A y dan 0Ax b v

Selanjutnya, kondisi KKT menjadi :

T T THx A y c (3.12)

Ax v b (3.13)

0, 0, 0, 0x y v (3.14)

0, 0Ty x v (3.15)

Adapun kondisi KKT program kuadratis untuk maksimum lokal memenuhi :

0, 1,...,j

Lj n

x

maka 0Tc x H A (3.16)

0, 1,...,i

Li m

maka 0Ax b (3.17)

0, 1,...,j

j

Lx j n

x

maka ( ) 0T T Tx c Hx A (3.18)

( ) 0, 1,...,i ig x i m maka 0Ax b (3.19)

Page 7: multiobjective optimization

0, 1,...,j

x j n maka 0x (3.20)

0, 1,...,i

i m maka 0 (3.21)

Diperhatikan bahwa agar dapat dicari penyelesaian optimalnya maka persamaan (3.16)

harus ditambahkan variabel slack, yaitu variabel yang ditambahkan ke model matematik

kendala untuk mengkonversikan pertidaksamaan menjadi persamaan (=). Sedangkan untuk

persamaan (3.17) perlu ditambahkan variabel surplus yaitu variabel yang dikurangkan dari

model matematik kendala dengan mengkonversikan pertidaksamaan menjadi persamaan

(=) sehingga diperoleh :

0T T Tc Hx A y dan 0Ax b v

Selanjutnya, kondisi KKT menjadi :

T T THx A y c (3.22)

Ax v b (3.23)

0, 0, 0, 0x y v (3.24)

0, 0Ty x v (3.25)

4. Mencari Penyelesaian Optimum

Berikut adalah prosedur untuk mencari penyelesaian optimum dari program kuadratik:

a) Menentukan , , ,Tc H A b berdasarkan fungsi objektif dan kendala yang telah diberikan.

Selanjutnya dibentuk seperti persamaan (3.12) dan (3.13)

b) Jika pada ruas kanan nilainya negatif, maka persamaan yang bersesuaian dikalikan dengan

-1.

c) Menambahkan variabel buatan pada masing-masing persamaan. Variabel buatan adalah

variabel yang ditambahkan ke model matematik kendala dengan bentuk atau = untuk

difungsikan sebagai variabel basis awal. Variabel ini harus bernilai 0 pada solusi optimal,

karena kenyataannya variabel ini tidak ada (variabel ini hanya ada di kertas).

d) Memisalkan fungsi tujuan adalah jumlah dari seluruh variabel buatan.

e) Menyelesaikan program linier dengan metode simpleks.

Page 8: multiobjective optimization

5. Langkah Penyelesaian Metode Simpleks

Berikut adalah langkah-langkah penyelesaian metode simpleks:

a) Masukkan variabel-variabel pada kondisi KKT ke dalam tabel simpleks, kemudian

tentukan variabel basisnya. Variabel basis merupakan variabel yang nilainya bukan nol

pada sembarang iterasi. Pada solusi awal, variabel basis merupakan variabel slack (jika

fungsi kendala merupakan pertidaksamaan atau variabel buatan (jika fungsi kendala

merupakan pertidaksamaan atau =).

b) Periksa apakah tabel layak atau tidak. Kelayakan tabel simpleks dilihat dari solusi (nilai

kanan). Jika solusi ada yang bernilai negatif, maka tabel tidak layak. Tabel yang tidak

layak tidak dapat diteruskan untuk dioptimalkan.

c) Tentukan kolom pivot. Penentuan kolom pivot dilihat dari:

Untuk masalah minimasi : Pilih kolom yang memuat min 0j j j j

c z c z

Untuk masalah maksimasi : Pilih kolom yang memuat 0j j j j

maks c z c z

dengan 1

m

ji Bi ij

z c a

d) Jika kolom pivot ditandai dan ditarik ke atas, maka kita akan mendapatkan variabel

keluar. Jika nilai paling negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk

tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang.

e) Tentukan baris pivot. Baris pivot ditentukan setelah membagi nilai solusi dengan nilai

kolom pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai

negatif dan 0 pada kolom pivot tidak diperhatikan, artinya tidak ikut menjadi pembagi.

Baris pivot adalah baris dengan rasio pembagian terkecil. Jika baris pivot ditandai dan

ditarik ke kiri, maka kita akan mendapatkan variabel keluar. Variabel ini kemudian

digantikan oleh variabel masuk, pada iterasi berikutnya akan bernilai nol. Jika rasio

pembagian terkecil lebih dari satu, pilih salah satu secara sembarang.

f) Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada perpotongan

kolom dan baris pivot.

g) Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali

menghitung nilai baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan

elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom pivot baris yang

Page 9: multiobjective optimization

bersangkutan dikali baris pivot baru dalam satu kolom terhadap baris lamanya yang

terletak pada kolom tersebut, jika dituliskan dalam kalimat matematika menjadi:

h) Periksa apakah tabel sudah optimal, ciri-ciri tabel optimal yaitu:

Untuk masalah minimasi : 0j j

c z

Untuk masalah maksimasi : 0j j

c z

dengan 1

m

ji Bi ij

z c a

Contoh penyelesaian metode simpleks :

Maksimum z = 8 x1 + 9 x2 + 4x3 + 0s1 + 0s2 + 0s3

Kendala :

x1 + x2 + 2x3 + s1 = 2

2x1 + 3x2 + 4x3 + s2 = 3

7x1 + 6x2 + 2x3 + s3 = 8

x1,x2,x3 ,s1 , s2 , s3 ≥ 0

Tabel awal simpleks :

Basis X(j) X1 X2 X3 S1 S2 S3 b(i) bi/a(ij)

C(j) 8 9 4 0 0 0

S1 0 1 1 2 1 0 0 2

S2 0 2 3 4 0 1 0 3

S3 0 7 6 2 0 0 1 8

z(j) 0 0 0 0 0 0

c(j)-z(j) 8 9 4 0 0 0

Page 10: multiobjective optimization

6. Contoh Kasus dan Pembahasan

Kasus I

Selesaikan masalah berikut:

Minimalkan

Dengan syarat

Penyelesaian:

Didefinisikan variable sebagai berikut:

(

), (

), (

), ( )

, , ,

Kondisi Karush- Kuhn Tucker (KKT) :

atau

(

) (

) (

) (

) (

) (

)

(

) (

) (

) (

)+

Page 11: multiobjective optimization

Sehingga kondisi KKT dapat dituliskan kembali sebagai berikut :

Penambahan variable buatan:

Minimalkan

Dengan syarat:

Semua variable

Selanjutnya diselesaikan dengan modifikasi metode simpleks dua fase.

Iterasi 1.

Basis xj x1 x2 m1 m2 y1 y2 v1 v2 a1 a2 a3 a4 bi bi/ai

cj 0 0 0 0 0 0 0 0 1 1 1

a1 1 2 0 1 1 -1 0 0 0 1 0 0 0 8

a2 1 0 8 1 0 0 -1 0 0 0 1 0 0 16 2

a3 1 1 1 0 0 0 0 1 0 0 0 1 0 5 5

a4 1 1 0 0 0 0 0 0 1 0 0 0 1 3

zj 4 9 2 1 -1 -1 1 1 1 1 1 1 32 3.555556

cj-zj -4 -9 -2 -1 1 1 -1 -1 0 0 0 -1

Page 12: multiobjective optimization

Iterasi 2.

Iterasi 3.

Iterasi 4.

Iterasi 5.

Tabel di atas sudah optimal, sebab semua nilai pada baris z sudah negatif atau 0 sehingga

iterasi dihentikan.

Basis xj x1 x2 m1 m2 y1 y2 v1 v2 a1 a2 a3 a4 bi bi/ai

cj 0 0 0 0 0 0 0 1 1 1

a1 1 2 0 1 1 -1 -1 0 0 1 1 0 0 8 4

x2 0 0 1 0.125 0 0 -0.125 0 0 0 0.125 0 0 2

a3 0 1 0 -0.125 0 0 0.125 1 0 0 -0.125 1 0 3 3

a4 1 1 0 0 0 0 0 0 1 0 0 0 1 3 3

zj 3 0 1 1 -1 -1 0 1 1 1 0 1 11

cj-zj -3 0 -1 -1 1 1 0 0 0 1 -1

Basis xj x1 x2 m1 m2 y1 y2 v1 v2 a1 a2 a3 a4 bi bi/ai

cj 0 0 0 0 0 0 0 0 1 1 1 1

a1 1 0 0 1.25 1 -1 -1.25 -2 0 1 1.25 -2 0 2 1.6

x2 0 0 1 0.125 0 0 -0.125 0 0 0 0.125 0 0 2 16

x1 0 1 0 -0.125 0 0 0.125 1 0 0 -0.125 1 0 3

a4 1 0 0 0.125 0 0 -0.125 -1 1 0 0.125 -1 1 0 0

zj 0 0 1.375 1 -1 -1.375 -3 1 1 1.375 -3 1 2

cj-zj 0 0 -1.375 -1 1 1.375 3 -1 0 -0.375 4 0

Basis xj x1 x2 m1 m2 y1 y2 v1 v2 a1 a2 a3 a4 bi bi/ai

cj 0 0 0 0 0 0 0 0 1 1 1 1

a1 1 0 0 0 1 -1 0 8 -10 1 0 8 -10 2 2

x2 0 0 1 0 0 0 0 1 -1 0 0 1 -1 2

x1 0 1 0 0 0 0 0 0 1 0 0 0 1 3

m1 0 0 0 1 0 0 -1 -8 8 0 1 -8 8 0

zj 0 0 0 1 -1 0 8 -10 1 0 8 -10 2

cj-zj 0 0 0 -1 1 0 -8 10 0 1 -7 11

Basis xj x1 x2 m1 m2 y1 y2 v1 v2 a1 a2 a3 a4 bi bi/ai

cj 0 0 0 0 0 0 0 0 1 1 1 1

v1 0 0 0 0 1 -1 0 8 -10 1 0 8 -10 2

x2 0 0 1 0 0 0 0 1 -1 0 0 1 -1 2

x1 0 1 0 0 0 0 0 0 1 0 0 0 1 3

m1 0 0 0 1 0 0 -1 -8 8 0 1 -8 8 0

zj 0 0 0 0 0 0 0 0 0 0 0 0 0

cj-zj 0 0 0 0 0 0 0 0 1 1 1 1

Page 13: multiobjective optimization

Berdasarkan tabel di atas, diperoleh nilai x1=3 dan x2=2 sehingga diperoleh nilai minimum

fungsi

=-31.

Selanjutnya, penyelesaian menggunakan bantuan program computer yaitu WinQSB diperoleh

sebagai berikut :

Page 14: multiobjective optimization

Diperoleh solusi dalam bentuk grafik yaitu :

Jadi diperoleh nilai minimum 31f x , dengan 1 3x dan 2 2x

Kasus II

Selesaikan masalah berikut:

Minimalkan

Dengan syarat

Penyelesaian:

Didefinisikan variable sebagai berikut:

( ), (

), ,

, , ,

Page 15: multiobjective optimization

Kondisi Karush- Kuhn Tucker (KKT) :

atau

(

) (

) (

) (

) (

)

(

)

Sehingga kondisi KKT dapat dituliskan kembali sebagai berikut :

Penambahan variable buatan:

Minimalkan

Dengan syarat:

Page 16: multiobjective optimization

Semua variable

Selanjutnya diselesaikan dengan menggunakan metode simpleks.

Iterasi 1.

Iterasi berikutnya diselesaikan dengan langkah yang sama dengan kasus 1, diperhatikan

bahwa pada kasus maksimisasi ini, kolom pivot dipilih yang nilai kolomnya memuat

0j j j j

maks c z c z

Penyelesaian dengan menggunakan program WinQSB diperoleh output sebagai berikut:

Basis xj x1 x2 m1 m2 y1 y2 v a1 a2 a3 bi bi/ai

cj 0 0 0 0 0 0 0 1 1 1

a1 1 8 0 -1 -1 -1 0 0 -1 0 0 2

a2 1 0 4 -1 -1 0 -1 0 0 -1 0 2 0.5

a3 1 1 1 0 0 0 0 -1 0 0 1 2 2

zj 9 4 -2 -2 -1 -2 0 -1 0 2

cj-zj -9 -4 2 2 1 2 0 2 1 -1

Page 17: multiobjective optimization

Diperoleh grafik sebagai berikut:

Diperoleh x1=0.25, x2=0.5 dan nilai maksimum

.

Untuk memaksimumkan fungsi f(x) pada masalah program kuadratik sama halnya dengan

meminimumkan negative fungsi f(x) tersebut.

Contoh :

Memaksimumkan

sama halnya dengan meminimumkan

.

Page 18: multiobjective optimization

Iterasi 1.

Iterasi 2.

Iterasi 3.

Iterasi 4.

Iterasi 5.

diperoleh nilai x1=0.25, x2=0.5 dan nilai minimum –f(x)=-0.75