Anda di halaman 1dari 232

OPTIMASI TAKLINEAR

(berdasarkan data-data penelitian, disertai


program MATLAB 6.5 )

Dr. H.A. Parhusip

GRAFIKA
Penerbit Tisara Grafika
SALATIGA
2014
Katalog Dalam Terbitan
519.72
PAR Parhusip, H. A.
o Optimasi taklinier (berdasarkan data-data penelitian, disertai
program MATLAB 6.5) / H. A. Parhusip. -- Salatiga : Tisara
Grafika, 2014.
x, 221 hlm. ; 25 cm.

ISBN 978-602-9493-14-6

1.Linier programming. 2. Mathematical analysis. 4. MATLAB.

I. Title.

Cetakan pertama : Maret 2014


ISBN : 978-602-9493-14-6
Hak Cipta : Pada Penulis
Editor : Dr. Widowati
Desain Sampul : Tisara Grafika
Tata letak : Harrie Siswanto
Percetakan : Tisara Grafika
Penerbit : Tisara Grafika

Hak Cipta dilindungi oleh Undang-undang


Dilarang mengutip atau memperbanyak sebagian atau seluruh buku ini
tanpa seijin penulis

Diterbitkan oleh:

JL. DIPONEGORO 98 D - SALATIGA 50714 - JAWA TENGAH


Telp.: 0298-321798 | Fax : 0298-321798
Mobile: 081 228 598 985 | 0819 0488 340| 0298-6138702
GRAFIKA
email: harisis_05@yahoo.com, harriesiswanto@gmail.com
Bank: BNI Cabang Salatiga No. Rek. 369 57809
Didedikasikan kepada suami dan anak tercinta

iii
iv
PRAKATA

F
akultas Sains dan Matematika (FSM) Universitas Kristen
Satya Wacana (UKSW) merupakan salah satu Fakultas Sains
yang menekankan penelitiannya pada aplikasi sains dan
matematika. Adapun aplikasi yang dimaksud terkait dengan
lingkungan sekitar UKSW yaitu Salatiga, Jawa Tengah dan
sekitarnya seperti berbagai kasus industri kecil dan perusahaan dari
pemerintah maupun instansi swasta.
Kasus yang dihadapi seringkali memerlukan pemrograman untuk
dapat menyelesaikan. Program yang digunakan umumnya adalah MATLAB,
MAPLE, GEOGEBRA untuk matematika deterministic dan SPSS, Excell dan
R untuk pengolahan data statistik. Program-program ini juga banyak
dibutuhkan pada berbagai perusahaan. Oleh karena itu teknik menggunakan
program-program tersebut perlu diketahui. Pada buku ini diperkenalkan
penggunaan program MATLAB dalam menterjemahkan problem optimasi.
Selain untuk kebutuhan pada dunia kerja, MATLAB juga banyak digunakan
pada keperluan riset pada berbagai jenjang akademik (S1 hingga S3). Jadi
program yang disediakan pada buku ini juga untuk memberikan wawasan
bagi peneliti awal.
Kurangnya buku ber-ISBN yang sesuai dengan penelitian di FSM
(bahkan belum ada) sangat memungkinkan agar segera buku ini dapat dibuat
dan dapat dimanfaatkan secara umum terlebih lagi adanya dorongan yang
terus menerus untuk mendisain penelitian yang berkualitas.
Buku ini diharapkan dapat menjembatani kebutuhan-kebutuhan
tersebut di atas dan buku yang berbasis penelitian ini dapat terus diperbaharui
sesuai dengan penelitian yang berkembang di FSM bahkan pada lingkungan
yang lebih luas pada masa mendatang.

Salatiga, Maret 2014

Dr. Suryasatriya Trihandaru, MSc.nat, S.Si.


Dekan Fakultas Sains & Matematika
Universitas Kristen Satya Wacana

v
vi
KATA PENGANTAR

P
enggunaan komputer pada perkuliahan aras S1 sekarang
khususnya matematika sangat diperlukan khususnya mata
kuliah yang terkait dengan aplikasi matematika seperti metode
numerik, pemodelan matematika, program linear, optimasi
linear dan tak linear dan komputasi matematika. Demikian pula beberapa
mata kuliah dasar seperti kalkulus dan aljabar linear juga sangat didukung
oleh komputer.
Sehubungan dengan hal itu, buku-buku ajar yang mendukung untuk
mahasiswa dapat menganalisa hasil keluaran dari program juga sangat jarang.
Selain itu, buku-buku bidang terkait dalam bahasa Inggris mempunyai
ilustrasi kasus yang muncul dari negara Eropa atau Amerika. Sedangkan
mahasiswa seringkali menjumpai kasus justru dengan data dan kasus dari
daerah lokal setempat. Kesenjangan dalam menganalisa dan contoh kongkrit
yang kurang mendorong penulis untuk menyusun buku ini.
Buku ini ditujukan pada mahasiswa matematika S1 pada khususnya
dan pengguna matematika pada umumnya yang bergelut dengan masalah
optimasi. Untuk itulah buku ini disusun. Program yang terkait dengan
algoritma yang ditulis juga disajikan dalam bahasa MATLAB secara
bertahap sehingga pembaca dapat meng-copy program dengan mudah. Cara
mengemukakan hasil analisa umumnya bermasalah bagi mahasiswa. Panduan
cara menganalisa juga diberikan pada buku ini sehingga pengguna/mahasiswa
dapat mengikuti cara mengemukakan pendapat.

Cara membaca buku ini

Pembaca perlu memahami optimasi pada kalkulus dan bahasa


MATLAB. Teori-teori terkait pada kalkulus diulas kembali pada Bab 1,
sehingga bagi pengguna matematika yang kurang memahami kalkulus dapat
mengikuti. Untuk memenuhi kondisi kritis (stasioner) umumnya diperlukan
menyelesaikan persamaan taklinear dan sistem persamaan taklinear. Hal ini
dapat dibaca pada Bab 7.
Pembaca dapat belajar MATLAB mulai dari Bab 1 untuk memahami
teori yang diberikan. Sepanjang Bab 2- Bab 7 diberikan program yang dapat

vii
dipelajari dan modul cara menganalisa. Demikian pula soal-soal yang
memuat hasil-hasil penelitian juga disajikan khususnya pada Bab 6 dan
dilanjutkan pada Bab 7.
Tentunya masih banyak kekurangan penulis dalam menyusun buku
ini. Saran dan pendapat yang mendukung perbaikan buku ini sangatlah
diharapkan.

Salatiga, Maret 2014

Penulis

viii
DAFTAR ISI

PRAKATA v
KATA PENGANTAR vii
DAFTAR ISI ix

Bab 1
DASAR-DASAR OPTIMASI TAKLINEAR 1-48
1.1 Permasalahan Optimasi dengan Satu Variabel 1
1.2 Optimum Global dan Lokal 2
1.3 Fungsi Cembung (convex) dan fungsi cekung (concave) 3
1.4 Permasalahan Optimasi dengan Multivariabel 16
1.4.1 Maksimum Lokal dan Global 16
1.5 Metode-metode dasar untuk optimasi 18
1.5.1 Metode penyelesaian untuk masalah opti-misasi berkendala 18
persamaan
1.5.2 Persyaratan Kuhn-Tucker 22
1.5.3 Metode Finalti (Penalty Method) 26
1.6 Beberapa definisi penting 28
1.6.1 Tak Bebas Linear dan Bebas Linear 28
1.6.2 Kombinasi Konveks 29
1.6.3 Himpunan Konveks 29
1.6.4 Penyelesaian Titik Ekstrim 30
1.7 Metode Numerik untuk Optimasi tanpa kendala 30
1.7.1 Metode Golden Search (GS) 31
1.8 Optimasi dari penelitian 34
Bab 2
PEMROGRAMAN KUADRATIK 49-62
2.1 Bentuk standar 49
2.2 Optimasi Pemrograman Kuadratik (Quadratik programming QP) 51
2.3 Menggambar fungsi tujuan dengan MATLAB 55
2.4 Latihan Soal 57
Bab 3
FUNGSI-FUNGSI OPTIMASI PADA MATLAB 63-78
3.1 Fungsi fmincon ( ) 63
3.2 Optimasi dengan kendala persamaan dan tidak persamaan 68
3.3 Optimasi Pemrograman Kuadratik 70
3.4 Fungsi fminimax () 72
3.5 Fungsi lsqlin dan lsqnonlin 72
3.6 Latihan Soal 76

ix
Bab 4
PEMROGRAMAN STOKASTIK 79-98
4.1 Program Linear Stokastik 80
4.2 Pemrograman Stokastik Nonlinear 94
Bab 5
METODE MODERN DALAM OPTIMASI 99-138
5.1 Simulasi Anneling (SA) 99
5.2 Algoritma SA untuk optimasi 100
Ciri-ciri alogoritma SA 103
5.3 Optimasi dengan koloni semut 109
Sifat perilaku semut 110
Lintasan kembali dan memperbaharui Peremon 111
Penguapan jejak Peromon 111
Algoritma 112
5.4. Algoritma Genetik 117
5.4.1 Kelahiran Algoritma Genetik 117
5.4.2 Representasi variabel disain (variabel keputusan) 120
5.4.3 Representasi fungsi tujuan dan kendala 120
5.4.4 Reproduksi, Crossover dan mutasi 122
Crossover 125
Crossover program (dan mutasi) 129
Bab 6
KEGIATAN PENELITIAN BERDASARKAN HASIL-HASIL 139-182
OPTIMASI DARI PENELITIAN
Kegiatan Penelitian A 139
Kegiatan Penelitian B 146
Kegiatan Penelitian C 150
Kegiatan Penelitian D 154
Kegiatan Penelitian E 157
Kegiatan Penelitian G: Optimasi dengan kendala 165
Kegiatan Penelitian H 171
Kegiatan Penelitian I 175

Bab 7
SISTEM PERSAMAAN TAK LINIEAR 183-221
7.1 Persamaan Taklinear 183
7.2 Sistem Persamaan Taklinear 187
7.2.1 Metode Newton 188
7.2.2 Metode Broyden 194
7.3 Sistem Persamaan Taklinear dengan fungsi fsolve pada MATLAB 206

x
Bab 1
DASAR-DASAR OPTIMASI TAKLINEAR

M
asalah optimasi pada dasarnya meminimalkan atau
memaksimalkan fungsi tujuan. Karena memaksimalkan
suatu fungsi tujuan sama artinya meminimalkan negatif
dari fungsi tujuan, maka hampir pada keseluruhan pembahasan buku ini
membahas tentang meminimalkan fungsi tujuan. Selain itu, adanya kendala
seringkali membatasi hasil yang diperoleh. Akan tetapi untuk dapat
mempelajari sifat-sifat umum dalam optimasi, kita membahas masalah
optimasi tanpa kendala terlebih dahulu.
Secara matematis, kita harus mengetahui terlebih dahulu ada
tidaknya peminimal sebelum mencari nilai minimal fungsi tujuan. Oleh karena
itu berbagai cara mengenal ada tidaknya peminimal dibahas lebih lengkap.

1.1 Permasalahan Optimasi dengan Satu Variabel

Sebuah program tak linear satu variabel yang tak berkendala


berbentuk:
minimumkan :
z  f x  (1.1)

dimana f x  adalah sebuah fungsi (tak linear) dari variabel tunggal x , dan
pencarian nilai optimumnya (maksimum atau minimum) ditinjau dalam
selang tak berhingga  ,  . Jika peninjauannya dibatasi pada selang
berhingga [a,b], maka persoalannya menjadi:
minimumkan : z  f x  (1.2)
dengan kendala : a  x  b
yang merupakan sebuah program tak linear satu variabel yang berkendala.

OPTIMASI TAKLINEAR |1
1.2 Optimum Global dan Lokal

Sebuah fungsi obyektif f x  memiliki sebuah minimum lokal (atau

relatif) di x* jika terdapat sebuah selang (yang kecil) yang berpusat di x*


sedemikian sehingga f x   f x *   untuk semua x dalam selang ini dimana

 
fungsi ini didefinisikan. Jika f x   f x * untuk semua x dalam selang ini

dimana fungsi ini didefinisikan, maka fungsi minimum di x* (di samping


adalah lokal) adalah suatu minimum global atau mutlak. Maksimum-
maksimum lokal dan global didefinisikan dengan cara yang sama tetapi
dengan tanda ketidaksamaan yang terbalik.
Contoh 1.1
Fungsi yang digambarkan pada Gambar 1 hanya didefinisikan pada R Fungsi
ini memiliki minimum relatif pada 2 titik B dan D dan maksimum relatif pada
titik A dan C

Gambar 1.1 Fungsi f(x) =(x² - 4) (x - 4) (x - 1) (x + 2) dengan minimum dan maksimum


lokal

Berikut ini teorema yang mendefinisikan minimum lokal dan maksimum


lokal maupun global.

2 | Dasar-Dasar Optimasi Taklinear


Teorema 1.1 : Jika f x  kontinu pada selang tertutup dan terbatas [a,b],

maka f x  memiliki optimum global (baik maksimum maupun minimum)


pada selang ini.
Teorema 1.2 : Jika f x  memiliki optimum lokal di x * dan jika f x  dapat

didefinisikan pada sebuah selang kecil yang berpusat di x * , maka


 
f ' x *  0 . Inilah syarat mendapatkan titik x * .

Teorema 1.3 : Jika f x  dapat didefinisikan dua kali pada sebuah selang

 
kecil yang berpusat di x * , dan jika f ' x *  0  
f '' x *  0 , maka f x 

   
memiliki sebuah minimum lokal di x * . Jika f ' x *  0 dan f '' x *  0 , maka

f x  memiliki sebuah maksimum lokal di x * .


Dari kedua teorema yang pertama ini diperoleh bahwa jika f x  kontinu di
[a,b] , maka optimum lokal dan global akan terjadi diantara titik-titik dimana
f ' x   0 (yang pada umumnya disebut titik-titk stasioner atau titik kritis ,
atau antara titik-titik ujung x  a dan x  b ). Selanjutnya teorema ini
dikembangkan pada optimasi fungsi multivariabel.
Salah satu cara mengenali ada tidaknya peminimum fungsi tujuan
adalah dengan mengenali sifat fungsi tujuan yaitu apakah fungsi tujuan
cembung (convex) atau cekung (concave) sebagaimana didefinisikan pada
subbab berikut.

1.3 Fungsi Cembung (convex) dan fungsi cekung (concave)

fungsi 1 variabel
Sebuah fungsi f x  adalah cembung pada sebuah selang  (berhingga atau

tak berhingga),jika untuk setiap dua titik x1 dan x 2 di dalam  dan untuk

semua 0  1  1 berlaku

OPTIMASI TAKLINEAR |3
f x1  1   x 2   f  x1   1    f  x 2  (1.3)
Jika pernyataan (1.3) berlaku dengan tanda pertidaksamaan yang terbalik,
maka f x  adalah cekung . Jadi, negatif dari sebuah fungsi cembung adalah
cekung, dan sebaliknya.

Teorema 1.4: Jika f x  dapat terdiferensial dua kali pada suatu interval 

maka f x  adalah cembung pada

  f " x   0 x dalam  .

Fungsi cekung  f " x   0 x dalam  .

Teorema 1.5: Jika f x  cembung pada  , maka setiap minimum lokal pada

 adalah suatu minimum global pada  . Jika f x  cekung pada  , maka


setiap maksimum lokal pada  adalah suatu maksimum global pada  .
Tidak ada jaminan bahwa metode numerik akan menemukan suatu
maksimum global. Dapat terjadi bahwa metode ini hanya konvergen ke suatu
maksimum lokal atau lebih buruk lagi, sama sekali tidak konvergen.
Perkecualiannya adalah pada program-program yang memiliki fungsi obyektif
yang cekung (concave function).

fungsi multivariabel
Kita perlu mengenal beberapa definisi penting berikut ini.
Vektor gradien f yang berkaitan dengan sebuah fungsi

f x1 , x2 , x3 ,..., xn  yang semua turunan pertamanya ada, didefinisikan sebagai


T
 f f f 
f   , ,....,  (1.4.a)
 x1 x 2 x n 

4 | Dasar-Dasar Optimasi Taklinear



Notasi f 
x*
menunjukkan nilai gradien di x * dalam berbagai arah.

Untuk simpangan yang kecil dari x * dalam berbagai arah, maka arah yang

memberikan pertambahan maksimum dalam f( x * ) adalah arah vektor f x* .

Contoh 1.2 Untuk f  x1 , x 2 , x 3   3 x12 x 2  x 22 x 33 , dengan x *  1,2,3T ,maka :

6 x1 x 2 
 2 3
f  3 x1  2 x 2 x3 
 3 x 2 x 2 
 2 3 

612   12 
 2 3
sehingga f 
x*
 31  223    105
 322 32   108
   

Untuk menyelidiki sifat pengoptimum (pemaksimum atau pemi-


nimum) maka kita menyelidiki tanda dari pada fungsi 1 variabel (menurut
Teorema 1.3). Secara sama, kita perlu membangun kondisi untuk fungsi
tujuan multivariabel. Hal ini ditunjukkan dengan tanda dari matriks Hessian

fungsi tujuan f x1 , x2 ,......, xn  pada titik kritis x * . Jika ada tanda positif atau
negatif untuk suatu skalar, maka perlu ada notasi ’positif’ atau ’negatif’ yang
diperumum untuk matriks. .

Matriks Hessian yang berkaitan dengan sebuah fungsi


f x1 , x2 ,......, xn  yang memiliki turunan-turunan kedua yang kontinu adalah:

 2 f 
Hf   i, j  1,2,3,..., n
 xi x j 

OPTIMASI TAKLINEAR |5
Berdasarkan komponennya, matriks Hessian ditulis dalam bentuk:
2 f 2 f 2 f
.......
x12 x1x 2 x1x n
2 f 2 f
....... ...
H f  x 2 x1 x 22
... .... ........ ...
.... .... ........ ....
2 f 2 f 2 f
..
x n x1 x n x 2 x n2
(1.4.b)

Notasi H f * menunjukkan nilai dari matriks Hessian di x * .
x


Contoh 1.3 Untuk fungsi dari contoh 1.2, dan x *  1,2,3T maka

6 x 2 6 x1 0 
H f   6 x1  2 x33  6 x 2 x32 
 0  6 x 2 x32  6 x 22 x3 
12 6 0 
sehingga H f * =  6  54  108  .
x  
 0  108  72 
Beberapa contoh masalah optimasi yang berkendala maupun tanpa kendala
ditunjukkan sebagai berikut:
a). min f ( x1 , x2 , x3 )  2 x1  3x2  3x3

kendala x1  2 x2  3
x1  x3  3

x1 , x2 , x3  0

f ( x1 , x2 , x3 )  2 x1  3x2  3x1 x3
2 2
b). max

c). min f ( x1 , x2 , x3 )  2 x1  3x2 x3

kendala x1  x2  4
x1 x3  3

x1 , x2 , x3  0

6 | Dasar-Dasar Optimasi Taklinear


Selanjutnya notasi ‘positif’ dan ‘negatif’ untuk matriks yang digunakan untuk
matriks Hessian didefinisikan sebagai berikut. Definisi berikut ini kurang
aplikatif tetapi lebih bersifat umum.

Definisi 1.5 :
Sebuah matriks simetris A berukuran n  n (yang memiliki sifat A =
 
AT) adalah semi negatif tegas (definite negative) jika x TA x  0 untuk setiap
   
vektor x  0 yang berdimensi n. Jika x TA x < untuk setiap vektor x  0
maka A di atas disebut negatif tegas (definite negative). Secara sama dapat
didefinisikan untuk semi positif tegas (definite positive).
Matriks simetris yang akan dibahas adalah matriks Hessian Teorema
berikut terkadang digunakan untuk menguji sifat matriks Hessian.

Teorema 1.6: Misalkan A  a ij  sebuah matriks simetris n  n dan

didefinisikan determinan-determinan
a11 a12 a13
a11 a12
A 1  a11 A2   A 3   a 21 a 22 a 23 ... A n   1n 1 det
a 21 a 22
a 31 a 32 a 33

A (1.5)
Matriks A adalah negatif tegas (definite negative) jika dan hanya jika
A1,A2,.........,An semuanya negatif. Dengan kata lain A adalah semi negatif
tegas (definite negative) jika dan hanya jika A1  0 , A2  0 1, A3  0 ,…,

Ar  0 (r < n) semuanya negatif dan Ak  0 yang tersisa semuanya nol.


Teorema berikut ini sering digunakan untuk menguji sifat matriks
Hessian pada masalah optimasi.

Teorema 1.6.b: Suatu matriks simetris semi negatif tegas (definite negative)

(semi definite negative) untuk semua x dalam D yaitu setiap nilai eigen
matriks tersebut lebih kecil atau sama dengan 0.

OPTIMASI TAKLINEAR |7
Contoh 1.4
Untuk H f  pada Contoh 1.3, A1 = 12 > 0, maka H f bukan negatif tegas
x*


(definite negative) ataupun semi negatif tegas (semi definite negative) di x *
Kita kembali pada definisi konveks dan konkaf untuk fungsi tujuan
multivariabel. Perhatikan bahwa variabel bebas diberi notasi vektor yang

artinya x merupakan multivariabel di R n . Sehingga notasi diferensial
menjadi notasi gradient (dengan operator ‘nabla’, atau ditulis  ). Sepanjang
buku ini, maka yang dimaksud dengan vektor adalah merupakan daftar
bilangan sebanyak n.

Definisi 1.6.c:

Sebuah fungsi f x  adalah semi cembung (semi convex) pada suatu
 
daerah konveks D, jika untuk dua vektor sembarang x dan y dan untuk
semua 0    1 berlaku
   
f (x  (1   ) y )  f ( x )  (1   ) y (1.6.a)
Sebuah fungsi adalah semi cekung (semi concave) pada D jika dan hanya
tanda pada persamaan (1.6.a) sebaliknya pada D yaitu
   
f (x  (1   ) y )  f ( x )  (1   ) y . (1.6.b)

Jika tanda sama tidak berlaku pada persamaan (1.6.a) maka f


dikatakan sangat cembung (strictly convex) dan dikatakan sangat cekung
(strictly concave) pada persamaan (1.6.b).
Daerah konveks D dapat berhingga atau tak berhingga.

Teorema 1.7.a : Jika f x  memiliki turunan parsial kedua pada D, maka

f x  cekung pada D jika dan hanya jika matriks Hessian Hf semi negatif

tegas (definite negative) (semi definite negative) untuk semua x dalam D
yaitu setiap nilai eigen matriks dari matriks Hessian Hf lebih kecil atau sama
dengan 0.

8 | Dasar-Dasar Optimasi Taklinear



Teorema 1.7.b : Jika f x  cekung pada D, maka setiap maksimum lokal pada D
adalah suatu maksimum global pada D.

Jika fungsi f x  adalah cembung (convex) dan terdiferensial di R n ,
 
maka titik x * adalah peminimum global pada fungsi f x   jika memenuhi
kondisi stasioner yaitu
 
f x *  0 . (1.7)

Bukti: jika f x  adalah cembung dan terdiferensial, maka dimiliki
 
    
 
f x   f x *  f x *  x  x *   
x, x * .

Tetapi jika fungsinya stasioner di titik x * berlaku

 

f x   f x *  f x  x  x 
* *


 

 f x*  0 x  x   f x 
* *  
x , x *

sehingga dapat dikatakan bahwa x * adalah peminimum global.

Perhatikan cara menuliskan perkalian. Karena f x * adalah vektor  
 

dan x  x * juga vektor, sedangkan hasil perkalian haruslah skalar, maka
perlu notasi dot product.
Definisi fungsi cembung dan cekung seringkali membingungkan
mahasiswa. Untuk itu studi secara khusus tentang hal ini dapat didukung
dengan yang ditunjukkan sebagai berikut ini.

Kegiatan 1.1
Tujuan: Studi konveks
   
Menyelidiki apakah f (x  (1   ) y )  f ( x )  (1   ) y dipenuhi, untuk
0    1 pada domain konveks yang didefinisikan.

Kegiatan A:
Kita akan menguji studi konveks fungsi
f ( x1 , x2 )  5x12  2 x1 x2  x22  x1  2 x2  3 pada D = R 2 .

OPTIMASI TAKLINEAR |9
Fungsi ini dapat digambar dengan MAPLE untuk menambahkan visualisasi
fungsi tersebut yang ditunjukkan pada perintah dan Gambar 1.2

> plot3d(5*x^2 + 2*x*y + y^2 – x + 2*y + 3, x=-5..5, y=-5..5);

Gambar 1.2. Grafik fungsi f ( x1 , x2 )  5 x1  2 x1 x2  x2  x1  2 x2  3


2 2

Pada kita tidak bisa menyelidiki pada semua bidang R 2 dan untuk
semua nilai  . Hal ini karena kita perlu mendiskritkan data. Kita akan
menyelidiki tahap demi tahap.
Tahap 1.
 
Perhatikan notasi x  (1   ) y jika dituliskan atas komponen-komponennya
maka

   x1   y1   x1  (1   ) y1 
x  (1   ) y =    + (1   )  =   .
 x2   y 2   x2  (1   ) y 2 
  u1   x1  (1   ) y1 
Kita akan menyebut u    =   .
 u2  
 2 x  (1   ) y 2

Sehingga untuk menyelidiki f ( x1 , x2 )  5x12  2 x1 x2  x22  x1  2 x2  3


convex
atau strictly convex (Teorema 1.7.a-1.7.b) adalah mengerjakan/menyelidiki
pertidak-samaan.
     
f (u )  f ( x )  (1   ) f ( y ) atau f (u )  f ( x )  (1   ) f ( y )

10 | Dasar-Dasar Optimasi Taklinear


dipenuhi atau tidak.
Misal diambil D adalah garis x = 0 ,  =0.5 buat file dengan nama
Studikonveks.m dengan isi sebagai berikut
%studi konveks
lamda=0.5;
%memilih D adalah himpunan titik-titik pada garis x = 0
c=0;
y=-5:1:5;
n=length(y);
x=c*ones(1,n);
plot(x,y,'-')
axis([-3 3 -3 3])
xy=[x' y']
vx(1)=xy(1,1)
vx(2)=xy(1,2)
vy(1)=xy(2,1)
vy(2)=xy(2,2)
u(1)=lamda*vx(1) + (1-lamda)*vy(1)
u(2)=lamda*vx(2) + (1-lamda)*vy(2)
fu=5*u(1)^2 + 2*u(1)*u(2) + u(2)^2 - u(1) + 2*u(2) + 3
fx=5*vx(1)^2 + 2*vx(1)*vx(2) + vx(2)^2 - vx(1) + 2*vx(2) + 3
fy=5*vy(1)^2 + 2*vy(1)*vy(2) + vy(2)^2 - vy(1) + 2*vy(2) + 3
Kanan=lamda*fx + (1-lamda)*fy
Banding=[fu Kanan]

Keluaran program dapat diperoleh dengan mengetik program pada layar


MATLAB
>> Studikonveks (Enter)

Pembahasan hasil program: Pada hasil menunjukkan bahwa fungsi


memenuhi kondisi sebagai fungsi konveks. Akan diselidiki selanjutnya untuk
berbagai nilai  .

Kegiatan 2.
Membandingkan studi konveks untuk berbagai nilai  , misal nama file
adalah Studikonveks2.m

OPTIMASI TAKLINEAR | 11
%studi konveks
lamda=linspace(0,1,10); %memvariasi lamda
%memilih D adalah himpunan titik-titik pada garis x = 0
c=0;
y=-5:1:5;
n=length(y);
x=c*ones(1,n);
plot(x,y,'-')
axis([-3 3 -3 3])
xy=[x' y']
vx(1)=xy(1,1)
vx(2)=xy(1,2)
vy(1)=xy(2,1)
vy(2)=xy(2,2)
pl=length(lamda);
fu=zeros(pl,1);
Kanan=zeros(pl,1);
for i=1:pl
u(1)=lamda(i)*vx(1) + (1-lamda(i))*vy(1)
u(2)=lamda(i)*vx(2) + (1-lamda(i))*vy(2)
fu(i)=5*u(1)^2 + 2*u(1)*u(2) + u(2)^2 - u(1) + 2*u(2) + 3
fx=5*vx(1)^2 + 2*vx(1)*vx(2) + vx(2)^2 - vx(1) + 2*vx(2) + 3
fy=5*vy(1)^2 + 2*vy(1)*vy(2) + vy(2)^2 - vy(1) + 2*vy(2) + 3
Kanan(i)=lamda(i)*fx + (1-lamda(i))*fy
end
Banding=[lamda' fu Kanan]
figure,plot(1:pl,fu,'*',1:pl,Kanan,'o')
Keluaran Gambar ditunjukkan pada Gambar 1.3.

   
Gambar 1.3. Hasil perbandingan f (x  (1   ) y ) dan  f ( x )  (1   ) y

12 | Dasar-Dasar Optimasi Taklinear


Kegiatan 3: Studi Konveks
Selidikilah fungsi-fungsi berikut ini convex atau strictly convex pada
himpunan convex yang didefinisikan
f ( x1 , x 2 )  x12 / 2  3 x 22 / 2  3 x1 x 2 on D = R 2

Jawab : Program pada Matlab :


clear
close all
%studi konveks
lamda = linspace(0,1,10); %memvariasi lamda
%memilih D adalah himpunan titik-titik pada garis x = 1

y = -5:1:5;
n = length (y);
for c = 1:10
x = c*ones(1,n);
subplot(2,1,1),plot(x,y,'-')
axis ([-3 12 -3 3])
hold on
xy = [x' y']
vx(1) = xy(1,1)
vx(2) = xy(1,2)
vy(1) = xy(2,1)
vy(2) = xy(2,2)

pl = length (lamda);
fu=zeros(pl,1);
kanan=zeros(pl,1);
for i=1:pl
u(1) = lamda(i)*vx(1) + (1-lamda(i))*vy(1)
u(2) = lamda(i)*vx(2) + (1-lamda(i))*vy(2)
fu(i) = (u(1).^2 )./2+ (3.*u(2).^2)./2+ (sqrt(3)).*u(1).*u(2)
fx = (vx(1).^2 )./2+ (3.*vx(2).^2)./2+ (sqrt(3)).*vx(1).*vx(2)
fy = (vy(1).^2 )./2+ (3.*vy(2).^2)./2+ (sqrt(3)).*vy(1).*vy(2)
kanan(i) = lamda(i)*fx + (1-lamda(i))*fy
end
banding = [lamda' fu kanan]
subplot(2,1,2),plot (1:pl,fu,'*')
hold on
subplot(2,1,2),plot (1:pl,kanan,'o')
end
hold off

OPTIMASI TAKLINEAR | 13
Keluaran ditunjukkan pada Gambar 1.4.

   
Gambar 1.4. Hasil perbandingan f (x  (1   ) y ) dan  f ( x )  (1   ) y dengan
memvariasi  dari [0,1] sebanyak 10 angka untuk
f ( x1 , x 2 )  x12 / 2  3 x 22 / 2  3 x1 x 2 .

Kesimpulan:
f ( x1 , x 2 )  x12 / 2  3 x 22 / 2  3 x1 x 2 adalah strictly convex (konveks tegas)

Kegiatan 4.
Kegiatan 4 akan menguji cembung atau cekung untuk fungsi
f ( x1 x2 )  ( x1  2 x2  1)8  ln( x1 x2 ) 2 .
Tahap 1. Program
clear
close all
%studi konveks
lamda=linspace(0,1,100);%memvariasi lamda
%memilih D adalah himpunan titik-titik pada garis x=0
y=-5:1:5;
n=length(y);
for c=0:10
x=c*ones(1,n);
subplot(2,1,1),plot(x,y,’-‘);
axis([-3 3. -3 3])
hold on

xy=[x’ y’]
vx(1)=xy(1,1)
vx(2)=xy(1,2)

14 | Dasar-Dasar Optimasi Taklinear


vy(1)=xy(2,1)
vy(2)=xy(2,2)
pl=length(lamda);
fu=zeros(pl,1)
kanan=zeros(pl,1)
for i=1:pl
u(1)=lamda(i)*vx(1) + (1-lamda(i))*vy(1)
u(2)=lamda(i)*vx(2) + (1-lamda(i))*vy(2)
fu(i)=5*u(1).^2+2*u(1)*u(2)+u(2).^2-u(1)+2*u(2)+3
fx=5*vx(1).^2+2*vx(1)*vx(2)+vx(2).^2-vx(1)+2*vx(2)+3
fy=5*vy(1).^2+2*vy(1)*vy(2)+vy(2).^2-vy(1)+2*vy(2)+3
kanan(i)=lamda(i)*fx + (1-lamda(i))*fy
end
banding=[lamda’ fu kanan]
subplot(2,1,2),plot(1:pl,fu,’*’)
hold on
subplot(2,1,2),plot(1:pl,kanan,’o’)
end
hold off

Tahap 2. Keluaran program hanya ditunjukkan dalam Gambar 1.5

   
Gambar 1.5. Hasil perbandingan f (x  (1   ) y ) dan  f ( x )  (1   ) y dengan
memvariasi  dari [0,1] sebanyak 10 angka untuk
f ( x1 x2 )  ( x1  2 x2  1)8  ln( x1 x2 ) 2 .

OPTIMASI TAKLINEAR | 15
Berdasarkan Gambar 1.5 dan data menunjukkan bahwa fungsi tesebut adalah
strictly convex (0<  <1) menurut definisi karena hasil banding untuk setiap
 adalah x ≠ y.

1.4 Permasalahan Optimasi dengan Multivariabel

Pada kasus ini akan dipelajari optimasi tak linear dengan lebih dari
satu variabel. Tetapi disini hanya akan ditinjau bentuk analog dari (1.1):

minimumkan : z = f( x ), (1.7)

dimana x  x1 , x2 ,..., xn 
T

merupakan vektor pada D .


Bentuk persamaan (1.7) sebagai optimasi tak berkendala.
Selanjutnya, kita akan selalu menganggap optimisasi dalam persamaan (1.7)
sebagai maksimisasi; semua hasilnya dapat diterapkan pada program
 
minimisasi jika f( x ) diganti dengan -f( x ).

1.4.1 Maksimum Lokal dan Global


Suatu persekitaran x * dengan jari-jari  (  neighbourhood,  >0 )

adalah himpunan dari semua vektor x yang sedemikian rupa sehingga:
   
( x - x * )T( x - x * ) 

x1  x1*   x
2
2  x \*2   x
2
3  x3* 
2

 ...  x n  x n* 
2
2

Dalam istilah geometris, sebuah persekitaran x * adalah bagian dalam
(interior) dan batas (boundary) dari sebuah bola berdimensi-n yang berjari-

jari  dan berpusat di x * .
 
Sebuah fungsi obyektif f( x ) memiliki suatu maksimum lokal di x * ,
  
jika terdapat suatu persekitaran x * sedemikian hingga f( x )  f x * untuk  

semua x dalam berjarak  dimana fungsinya didefinisikan. Jika persyaratan

16 | Dasar-Dasar Optimasi Taklinear



ini dipenuhi untuk setiap  yang positif (cukup kecil), maka f( x ) memiliki

suatu maksimum global di x * .
Kita akan mengingat kembali syarat maksimum dan minimum
global yang ditunjukkan pada kalkulus pada teorema 8-10 berikut ini,

Hasil-hasil dari Kalkulus



Teorema 1.8: Jika f( x ) kontinu pada suatu daerah yang tertutup dan terbatas,

maka f( x ) memiliki suatu maksimum global ( dan suatu minimum
global pada daerah itu ).

Teorema 1.9: Jika f( x ) memiliki suatu maksimum lokal ( atau minimum
 
lokal ) di x * dan jika  f terdefinisi pada beberapa persekitaran x *

berjarak  maka  f = 0.
x


Teorema 1.10 : Jika f( x ) memiliki turunan-turunan kedua pada suatu

persekitaran  sekitar x * , dan jika  f  = 0 dan H f  adalah negatif
x x


tegas (definite negative), maka f( x ) memiliki suatu maksimum lokal di

x* .
Dari teorema 1.9 dan teorema 1.10 dapat disimpulkan bahwa

maksimum global dari suatu fungsi kontinu f( x ) tercapai dititik-titik dimana
 f = 0 (titik stasioner) kecuali jika fungsinya memiliki nilai-nilai yang besar
 
sekali bila x T x   . Untuk keadaan yang terakhir, fungsi tidak memiliki
maksimum global.
Penyelesaian analitik dengan menggunakan kalkulus untuk program
multivariabel lebih sulit daripada untuk program satu variabel, karena itu
sekali lagi kita gunakan untuk pendekatan maksimum lokal ke dalam
toleransi yang diperbolehkan.

OPTIMASI TAKLINEAR | 17
Contoh 1.6 Masalah optimisasi takberkendala:
min f  x1 , x 2    x1  2 4   x1  2 x 2 2

Secara jelas f x1 , x2   0 & f 2,1  0 ; disini (2,1) adalah solusi global
minimum. Grad f diberikan oleh:
4 x1  2 3  2 x1  2 x 2 
f  x1 , x 2    
 4 x1  2 x 2  
Sehingga pada (2,1) didapat f  x1 , x 2   2  2 4  2  2(1) 2  0 .

1.5 Metode-metode dasar untuk optimasi

1.5.1 Metode penyelesaian untuk masalah optimisasi berkendala


persamaan

Secara umum masalah optimisasi yang berkendala persamaan


berbentuk:

Maksimumkan z = f( x ) (1.8)
dengan kendala:

g1 ( x ) = 0

g2 ( x ) = 0


gm ( x ) = 0

dengan x  x1 , x2 ,..., xn  , dan m < n ( jumlah kendala < jumlah variabel).
T

Seperti halnya dalam optimasi linear biasa, program minimisasi dapat diubah
ke dalam program maksimisasi dengan mengalikan fungsi obyektif dengan -1.
Bentuk standar bagi program-program taklinear yang mengandung kendala-
kendala pertidaksamaan adalah:

Maksimumkan z = f( x ) (1.9)
dengan kendala:

18 | Dasar-Dasar Optimasi Taklinear



g1( x )  0

g2 ( x )  0
..........

gm( x )  0

dan x  0 .

Program-program taklinear yang tidak dalam bentuk standar (1.9) dipecahkan


dengan merubahnya ke bentuk standar atau dengan merubah prosedur-
prosedur penyelesaian yang diberikan di bawah ini untuk program-program
dalam bentuk standar.

Metode Pengali Lagrange


Untuk memecahkan masalah (1.8), maka pertama kali kita membentuk fungsi
Lagrange
Lx1 , x2 , x3 ,...., xn , 1 , 2 , 3 ,....m 

 m

 f( x )   i g i ( x ) (1.10)
i 1

dimana i i  1,2,3,......., m  adalah tetapan-tetapan (yang tidak diketahui)


yang disebut pengali Lagrange. Lalu kita pecahkan sistem n+m persamaan
L
 0 (j = 1,2,...,n) (1.11)
x j

dan
L
0 (i = 1,2,...,m). (1.10c)
i

Teorema 1.11: Jika masalah (1.10) memiliki suatu penyelesaian, maka


penyelesaian ini terdapat diantara penyelesaian-penyelesaian bagi sistem
 
(1.10), asalkan f( x ) dan gi( x ) (i = 1,2,...,m) memiliki turunan-turunan
parsial pertama yang kontinu dan matriks Jacobi m x n, dengan

OPTIMASI TAKLINEAR | 19
 g 
J  i
 x j 
 
memiliki rank m di x = x *.

Metode pengali Lagrange ini ekuivalen dengan menggunakan persamaan



kendala untuk menghilangkan beberapa variabel x tertentu dari fungsi
obyektif dan kemudian memecahkan persoalan maksimisasi tanpa kendala

dalam variabel-variabel x yang tersisa.

Contoh 1.7. Minimalkan dengan metode pengali Langrange untuk masalah


fungsi tujuan dengan kendala persamaan
Min (x) = + (A.a)
h( x)  x2  x1  2  0 (A.b)
Kita bisa menggantikan kendala persamaan x2 = 2 – x1 ke fungsi tujuan
sehingga masalah ini menjadi optimasi tak berkendala sebagai
Min (x) = + (2 − ) =2 −4 +4 (A.c)
yang dapat dengan mudah dipecahkan dengan menetapkan turunan dari hal
ini.

( )=4 − 4 = 0,
Atau, kita dapat menerapkan metode pengali Lagrange sebagai berikut:
Mininimumkan (x, λ) = + + ( + − 2)

20 | Dasar-Dasar Optimasi Taklinear


Gambar 1.6 Fungsi obyektif dengan kendala contoh 1.7

Program MATLAB untuk mengilustrasikan Gambar 1.6 ditunjukkan berikut


ini
clear
close all
[X,Y] = meshgrid(-3:.125:3);
Z = X.^2 + Y.^2;
meshc(X,Y,Z);
hold on
Z2=X + Y-2;
meshc(X,Y,Z2);
hold off

L
Kondisi ekstrem adalah  2 x1    0 sehingga = − ⁄2. Secara
x1
sama diperoleh
L L
 2 x 2    0 sehingga x2   / 2 . Demikian pula  x1  x 2  2  0
x 2 
. Diperoleh   2 .

Dalam contoh ini, penggantian (linear) kendala persamaan lebih mudah


daripada metode pengali Lagrange. Namun, tidak selalu terjadi, seperti yang
digambarkan oleh contoh berikut.

Contoh 1.8 Meminimalkan masalah kendala taklinear


OPTIMASI TAKLINEAR | 21
Min f ( x1 , x2 )  x1  x2 dimana kendalanya adalah h( x1 , x2 )  x12  x22  2 =0.
Dengan cara yang sama, kita perlu menyusun fungsi pengali Lagrange yaitu
 
Lx1 , x 2 ,    x1  x 2   x12  x 22  2 .
Diperoleh x1  x2  1 / 2 sehingga   1 / 2 .
Sekarang, dalam rangka untuk memberitahu apakah masing-masing adalah
minimum atau maksimum, kita harus menentukan positif atau negatif tegas
dari turunan kedua (matriks Hessian).

( , λ) ∂ ⁄∂ ∂ ⁄∂ ∂ 2λ 0
= = =
x ∂ ⁄∂ ∂ ∂ ⁄∂ 0 2λ

Matriks ini positif / negatif tegas (definite negative) jika tanda λ adalah
positif / negatif. Oleh karena itu penyelesaian (x1, x2) = (-1, -1) sesuai dengan
λ minimum =(lokal) yang ingin kita dapatkan, sedangkan solusi (x1, x2) =

(1, 1) berkaitan dengan   1 / 2 adalah maksimum (lokal).

1.5.2 Persyaratan Kuhn-Tucker


Secara umum masalah optimisasi yang berkendala persamaan dan
pertidaksamaan berbentuk:
minimalkan: f (x )

dengan kendala : hi ( x ) = 0; g i ( x )  0 . (1.11)


Kita perlu menyusun fungsi pengali Lagrange yang melibatkan
kendala persamaan dan kendala pertidaksamaan

  

p
 m
 
L x ,  ,   f  x    i hi  x     j g j  x 
i 1 j 1

untuk i=1,…,m dan j=1,…,p (1.12.a)


Perhatikan bahwa banyaknya variabel (n), banyaknya kendala persamaan (m)
dan kendala pertidaksamaan (p) tidak harus sama. Secara analog, untuk
 
mendapatkan nilai optimal yaitu x * ,  * ,  * maka kita perlu menyelesaikan

22 | Dasar-Dasar Optimasi Taklinear


   

 L x ,  ,   0 . Bentuk ini merupakan bentuk sistem persamaan yang bias
taklinear yang terdiri dari (n + m +p) persamaan. Umumnya urutan sistem
persamaan dengan menyusun turunan L terhadap masing-masing variabel,
kemudian barulah turunan L terhadap masing-masing parameter. Kondisi
Karush Kuhn Tucker ditunjukkan berikut ini.
Teorema 1.12 (kondisi Kuhn Tucker): Anggap bahwa fungsi f , hi , g i

adalah kontinu dan terdiferensial, dan x * adalah feasible dan memenuhi

kendala. Maka syarat cukup untuk optimum lokal pada x * harus ada suatu
*i  0 dan  i*  0 sedemikian hingga:

     
m p
L  f x    hi x    i*g i x *  0;
* *
i
*

i 1 j 1

 
 *j g j x *  0 ; j  1,..., p (1.12.b)
Contoh 1.8
min x1 2  x 2 2
dengan kendala:
x1  0; x2  3; x1  x2  4.
Bentuk kendala belum memenuhi bentuk baku sehingga perlu ditulis dalam
bentuk baku (menurut persamaan (1.11) yaitu
 x1  0;  x2  3  0; x1  x2  4  0.
Langkah pertama disusun pengali Lagrange, yaitu:
L ( x ,  ,  )  x12  x 22  1 x1   2 ( x 2  3)   x1  x 2  4. .

Dengan persyaratan Kuhn-Tucker didapat:


L
 2 x1  1    0
x1
L
 2 x2   2    0
x2

OPTIMASI TAKLINEAR | 23
L
  x1  0, 1  0
1
L
  x2  3  0,  2  0
 2
Akan diselesaikan dengan per kasus.
Kasus1: 1   2  0. Pada kasus ini, diperoleh sistem persamaan sebagai

berikut:
2 x1    0
2 x2    0
x1  x 2  4  0.

Diperoleh solusi x1  x2  2 . Hal ini bertentangan dengan kendala  x1  0

dan  x2  3  0 , sehingga tidak memenuhi.

Kasus 2: 1 ,  2  0. Diperoleh solusi x1  0, x2  3, juga bertentangan


dengan kendala ketiga. Sehingga juga tidak dipenuhi.
Kasus 3: 1  0,  2  0. Didapat :
x1  0
x2  4
  2 x 2  8
1    8.

Tidak memenuhi persyaratan Kuhn-Tucker, karena nilai 1 adalah


negatif.
Kasus 4: 1  0,  2  0. Didapat:

x1  1; x2  3;   2 ;  2  4.
Hasil ini memenuhi persyaratan Kuhn-Tucker, sehingga solusi optimumnya
adalah x1  1, x2  3,   2,  2  4.
Sekarang dengan memperhatikan kendala yang diberikan, maka pada kasus
di atas akan diselesaikan dengan metode pengali Lagrange.

24 | Dasar-Dasar Optimasi Taklinear


Contoh 1.9
Dengan fungsi yang diberikan adalah :
minimumkan f x, y, z   x 2  y 2  z 2
dengan kendala:
g1  2 x  3 y  5 z  9
g 2  6 x  y  7 z  12
x, y , z  R
Tahap 1: susun fungsi pengali Lagrange:
Ditulis
2
Lx, y, z, 1 , 2   f x, y, z    i g i ( x )
i 1

dimana i i  1,2,3,......., m  adalah tetapan-tetapan (yang tidak diketahui)


yang disebut pengali Lagrange.

Tahap 2: pecahkan sistem 5 persamaan yang telah dibentuk dengan:


L L
 0 (j = 1,2,3);  0 (i = 1,2)
x j i
atau ditulis
T
 L L  
L   ,   0 , j=1,2,3 ; i=1,2 .
 x j i 
Sehingga dari masalah contoh 1.8 dapat disusun pengali Lagrange, yaitu:
L  f , g 1, g 2 , 1 ,  2   f  1 g 1   2 g 2

 x 2  y 2  z 2  1 2 x  3 y  5 z  9  2 6 x  y  7 z  12
Lalu kita pecahkan sistem persamaan di atas dengan:
L
 0  2 x  21  62  0
x

OPTIMASI TAKLINEAR | 25
L
 0  2y  31  2  0
y
L
 0  2y  51  72  0
z
L
 0  2x-3y+5z-9 = 0
1
L
 0  6x+y-7z-12 = 0.
2
Sistem dapat ditulis dalam bentuk sistem persamaan linear Ax = b dengan
solusi (bantuan MATLAB)
x= 2.4352 ;y= -0.9907; z= 0.2315
1  -0.8380 ; 2  -0.5324.

1.5.3 Metode Finalti (Penalty Method)

Metode Finalti digunakan untuk menyelesaikan kasus dimana kasus


mula-mula adalah memaksimalkan w (fungsi tujuan) tanpa kendala.
Sedangkan Metode Finalti biasa digunakan untuk meminimalkan fungsi
dengan kendala. Untuk menggunakan metode ini maka masalah optimasi
harus disusun dalam bentuk umum sebagai berikut
 
Anggap bahwa f (x) , g 1 ( x ) , …, g m (x ) mempunyai turunan parsial

pertama yang kontinu di R n . Untuk menyelesaikan masalah optimasi


berkendala yaitu

 minimalkan f ( x ) dengan kendala
     (P.1.a)
 g1 ( x )  0, g 2 ( x ),..., g m ( x )  0, x  R
n

dilakukan proses sebagai berikut


(1). Untuk setiap bilangan bulat positif k (disebut parameter Finalti),

anggap x k* adalah peminimum global untuk fungsi Finalti yaitu
(Peressini,1988)

 
2
  m

Pk ( x )  f ( x )  k  g i ( x ) . (P.1.b)
i 1

26 | Dasar-Dasar Optimasi Taklinear


 
Notasi g i (x ) menyatakan bahwa untuk suatu kendala g i (x )  0 ,

maka fungsi g i (x ) didefinisikan sebagai

  0 jika g i ( x )  0
g (x ) =  
i  . (P.1.c)
g i ( x) jika g i ( x )  0
*
 
(2). Tunjukkan bahwa subbarisan x k konvergen pada suatu penyelesaian

x * untuk masalah (P.1.a)-(P.1.c).
Oleh karena fungsi kendala dinyatakan dalam bentuk persamaan (P.1.c)
 
maka diperlukan adanya jaminan bahwa h( x )  [ g  ( x )] 2 juga mem-

punyai turunan pertama parsial yang kontinu di R n . Hal ini ditunjukkan


pada Lemma 1.13 berikut ini.

Lemma 1.13 :
Jika g (x) mempunyai turunan parsial pertama yang kontinu di R n , hal ini
 
berlaku juga h( x )  [ g  ( x )]2 . Selain itu turunan parsial tersebut adalah
 
h( x )  g 
( x ) , untuk semua i = 1,2,…,n untuk semua x  R .
n
 2g  ( x)
xi xi
Bukti : (Peressini,et.all,1988).
Secara umum metode Finalti ditunjukkan oleh Teorema berikut ini.

Teorema 1.14:
   
Anggap bahwa f (x ) , g 1 ( x ) , …, g m (x ) kontinu di R n dan f (x )

terbatas ke bawah di R n (yaitu terdapat suatu konstan c sehingga berlaku


 
c  f (x ) untuk semua x  R n ). Jika x F suatu penyelesaian pada masalah
*

(P.1.a) yaitu

minimalkan f ( x ) dengan kendala
   
 g1 ( x )  0, g 2 ( x ),..., g m ( x )  0,

OPTIMASI TAKLINEAR | 27

dan jika setiap bilangan bulat positif k, terdapat suatu x k  R n sehingga

 min 
Pk ( xk )   P ( x) ,
xR n k

maka
  
(i). Pk ( x k )  Pk 1 ( x k 1 )  f ( x F ) untuk setiap bilangan bulat positif k
*

 g 
lim m
  2
(ii). ( xk )  0 .
k 
i
i 1


Sebagai konsekuensi, jika x k P adalah subbarisan xk yang konvergen dan
 

jika
lim  
{ x k P }  x **
kP

maka x ** adalah penyelesaian untuk problem (P.1.a).
Bukti: (Peressini,et.all,1988)

1.6 Beberapa definisi penting


1.6.1 Tak Bebas Linear dan Bebas Linear

Sebuah himpunan vektor-vektor berdimensi – m, P1, P2 ,.........


.......,Pn 

adalah tak bebas linear jika terdapat konstanta-konstanta  1 ,........, n yang


tidak semuanya nol, sedemikian hingga
 1 P1  ..................   n Pn  0 (1.13)
Teorema 1.15: Setiap himpunan vektor berdimensi m + 1 atau lebih dari m
adalah tak bebas linear. Sebuah himpunan vektor berdimensi – m,
P1 , P2 ,................, Pn  adalah bebas linear jika satu-satunya nilai konstanta

untuk (1.13) berlaku adalah  1   2  ...   n  0.

28 | Dasar-Dasar Optimasi Taklinear


1.6.2 Kombinasi Konveks

Vektor P yang berdimensi – m adalah kombinasi konveks dari vektor


berdimensi – m P1 , P2 ,..........Pn jika terdapat konstanta-konstanta tak negatif

1 ,................... n yang jumlahnya adalah 1, sedemikian rupa sehingga

P  1 P1  .....................   n Pn (1.14)

1.6.3 Himpunan Konveks

Sebuah himpunan vektor berdimensi – m adalah konveks jika untuk


dua vektor yang termasuk dalam himpunan ini berlaku bahwa penggal garis
antara kedua vektor juga termasuk dalam himpunan ini.

Contoh 1.10
Piringan yang diarsir pada Gambar 1.8 kiri adalah sebuah himpunan konveks
karena penggal garis antara dua buah titik sembarangnya (vektor-vektor
berdimensi 2) semuanya berada dalam piringan ini. Gambar 1.8 kanan tidak
konveks, karena meskipun R dan S termasuk pada himpunan berbayangan,
tetapi terdapat titik-titik seperti T yang terletak pada penggal garis antara R
dan S tetapi bukan merupakan bagian dari daerah bintang.

Gambar 1.8 Ilustrasi domain konveks (kiri) dan yang tidak konveks (kanan)

Sebuah vektor P adalah titik ekstrim dari sebuah himpunan konveks


jika ia tidak dapat dinyatakan sebagai kombinasi konveks dari dua buah
vektor lainnya dalam himpunan ini, artinya sebuah titik ekstrim tidak terletak

OPTIMASI TAKLINEAR | 29
pada penggal garis yang manapun antara dua buah vektor sembarang dalam
himpunan ini.
Teorema 1.14:
Setiap vektor dalam sebuah himpunan konveks tertutup dan terbatas dengan
sejumlah berhingga titik ekstrim dapat dinyatakan sebagai gabungan konveks
dari titik-titik ekstrim.
Teorema 1.15:
Ruang penyelesaian dari sehimpunan sistem persamaan linear yang serempak
(simultan) adalah konveks yang memiliki sejumlah berhingga titik ekstrim.

1.6. 4 Penyelesaian Titik Ekstrim

Misalkan  adalah himpunan dari semua penyelesaian layak dari


program linear dalam bentuk standar, yaitu,  adalah himpunan semua vektor

x yang memenuhi Ax  b dan x  0 . Dari teorema 1.15 dan kenyataan
bahwa irisan dari himpunan-himpunan konveks adalah juga himpunan
konveks, maka kesimpulannya adalah bahwa  merupakan himpunan
konveks yang memiliki sejumlah berhingga titik ekstrim.
Catatan 1 : Fungsi tujuan mencapai optimumnya (maksimum atau minimum)
pada sebuah titik ekstrim dari  , asalkan ada sebuah optimum.
Catatan 2 : Jika A berorde m x n (m baris dan n kolom) dengan m  n , maka
titik-titik ekstrim dari  memiliki sekurang-kurangnya n – m komponen yang
nol.

1.7 Metode Numerik untuk Optimasi tanpa kendala

Masalah optimasi untuk kasus nyata umumnya melibatkan berbagai


kendala. Akan tetapi untuk menyusun teori, maka keadaan ideal (tanpa
kendala) dapat terlebih dahulu disusun.

30 | Dasar-Dasar Optimasi Taklinear


1.7.1 Metode Golden Search (GS)

Metode ini berlaku untuk masalah minimisasi yang dibatasi


sedemikian rupa sehingga interval solusi [a, b] diketahui dan f (x) adalah
unimodal dalam interval, yaitu tanda f ‘(x) berubah dalam [a, b] sehingga f
(x) menurun/meningkat monoton untuk [a, ] / [ ,b], dimana adalah
solusi yang kita cari. Golden search (GS) dirangkum didalam program "GS".
Algoritma GS ini ditunjukkan pada prosedur berikut.

Prosedur G.S
Langkah 1.

Ambil dua titik c = a + (1 - r) h dan d = a + rh dalam interval [a,b],dimana



= dan h = b - a.

Langkah 2.
Jika nilai-nilai f (x) pada dua titik yang hampir sama [yaitu, f (a) ≈ f (b)] dan
lebar interval cukup kecil (yaitu, h ≈ 0), kemudian berhenti iterasi untuk
keluar dari loop dan menyatakan = c atau = d tergantung pada apakah f
(c) < f (d) atau tidak. Jika tidak, lanjutkan ke Langkah 3.

Langkah 3.
Jika f (c) < f (d), biarkan nilai-nilai f(x) baru terbatas pada interval b ← d, jika
tidak, biarkan nilai-nilai f(x) baru yang lebih rendah terbatas pada interval a ←
c. Lalu, ke Langkah 1.
Kita akan menggunakan MATLAB Program "UtamaGS.m", yang digunakan
untuk menemukan titik minimum.
Contoh 1.11
Fungsi Tujuan untuk meminimumkan persamaan yang diketahui sebagai
berikut
( − 4)
( )= −1
8
OPTIMASI TAKLINEAR | 31
Untuk dapat mengilustrasikan f(x), dalam Gambar 1.9 kita dapat
menggunakan Geogebra seperti pada Gambar 1.9 ini.

Gambar 1.9. Ilustrasi ( ) = −1

Dari Gambar 1.9 kita mengilustrasikan fungsi f(x) untuk melihat gambar agar
lebih mudah dilihat dan dibayangkan. Dengan Kalkulus, fungsi f(x) akan
diturunkan untuk mengetahui nilai minimumnya dimana fungsi f(x) ditulis
dalam bentuk
( − 4) − 8 − 16 1
( )= −1= −1= − −2−1
8 8 8
= − −3= −2 .
Diperoleh nilai-nilai x yang memenuhi kondisi kritis adalah
=0 =2 = −2.

Program "GS"
Berikut ini adalah program yang terkait.
function [xo,fo] = opt_gs(f,a,b,r,TolX,TolFun,k)
h = b - a; rh = r*h; c = b - rh; d = a + rh;
fc = feval(f,c); fd = feval(f,d);
if k <= 0 | (abs(h) < TolX & abs(fc - fd) < TolFun)
if fc <= fd, xo = c; fo = fc;
else xo = d; fo = fd;
end
32 | Dasar-Dasar Optimasi Taklinear
if k == 0, fprintf('Just the best in given # of iterations'), end
else
if fc < fd, [xo,fo] = opt_gs(f,a,d,r,TolX,TolFun,k - 1);
else [xo,fo] = opt_gs(f,c,b,r,TolX,TolFun,k - 1);
end
end

Program "UtamaGS.m"
f711 = inline('(x.*x-4).^2/8-1','x');
a = 0; b = 3; r =(sqrt(5)-1)/2; TolX = 1e-4; TolFun = 1e-4; MaxIter = 100;
[xo,fo] = opt_gs(f711,a,b,r,TolX,TolFun,MaxIter)

Langkah 4: Keluaran pada MATLAB


Xo=
2.0000
fo=
-1.0000
Pembahasan : Secara matematis maka
0
= −2
2
dan Hasil MATLAB
2
=
−1
Perhatikan hal berikut tentang proses golden search.
 Pada setiap iterasi, lebar interval baru
b - c = b - (a + (1 - r) (b - a)) = rh atau

d - a = a + rh - a = rh

sehingga menjadi r kali lebar interval lama (b - a = h).

 r rasio golden adalah tetap sehingga titik = − ℎ = − ℎ


diperbaharui pada interval [c, b] sesuai dengan d = a + rh= b - (1 - r)
h, yaitu

√ √
= 1− . + − 1 = 0, = = .

OPTIMASI TAKLINEAR | 33
Untuk selanjutnya akan ditunjukkan proses optimasi dimana data diperoleh
dari penelitian.

1.8 Optimasi dari penelitian

Proyek 1. Kasus Pertanian

Pada (Parhusip dan Ayunani,2009) telah ditunjukkan bahwa hijauan


sebagai variabel dominan untuk berat sapi yang produktif menghasilkan susu.
Hal ini dilakukan dengan menggunakan Principal Componen Analysis.
Selain hijauan terdapat beberapa variabel lain yang diukur seperti pupuk urea,
lingkar dada, garam dapur, ketela untuk mempelajari berat sapi yang optimal
dalam menghasilkan produksi susu sapi. Data diobservasi setiap hari selama
1.5 bulan, dari tanggal 15 Juli 2008 sampai dengan 30 Agustus 2008. Data
diperoleh dari Peternakan Rakyat Dukuh Belon, Kelurahan Kumpulrejo,
Kecamatan Argomulyo, Kota Salatiga. Sebagai salah satu bentuk data hasil
survei ditunjukkan pada Tabel 1a-Tabel 1d.

Tabel 1a Contoh data lingkar dada, berat pupuk urea dan berat untuk sapi dari
Peternakan Rakyat Dukuh Belon, Kelurahan Kumpulrejo, Kecamatan
Argomulyo, Kota Salatiga dari tanggal 15 Juli 2008 sampai dengan 30 Agustus
2008.

Lingkar dada Pupuk urea Berat sapi


(cm) (gr) (kg)
104 70 102
106 70 108
108 70 114
110 70 121
112 70 126
115 70 137
118 70 148
120 75 155
122 75 162

34 | Dasar-Dasar Optimasi Taklinear


Tabel 1b. Data pupuk urea yang diberikan sesuai dengan berat untuk sapi dari
Peternakan Rakyat Dukuh Belon, Kelurahan Kumpulrejo, Kecamatan
Argomulyo, Kota Salatiga dari tanggal 15 Juli 2008 sampai dengan 30
Agustus 2008.

100- 150- 200- 250- 300- 350-


>400kg
150kg 200kg 250kg 300kg 350kg 400kg

16 20 25 30 35 40 45

18 22 27 32 37 47 52

20 24 30 34 40 50 55

22 28 33 38 45 55 60

25 32 36 42 50 60 65

30 36 40 46 55 65 70

35 40 45 50 60 70 75

40 45 50 55 65 75 80

45 50 55 60 70 80 85

50 55 60 65 75 83 90

50 55 60 70 80 90 95

55 60 65 70 80 90 100

55 60 65 75 80 95 100

60 65 70 75 85 95 100

60 65 70 80 90 100 100

65 70 75 80 90 100 100

65 70 75 85 95 100 100

70 75 80 85 95 100 100

70 75 80 90 100 100 100

75 80 85 90 100 100 100

OPTIMASI TAKLINEAR | 35
Tabel 1c. Data berbagai variabel yang diukur pada sapi dari Peternakan Rakyat Dukuh Belon, Kelurahan Kumpulrejo,
Kecamatan Argomulyo, Kota Salatiga dari tanggal 15 Juli 2008 sampai dengan 30 Agustus 2008. No.urut
(tiap kolom) menunjukkan no.urut sapi

Variabel 1 2 3 4 5 6 7 8 9 10 11 12

36 | Dasar-Dasar Optimasi Taklinear


Jumlah hijauan (kg) 40 40 35 35 50 50 50 30 30 30 25 25

jumlah katul (kg) 6 6 2 2 10 10 3 4 4 4 3 3

jumlah tela (kg) 2 2 2 2 10 10 3 2 2 2 2 2

jumlah garam dapur (kg) 0.1 0.1 0.25 0.2 0.3 0.3 0.5 0.25 0.25 0.25 0.25 0.25

Jumlah air/hari (liter) 40 40 35 30 50 50 30 30 30 30 30 30


Tabel 1d. Data berbagai variabel yang diukur pada (lanjutan Tabel 1d)

Variabel 13 14 15 16 17 18 19 20 21 22 23
jumlah hijauan (kg) 40 40 20 40 40 30 40 30 40 30 40
jumlah katul (kg) 3 3 2 2 2 4 3 2 5 5 3
jumlah tela (kg) 2 2 4 2 1 2 3 2 5 2 2
jumlah garam dapur (kg) 0.2 0.2 0.25 0.25 0.25 0.25 0.5 0.2 0.25 0.1 0.25
Jumlah air/hari (liter) 40 40 80 30 40 30 20 20 50 30 30

OPTIMASI TAKLINEAR
| 37
Kita dapat menyusun suatu pertanyaan berdasarkan data tersebut,
misalkan:
Bagaimana menentukan hubungan antara berat dengan lingkar dada dan
banyaknya pupuk urea yang diberikan sebagai fungsi waktu dan
menggunakan variabel dominan pada berat setelah dinyatakan sebagai fungsi
lingkar dada dan pupuk urea.
Berat pupuk urea diberikan perhari sama dalam 2 minggu dan waktu
maksimal yang diberikan adalah 40 minggu. Berat sebagai fungsi parametrik
lingkar dada dan pupuk urea dengan parameter waktu. Penetapan parameter
dilakukan dengan metode kuadrat terkecil sebagaimana telah ditunjukkan
pada literatur (Parhusip, 2009) .
Pemilihan fungsi dapat memilih yang ada pada literatur, misalkan

w  r(t)er(t ) u(t )
2 2
(2.a)
dengan  ,  dan  dicari berdasarkan data dan r(t) = lingkar dada sebagai
fungsi waktu t, u(t) = fungsi berat pupuk urea. Fungsi pada persamaan (2.a)
ini telah digunakan untuk memodelkan pendapatan daerah Salatiga sebagai
fungsi sektor pajak dan retribusi (Parhusip,2009) .


Contoh 1.12 Penyusunan g i (x )

(a). Jika g ( x )  x  1  0 untuk setiap x  R adalah fungsi kendala, maka

g  (x) mempunyai bentuk

 x  1, jika x  1,
g  (x) = 
 0, jika x  1.

Grafik g  (x) ditunjukkan pada Gambar 1.10

38 | Dasar-Dasar Optimasi Taklinear


  x  1, jika x  1,
Gambar 1.10 Ilustrasi grafik g (x) = 
 0, jika x  1.

Oleh karena fungsi kendala dinyatakan dalam bentuk persamaan


 
(P.1.c) maka diperlukan adanya jaminan bahwa h( x )  [ g  ( x )]2 juga

mempunyai turunan pertama parsial yang kontinu di R n . Kita akan


mengaplikasikan metode Finalti pada data yang lebih realistis.

Contoh 1.3 Penggunaan Metode Finalti untuk penyusunan masalah optimasi


memaksimalkan berat

Misalkan kita akan menganalisa data Tabel 1a-1e. Anggaplah bahwa


fungsi tujuan adalah w(r,u) : adalah berat dengan r :=r(t) menyatakan lingkar
dada dan u(t) := menyatakan berat pupuk urea yang diberikan pada Tabel 1.a-
1.d. Jadi kita mempunyai fungsi 2 variabel bebas yang masing-masing
merupakan fungsi parametrik (dengan parameter t) dan t menyatakan variabel
waktu.
Berdasarkan (Parhusip dan Siska Ayunani, 2009(b)) diperoleh bahwa
berat (dengan data tak berdimensi) merupakan fungsi
 0.6065 u ( t ) 2
w  0.2697 r ( t ) e 0.7257 r ( t )
2
(P.1.d)
dan u(t) berbentuk model logistik. Yaitu
1
u(t )  . (P.1.e)
1  1.8571e 4.8514t
OPTIMASI TAKLINEAR | 39
Sedangkan r(t) berbentuk
r(t) = 0.5024 t + 0.5072 , 0.0036  t  1 . (P.1.f)
Perlu diketahui bahwa data lingkar dada, berat pupuk urea dan berat dibuat
tak berdimensi dengan memberi aturan penyekalaan berturut-turut
r (t ) u (t ) w(t )
r (t ) dim  , u (t ) dim  , w(t ) dim  . (P.1.g)
rmax u max wmax
Sedangkan rmax , u max , wmax berturut-turut menyatakan lingkar dada
maksimum (cm), berat pupuk urea maksimum (kg) dan berat maksimum
(kg) berdasarkan data. Dari data Tabel 1a-1e yang diberikan yaitu
rmax  206 cm, u max  100 gr, wmax  643kg . (P.1.h)
Kita akan memaksimumkan berat dengan model (P.1.d)-(P.1.f).
Akan tetapi oleh karena metode Finalti digunakan untuk meminimalkan
fungsi tujuan, maka diasumsikan
Minimumkan z =-w (P.1.i)
dengan kendala

g1 ( x )  r  0,
 (a)
g 2 ( x )  u  0,

dengan x  (r , u ) .
Setelah mengasumsikan bahwa fungsi tersebut mempunyai kendala maka
harus disusun g  untuk masing-masing r,u yaitu:

  0, r  rmin
g1 ( x )  
r  rmin , r  rmin

  0, u  u min
dan g 2 ( x )   . (b)
u  u min , u  u min

dengan rmin dan u min menyatakan berturut-turut lingkar dada minimum dan
 
berat pupuk urea minimum. Untuk masing- masing g 1  ( x ) dan g 2  ( x ) akan
disusun fungsi Finalti yaitu:

40 | Dasar-Dasar Optimasi Taklinear



Fk (x )    
m
f (x)  k  gi (x) , (c)
i 1

dengan k > 0.

Jadi masalah yang dioptimasi menjadi meminimumkan Fk (x ) pada
persamaan (c). Kasus ini menjadi seperti bentuk meminimalkan fungsi tujuan

tanpa kendala. Artinya akan dicari x F * yang akan meminimalkan Fk (x ) .
 
Berarti perlu dicari k yang memenuhi Fk ( x )  0 . Hal dilakukan sebagai
berikut,
Tahap 1: Susun g  untuk masing-masing r,u yaitu:

  0, r  rmin   0, u  u min


g1 ( x )   dan g 2 ( x )   (Q.a)
r  rmin , r  rmin u  u min , u  u min
Untuk mempermudah notasi selanjutnya, maka parameter pada fungsi w(r,u)

akan ditulis dalam bentuk umum sehingga w =  e r  2


 u 2
 dengan
Tahap 2: Menyusun fungsi Finalti sehingga akan diperoleh bentuk:

Fk (x )    e
r 2  u 2


 
 k (r  rmin )  k (u  umin ) . (Q.b)
* * *
Setelah diketahui fungsi Fk (x ) maka akan dicari x F yaitu (r , u ) yang

meminimalkan Fk (x ) . Hal ini berarti meminimalkan fungsi tanpa kendala
 
seperti yaitu dengan mencari Fk ( x )  0 artinya
  T
 Fk ( x ) Fk ( x ) 
 0 0 sehingga diperoleh
T
 r u  


  e  r
2
 u 2
1  2r  k ,
2
(R.a)
 r e r 2   u 2
2u  k . (R.b)
Karena kedua persamaan (R.a)-(R.b) sama-sama memuat variabel k maka
kedua persamaan tersebut sama sehingga dapat ditulis sebagai:


 e r
2
 u 2
1  2r  re
2 r 2  u 2
2u  0 (R.c)

OPTIMASI TAKLINEAR | 41
Persamaan (R.c) dapat lebih disederhanakan sehingga akan diperoleh
persamaan sebagai berikut:
e r
2
 u 2
1  2r 2
 2 r u   0 (R.d)
Bagian eksponen tidak mungkin 0. Parameter  juga tidak boleh 0. Sehingga

kita hanya memperbolehkan faktor 1  2r 2  2ru = 0. Dari persamaan (R.d)

akan diperoleh nilai u * yaitu:


1  2 r 2 . (R.b)
u* 
2 r

Dengan kembali menggunakan nilai parameter  ,  dan  pada u * sehingga


diperoleh
2
2 12( 0.7257) r *
2 2 0.7257r* 0.6065
* 0.7257r *  0.6065u *
z  0.2697r e  0.2697r e * 2( 0.6065) r*
.
(R.e)
Untuk selanjutnya fungsi z hanya sebagai fungsi r diilustrasikan pada Gambar
1.11.

Gambar 1.11. Fungsi z(r) dari persamaan (R.e)

Gambar 1.11 menunjukkan bahwa pada r=1 maka z minimum yaitu z = -0.7.
Artinya w =-z =0.7. Dalam bentuk berdimensi berarti pula bahwa pada
lingkar dada r =206 cm maka berat maksimum adalah w = 0.7*643 kg =
450.1kg. Sedangkan nilai pupuk urea yang menyebabkan berat maksimum ini
ditunjukkan oleh persamaan

42 | Dasar-Dasar Optimasi Taklinear


1  2r 2 1  2(0.7257)
u 
*
= = 0.3721 (tanpa dimensi).
2 r  2(0.6065)
Pupuk urea dalam bentuk berdimensi sebesar
u* = 0.3721*100 gram= 37.21 gram.
Berdasarkan data maka hal ini dibenarkan.

Latihan Soal Bab 1.


Variabel dominan yang dianggap berperan terhadap produksi susu adalah
jumlah hijauan (Parhusip dan Ayunani,2009,(a)). Sedangkan produksi susu
yang dianggap sudah bagus dihasilkan pada berat minimal 300 kg (informasi
informal yaitu langsung dari petani). Sedangkan berat yang lebih besar dari
300 kg dapat ditulis sebagai fungsi lingkar dada dan pupuk urea. Sehingga
variabel yang mempengaruhi produksi susu juga berpengaruh terhadap berat
penghasil susu. Untuk itu dapat disusun fungsi

w   ( x1 )r (t )e r ( t )  u ( t ) 2
2
(*)

dengan  ( x1 ) sebagai parameter yang tergantung dari jumlah hijauan. Yang


mengakibatkan berat sebagai fungsi lingkar dada, pupuk urea dan jumlah
hijauan. Oleh karena itu perlu ditetapkan penyusunan fungsi  ( x1 ) dan

dipilih fungsi  ( x1 ) = bx1d , dengan b dan d parameter yang harus dicari


berdasar-kan data. Parameter dapat dicari dengan metode kuadrat terkecil.
Kemudian pemodelan dapat dilanjutkan.
Yaitu persamaan (*) dapat ditulis sebagai

w  bx1d r (t )e r ( t )  u ( t ) 2
2
. (a)
Dengan menggunakan metode kuadrat terkecil untuk men-dapatkan
parameter b,d, ,  maka perlu meminimalkan
n
R   [ wi  bx1d,i r (ti )e r ( ti )  u ( ti ) 2 2
2
] , (b)
i 1
dan

OPTIMASI TAKLINEAR | 43
1
u (ti )  , r(ti )  0.5024ti  0.5072 ,
1  1.8571 e  4 .8514 ti
0.0036  ti  1 . (c)
Carilah nilai parameter tersebut dengan menggunakan MATLAB (dapat
menggunakan fungsi lsqnonlin). Buatlah karya tulis tentang hasil model ini.

Proyek 2. Kasus Perekonomian

Data yang mudah diperoleh pada bidang ekonomi adalah data


perencanaan subsidi kedelai pada pengusaha tempe dan tahu di Salatiga pada
tahun 2008 . Contoh data ditunjukkan pada Gambar 1.12.

Gambar 1.8 Daftar penerima subsidi kedelai perkecamatan kota Salatiga Oktober
2008 (Parhusip,2009)

Seringkali data harus diedit terlebih dahulu untuk dapat diolah dengan
mudah, misalkan setelah dikoleksi maka dapat didaftar sebagaimana
ditunjukkan pada Tabel 1.e.

44 | Dasar-Dasar Optimasi Taklinear


Tabel 1.e. Daftar data banyaknya tenaga kerja tahu dan tempe berdasarkan
wilayah di Salatiga

Jml tenaga kerja Jml tenaga kerja Total


Kelurahan
p.tahu p.tempe Jml tenaga kerja

Salatiga 108 20 128


Sidorejo- 70 4 74
Lor
Kauman- 18 7 25
Kidul
Bugel 0 49 49
Blotongan 0 6 6
Pulutan 14 8 22
TNG(orang) P(orang) Subsidi
(kg .kedelai)
Salatiga 128 47 79693
Sidorejo- 74 25 50700
Lor
Kauman- 25 12 23500
Kidul
Bugel 49 33 50750
Blotongan 6 4 1800
Pulutan 22 7 10200

Sumber : Disperindag Salatiga 2008. (Parhusip,2009).

Kita dapat menyusun suatu permasalahan yang dapat membantu pembuat


keputusan dalam memberikan subsidi yaitu apakah perencanaan tersebut cukup
optimal. Bagaimana banyaknya pengusaha dan tenaga kerja dapat membantu
sebagai pertimbangan tersebut ?.
Kita dapat menyatakan subsidi sebagai fungsi tenaga kerja dan
pengusaha. Untuk selanjutnya kita akan mencari tenaga kerja dan banyaknya
pengusaha yang optimal yang meminimumkan subsidi. Masalah ini berkaitan
dengan optimasi yaitu menyusun fungsi tujuan dan meminimalkan fungsi
tujuan itu. Jika hasil yang diperoleh ternyata berada pada interval data yang
diberikan maka perencanaan subsidi yang diberikan baik. Sebaliknya, jika
OPTIMASI TAKLINEAR | 45
nilai optimal tidak berada pada interval data yang ada maka perencanaan
subsidi tersebut tidak baik dan perlu dibenahi. Secara garis besar, maka kita
dapat memformulasikan kajian data sebagai cara memilih data. Hasil analisa
ini telah ditunjukkan pada (Parhusip, 2009, (b)).

Proyek 3. Optimasi pada ilmu Sains


Diberikan data-rata dan deviasi standard penurunan warna pada pembuatan
sirup steviosida pada panjang gelombang 291 nm dan 215 nm (Parhusip dan
Martono, 2012) yang ditunjukkan pada Tabel 1.2 dan prosentase kandungan
steviosida pada Tabel 1.3 dengan berbagai tipe absorbansi.
Tabel 1.2 Rata-rata ( x ) dan standar deviasi (s) dari penurunan warna sirup
steviosida pada panjang gelombang 291 nm wavelength. Diukur oleh Y. Martono,
pada laboratorium Kimia FSM Januari-Februari 2012 (sudah tidak bersatuan).
Simbol B, K, A, S merupakan symbol untuk nama absorbansi dan campuran B dan K
disimbulkan BK , BKA merupakan campuran B, K, dan A, demikian pula BKAS :
merupakan absorbansi dengan campuran dari B, K , A dan S.

Sampel I Sampel II Sampel III


Tipe
absorbansi x s x S x S

Ekstrasi
37.600 0.024 22.233 0.023 30.783 0.008
dasar
Netral 4.343 0.010 9.210 0.019 5.283 0.012
B 1.105 0.040 0.572 0.046 1.259 0.010
K 1.301 0.020 0.661 0.089 1.248 0.021
A 1.470 0.086 0.778 0.093 1.481 0.095
S 1.326 0.024 0.675 0.065 1.206 0.014
BK 1.283 0.027 0.655 0.048 1.201 0.067
BKA 1.254 0.026 0.640 0.049 1.216 0.078
BKAS 1.1 0.039 0.569 0.047 1.142 0.031

46 | Dasar-Dasar Optimasi Taklinear


Tabel 2. Rata-rata ( x ) dan standar deviasi (s) dari kandungan steviosida pada
panjang gelombang 291 nm wavelength. Diukur oleh Y. Martono, pada
labo-ratorium Kimia FSM Januari-Februari 2012 (sudah tidak bersatuan).
Simbol B, K, A, S merupakan symbol untuk nama absorbansi dan
campuran B dan K disimbulkan BK, BKA merupakan campuran B, K, dan A,
demikian pula BKAS: merupakan absorbansi dengan campuran dari B, K ,
A dan S

Tipe Sample I Sample II Sample III


absorbansi x s x S x S
Ekstraksi
6.267 0.080 0.000 0.000 1.700 0.031
dasar
Netral 0.740 0.052 0.710 0 0.717 0.008
B 0.165 0.043 0.040 0.050 0.117 0.033
K 0.150 0.017 0.000 0.000 0.125 0.035
A 0.238 0.043 0.212 0.160 0.234 0.031
S 0.163 0.012 0.075 0 0.095 0.039
BK 0.187 0.070 0.000 0.000 0.111 0.056
BKA 0.170 0.011 0.000 0 0.132 0.062
BKAS 0.036 0.008 0.000 0 0.130 0.058

Diasumsikan penurunan warna (y) merupakan fungsi logistik dari presentase


kandungan steviosida (x) dalam bentuk
K K  y ( x(1))
y ( x)  , A , x.
K  Ae  kx y ( x(1))
Dari penelitian diperoleh bahwa K* dan k* adalah
K*=1.1549 and k*=1.6226 sehingga
1.1549 K *  y ( x(1))
y ( x)  , A .
1.1549  Ae 1.6226 x y ( x(1))
Pertanyaan :
1. minimumkan y(x) dengan kendala x ≥ 0.04 dengan menggunakan
algoritma Golden search.
2. Susunlah fungsi Lagrange dari masalah ini.

OPTIMASI TAKLINEAR | 47
3. Selidiki turunan kedua y pada x* (peminimum y) dan simpulkan apakah
y(x) memenuhi definisi titik kritis minimum .
4. Kedua parameter K*=1.1549 and k*=1.6226 diperoleh dengan
2
 n Ky1,data 
meminimumkan R( K , k )    y i ,data   .

i 1  Ky1,data  K  y1,data e  kxi 

Selidikilah sifat matriks Hessian R apakah negative definite pada kedua
parameter tersebut dan simpulkan jawaban anda apakah kedua parameter
tersebut memang meminimumkan R?

DAFTAR PUSTAKA

Parhusip, H.A dan Martono, Y.2012. Optimization Of Colour Reduction For


Producing Stevioside Syrup Using Ant Colony Algorithm Of
Logistic Function, proceeding of The Fifth International Symposium
on Computational Science,ISSN:2252-7761,Vol1, pp91-101, GMU.

Parhusip H. A., dan Ayunani, S. 2009(a). Principal Component Analysis


(PCA) untuk Analisis Perlakukan Pemberian Pakan dan Mineral
terhadap Produksi Susu, Prosiding Seminar Nasioanal Matematika
UNPAR, Vol 4 hal.AA 42-51, ISSN 1907-3909.

Parhusip H. A., Ayunani, S. 2009(b). Metode Finalti untuk Menentukan


Berat Optimal, Prosiding Seminar Nasional Matematika dan
Pendidikan Matematika, FMIPA UNY 5 Des 2009, ISBN: 978-979-
16353-3-2,T-17, hal. 1139-1151.

Parhusip H. A., 2009. Data Selection with Hessian Matrix, Proceeding of


IndoMS International Conference on Mathematics and Its
Applications (IICMA) , Oct 12-13 2009, ISBN:978-602-96426-0-5,
0341-0352.

Peressini, A.L,et.all, 1988. The Mathematics of Nonlinear Programming,


Springer Verlag, New York, Inc. hal. 117.

48 | Dasar-Dasar Optimasi Taklinear


Bab 2
PEMROGRAMAN KUADRATIK

T
elah banyak penelitian tentang optimasi taklinear yang
penyelesaiannya menggunakan pemrograman kuadratik.
Loqman, dkk (2013) menggunakan pemrograman kuadratik
untuk penjadwalan pekerja pada suatu perusahaan. Gharibi (2012) mengang-
kat masalah pemrograman kuadratik yang diaplikasikan dalam ilmu kom-
puter dan komunikasi kemudian diselesaikan dengan linearisasi 0-1. Selain
itu ada juga penelitian oleh Bhowmik, dkk (2000) masalah pemrograman
integer diubah ke pemrograman kuadratik dan diselesaikan dengan teknik
heuristik.
Pada bab ini, pemrograman kuadratik merupakan masalah optimasi
dengan fungsi tujuan bentuk kuadratik yang dijelaskan secara mendasar dan
selanjutnya fungsi yang ada pada MATLAB juga diperkenalkan.

2.1 Bentuk standar

Menurut Peressini, dkk (1998) optimasi program kuadratik merupa-


kan masalah konveks (cembung) (fungsi tujuan merupakan fungsi konveks),
sehingga penyusunan fungsi tujuannya analog dengan penyusunan fungsi
tujuan untuk masalah konveks. Bentuk umum dari masalah meminimalkan
pemrograman kuadratik adalah

OPTIMASI TAKLINEAR | 49
    1 
Minimalkan f ( x )  a  c  x  2 x  Qx
    
(QP)  x  b , x  0,
 
dengan x  D  R n


 
dengan Q adalah matriks n x n positif tegas untuk b  R m , c  R n , a  R dan A
adalah matriks m x n rank m.
Q : matriks koefisien fungsi tujuan;
̅: vektor koefisien fungsi tujuan,
: konstanta pada fungsi tujuan; ̅ : vektor variabel keputusan,
A : matiks koefisien fungsi kendala; : vektor nilai sebelah kanan pada
kendala.
Catatan :
1. Matriks bertipe m x n rank m artinya matriks yang mempunyai m kolom
yang saling bebas linear.
2. Kendala untuk masalah optimasi pada persamaan (2.0) merupakan
kendala sistem pertidaksamaan linear dengan variabel keputusan yang
boleh bernilai 0. Pada aplikasi kendala kedua ini sangat tidak realistis
sehingga perlu ada transformasi. Perhatikan Proyek 3 pada Bab 1 dimana
kendala variabel keputusan adalah nilai minimum dari variabel tersebut
pada data.

Untuk menyelesaikan pemrograman kuadratik, maka perlu menyu-


sun fungsi tujuan kuadratik.
Sedangkan untuk fungsi tujuan yang mempunyai titik pemaksimal jika
bersifat cekung (concave). Menurut Perresini, dkk, (1998) ada beberapa cara
untuk menunjukkan fungsi tujuan yang diperoleh concave:
1. Jika matriks Hessian fungsi tujuan negative semi definite (setiap nilai
eigen ≤ 0) maka ⃑ ∗ merupakan pemaksimal (sesuai dengan definisi 1.5)

50 | Pemrograman Kuadratik
2. Dengan mengikuti definisi 1.6, sebuah fungsi ( ⃗) adalah cekung pada
sebuah selang  (berhingga atau tak berhingga). Jika untuk setiap dua
titik ⃗ dan ⃗ didalam  dimana ⃗ dan ⃗ ϵ Rn dan untuk semua 0 ≤ ≤

1 berlaku
   
f (x  (1   ) y )  f ( x )  (1   ) y . (2.1)

Jika pernyataan di atas berlaku dengan tanda pertidaksamaan yang terbalik,


maka ( ⃗) adalah cembung (perhatikan definisi 1.6.c) .

2.2 Optimasi Pemrograman Kuadratik (Quadratic programming QP)

Kita akan menggunakan fungsi quadprog.m pada MATLAB untuk


menyelesaikan masalah program kuadratik. Ingat bahwa masalah konveks
yang telah kita pelajari haruslah terlebih dahulu dalam bentuk


 Minimalkan f ( x )
   
( P)  g1 ( x )  0, g 2 ( x )  0,  g m ( x )  0,
 
 dengan x  D  R n

dimana fungsi f merupakan fungsi berbentuk kuadratik untuk masalah


program Kuadratik. Kata program disini digunakan untuk menunjukkan
fungsi tujuan (biasa digunakan dalam optimasi). Untuk menyelesaikan
masalah tersebut, sesuai dengan Bab 1.5.2, maka perlu disusun fungsi
Lagrange yaitu
   m
   
L( x ,  )  f ( x )   i g i ( x ) untuk x  D dan   0 . (2.2)
i 1

Sehingga kondisi Karush Kuhn Tucker (KKT) menurut Teorema 1.12 perlu

dipenuhi. Maka x *  D merupakan penyelesaian (P) jika dan hanya jika

terdapat suatu  *  R m sedemikian hingga memenuhi
 
(1).  *  0 ;

OPTIMASI TAKLINEAR | 51
 
(2).  i * g i ( x*)  0 untuk i = 1,2,…,m.
 m
 
(3). f ( x*)   i * g i ( x*)  0
i 1

Jadi kita perlu menuliskan problem QP dalam bentuk model P yang

kemudian kondisi KKT dapat digunakan.


    
Untuk itu kendala Ax  b , x  0 ditulis dalam bentuk ( Ax)i  bi  0,

untuk i =1,…,k dan  xi  0, i=1,…,n. Kita juga dapat memberlakukan hal


sama untuk kendala dalam bentuk persamaan. Artinya kita mempunyai
 
kendala ( Ax)i  bi  0, untuk i =1,…,k dan ( Ax ) i  bi  0, untuk i =k+1,…,m.
Perhatikan bahwa pada problem P hanya ada 1 tipe kendala sehingga hanya
ada 1 vektor parameter pengali Lagrange. Pada prolem QP terdapat 2 tipe

kendala sehingga diperkenalkan 2 vektor pengali Lagrange. Sebutlah 
 
untuk pengali Lagrange kendala ( Ax ) i  bi  0, untuk i=1,…,k dan sebut 

untuk pengali Lagrange pada kendala  xi  0 , i=1,…,n. Sehingga kita


akan mempunyai bentuk fungsi Lagrange
    m n
L( x ,  , )  f ( x )    i ( Ax) i  bi    i xi (2.3)
i 1 i 1

     1  m n
L( x ,  , )  a  c  x  x  Qx    i ( Ax) i  bi    i xi
2 i 1 i 1

Oleh karena itu sekarang kondisi KKT dapat digunakan yaitu bahwa nilai
parameter taknegatif dan menemukan titik kritis dengan menyelesaikan

sistem persamaan yang diperoleh dari L  0 , yaitu kita akan mencari
  
peminimal x * dan parameter optimal  *  R m dan  *  R n yang memenuhi

(1).  i  0 untuk i=1,…,k ,  j  0 untuk j=1,…,n .


* *

    
(2). c  Qx *  AT  *   *  0

 

(3).  i* ( Ax * ) i  bi  0 , untuk i=1,…,m.

52 | Pemrograman Kuadratik
Pada dasarnya, setelah bentuk (2.1)-(2.3) diperoleh kita dapat
mencari titik kritis dengan algoritma yang dapat mencari penyelesaian sistem
persamaan (linear/taklinear), misalnya metode Newton dan Broyden
(ditunjukkan pada Bab 7). Pada buku dijelaskan lebih lanjut bagaimana kondisi
KKT diperbaharui dan dengan menggunakan algoritma simplex, problem QP
dinyatakan dalam bentuk problem linear yang kemudian diselesaikan dengan
algoritma Wolfe. Pada bagian ini algoritma Wolfe tidak dijelaskan secara
rinci. Kita akan menggunakan fungsi pada MATLAB secara langsung, akan
tetapi kita akan kembali mengulang dan menambahkan latihan yang baru.
Untuk itu kita harus mengetahui bagaimana bentuk umum optimasi pada
MATLAB. Jika kita menghendaki fungsi quadprog.m maka bentuk umum
masalah yang kita punyai harus ditulis dalam bentuk umum MATLAB
terlebih dahulu yaitu
1 T  
min x Hx  f T x sedemikian rupa memenuhi
2
 
A x  b
 
Aeq  x  beq

lb  x  ub.
Notasi kendala pertama untuk kendala pertidaksamaan, notasi kedua untuk
kendala persamaan sedangkan yang terakhir untuk kendala variabel (batas
bawah (lb) dan batas atas (ub)).

Contoh 2.1

Tentukan nilai x dengan meminimumkan fungsi
 1
g  x   x12  x22  x1 x2  2 x1  6 x2 , dengan kendala sebagai berikut:
2
x1  x 2  2
 x1  2 x 2  2
2 x1  2 x 2  3
0  x1 ,0  x 2

OPTIMASI TAKLINEAR | 53
Akan diselesaikan dengan program Matlab menurut tahapan berikut.
 1  
Langkah 1. Tulis dalam bentuk notasi matriks , yaitu: g  x   x T Hx  f T x ,
2

 1  1   2   x 
dengan H    , f   , x   1
 1 2    6  x2 

Langkah 2. Masukkan koefisien-koefisien matriks tersebut dan tulis dalam file


yaitu:
H = [1 -1; -1 2]
f = [-2; -6]
A = [1 1; -1 2; 2 1]
b = [2; 2; 3]
lb = zeros(2,1)
[x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],lb)

Langkah 3. Lalu panggil program maka akan diperoleh keluaran sebagai


berikut:
x=
0.6667
1.3333
fval =
-8.2222
exitflag = 1

output =
iterations: 3
algorithm: 'medium-scale: active-set'
firstorderopt: []
cgiterations: []
lambda.ineqlin
ans =
3.1111
0.4444
0
lambda.lower
ans =
0
0
54 | Pemrograman Kuadratik
Pembahasan hasil program: peminimum adalah
 T
x * =[ 0.6667, 1.3333] dengan nilai minimum fungsi

g( x * )= -8.2222. Untuk selanjutnya kita perlu menganalisa hasil tersebut
lebih dalam yaitu dengan menyusun Lagrange dari problem Contoh 2.1 ini

merupakan fungsi konveks pada titik stationer x * =[ 0.6667, 1.3333]T. Hal
ini tidak ditunjukkan, tetapi diharapkan pembaca dapat mencobanya.

2.3 Menggambar fungsi tujuan dengan MATLAB

Ilustrasi sangat membantu dalam memahami ada tidaknya


peminimal atau pemaksimum. Kita dapat menggunakan fungsi pada
MATLAB untuk itu.
Menggambarkan fungsi-fungsi yang diberikan yaitu
f  x, y   x 2  y 2
f  x, y   4 x  6 y
f  x, y   x 2 y
f  x, y   x 2  y 2
Dengan perintah sebagai berikut:
figure (1)
xm = -5:0.1:5;
ym = -5:0.1:5;
[x,y] = meshgrid(xm,ym);
f = x.^2 - y.^2;
MESH(x,y,f)
f = 4*x + 6*y;
hold on
MESH(x,y,f)
hold on
f =x^2*y ;
MESH(x,y,f)

hold on
f = x.^2 + y.^2;
MESH(x,y,f)
hold on
OPTIMASI TAKLINEAR | 55
f = 2*x + 6*y ;
MESH(x,y,f)
hold off

Kemudian panggil program sehingga diperoleh Gambar 2.1-2.2

Gambar 2.1 Ilustrasi fungsi f  x, y   x 2  y 2 (kiri) dan f x, y   4 x  6 y (kanan)

Gambar 2.2 Ilustrasi f  x, y   x 2  y 2

Perhatikan bahwa Gambar 2.1-2.2 tidak memuat permukaan yang diberikan


oleh kendala. Gambar ini membantu kita untuk menduga dimana posisi kritis
fungsi.

56 | Pemrograman Kuadratik
Latihan Soal Bab 2.

Bagian A.

Soal 1. Kerjakan program fungsi quadprog.m (cocokkan jawaban anda).


minimalkan f ( x1 , x2 )  x12  x1 x2  2 x22  x1  x2

dengan kendala x1 x2  3, x1 x2  4, x1 0, x2  0 .


dengan fungsi quadprog.m

Soal 2. minimumkan : z = 100 x12  200 x 22


dengan syarat tambahan yaitu : .
x1 , x2  0 .

Soal 3. Gunakan fungsi quadprog.m pada MATLAB untuk Minimumkan


f ( x1 , x2 )  2 x12  x22  2 x1 x2  5 x1  2 x2

dengan kendala x1  0 , x2  0 ,

3x1  2 x2  20 , 5 x1  3x2  4 .
Soal 4.
(a) Minimumkan f ( x, y )  x 2  y 2 dengan kendala ( x  2) 2  y 2  0
dengan cara yang anda anggap tepat.
(b) Gambarkan fungsi tujuan dan kendala
(c) Tentukan pula penyelesaian analitiknya

Bandingkan hasil anda antara analitik dan numerik dan buatlah kesimpulan.

Teknik pelaporan

Tujuan:Teknik pelaporan ini dibuat sebagai panduan peneliti dalam


menyusun analisa hasil mengerjakan program. Seringkali peneliti kesulitan
untuk mengemukakan hasil pengamatan terhadap keluaran program, untuk
itulah tata cara pelaporan diberikan beberapa kerangka awal yang selanjutnya
diisi oleh peneliti.

OPTIMASI TAKLINEAR | 57
Untuk bentuk kuadratik maka tulislah bentuk soal dalam bentuk umum QP.
Soal no 1.

Langkah 1. Definisikan x

Langkah 2. Susun fungsi kuadratik dalam bentuk : f ( x )  a  c  x  1 x  Qx


2
Langkah 3. Susun A pada kendala
Langkah 4. Dalam notasi MATLAB (dengan quadprog): fungsi tujuan ditulis
 1 
dalam bentuk q  x   x T Hx  f T x ,
2

Definisikanlah H, f, dan x .
Langkah 5. Tuliskan solusi dengan menuliskan dugaan yang digunakan.
Untuk soal 2-5 juga lakukan dengan prosedur yang analog sebagaimana pada
Soal 1.

Bagian B. Proyek 2.1


Data yang digunakan adalah data sekunder yang diperoleh dari Badan Pusat
Statistik (BPS) kota Surakarta. Data yang dianalisis adalah data LTA, LP,
dan HH pada setiap periode tanam pada tahun 1992-2012. Setiap tahun
terdapat tiga periode tanam.

58 | Pemrograman Kuadratik
Tabel 1. Data padi sawah dari tahun 1992-2013

Periode I Periode II Periode III


No Tahun
LTA I LP I HH I LTA II LP II HH II LTA III LP III HH III

1 1992 125 91 62,41 112 114 55,44 173 83 55,30

2 1993 153 139 59,35 141 115 54,34 176 103 63,08

3 1994 160 145 63,45 153 107 55,57 133 113 57,07

4 1995 81 126 63,73 81 98 57,14 96 103 64,17

5 1996 141 124 60,40 83 156 54,93 126 101 63,36

6 1997 99 135 63,11 63 106 64,05 65 71 65,77

7 1998 66 94 62,12 64 105 51,80 106 84 56,90

8 1999 57 104 57,30 49 94 47,12 83 78 64,74

9 2000 99 113 64,42 54 107 58,31 88 81 46,66

10 2001 89 73 53,29 60 89 53,60 101 62 56,77

11 2002 104 113 53,53 65 96 53,02 91 51 52,54

12 2003 75 55 51,82 58 101 51,58 88 42 52,14

13 2004 72 86 52,91 61 83 52,29 65 48 52,29

14 2005 79 73 51,86 42 94 50,58 83 55 52,14

15 2006 86 78 51,34 33 102 43,88 88 56 51,07

16 2007 75 129 50,60 51 79 47,02 84 49 51,33

17 2008 76 102 52,38 51 86 51,09 80 51 52,69

18 2009 102 85 50,43 71 116 50,88 82 87 51,44

19 2010 92 109 50,58 43 111 48,49 76 55 50,94


20 2011 82 59 51,34 10 24 36,89 60 31 69,83

21 2012 36 64 59,26 17,00 72,00 78,04 24 47 83,27

Sumber: Badan Pusat Statisik (BPS) kota Surakarta


Keterangan: LTA = Luas Tanam Akhir (ha)
LP = Luas Panen (ha)
HH = Hasil per Hektar gabah (ton)

Pertanyaan:
1. Modelkan fungsi tujuan dan kendala. Untuk pemodelan fungsi tujuan
mengacu pada persamaan (QP). Fungsi tujuan disusun untuk setiap
periode tanam, sehingga akan ada tiga persamaan fungsi tujuannya.

OPTIMASI TAKLINEAR | 59
2. Menyelesaikan pemaksimal luas panen tiap periode. Dengan meng-
gunakan fungsi quadprog pada MATLAB dengan cara sebagai berikut:
Pemrograman kuadratik diterapkan untuk menentukan periode tanam yang
optimal berdasarkan data hasil panen pada sawah setiap periode tanam pada
tahun 1992-2012.
Dalam hal ini data akan diolah berdasarkan periode tanam yang sama yaitu
periode I (Januari-April), periode II (Mei-Agustus), dan periode III
(September-Desember). Untuk menyusun fungsi tujuan maka perlu
diperkenalkan variabel yang digunakan yaitu
x ij : data Luas Tanam Akhir (LTA) ke-i pada periode tanam ke- j dalam

satuan ha.
y ij : data Luas Panen (LP) ke- i pada periode tanam ke- j dalam satuan ha.

S ij : data hasil panen padi ke- i pada periode tanam ke- j dalam satuan ton.

i = 1,2,...,n j = 1,2,3
n = banyaknya data

( , )=[ ] +[ ][ ]+ (2.4.a)

Kendala ditunjukkan sebagai berikut


a. Luas Tanam Akhir (LTA) tidak boleh lebih dari Luas Tanam Akhir
(LTA) maksimum, yang ditulis

b. Luas panen (LP) tidak boleh lebih besar dari luas tanam akhir (LTA)
ditulis sebagai ≤ .
Catatan:
Tahap awal untuk mengolah data tersebut adalah dengan membuat fungsi
tujuan untuk tiap-tiap periode tanam. Model kudratik pada persamaan (2.4.a)

diselesaikan menggunakan metode kuadrat terkecil untuk mendapatkan v a .
60 | Pemrograman Kuadratik
Tentu saja pada kenyataannya tidak tepat sama dengan data aktualnya.
Dalam hal ini, diasumsikan bahwa data aktual benar, sedangkan fungsi
kuadratik dianggap sebagai hasil pendekatan.

Dengan metode kuadrat terkecil diperoleh nilai v a , sehingga fungsi
tujuan kuadratik seperti persamaan (2.4.a) untuk periode I, II, dan III adalah:

= 1.179 − 1.263 − 1.309 − 0.325 + 2.640 − 0.004


(2.4.b)
= −0.315 − 4.614 + 5.876 − 3.739 + 4.125 − 0.008
(2.4.c)
= 1.067 − 1.012 − 1.684 − 0.319 + 2.510 − 0.012
(2.4.d)
dengan kendala ≤ dan ≤ . Nilai fungsi tujuan setiap periode dari
pendekatan fungsi kuadratik dan data dibandingkan. Hasil tersebut masih
mempunyai error yang cukup besar untuk tiap periode berturut-turut sekitar
9.4%, 13.8342% dan 18.5405% (Dewi, dkk, 2013).

DAFTAR PUSTAKA
Anderson E., Bai, Z., Bischof, C., Blackford, S., Demmel, J, Dongarra, J Du
Croz, A Greenbaum, S Hammarling, A McKenney & D Sorensen.1999.
LAPACK User's Guide Third Edition, SIAM, Philadelphia.
(http://www.netlib.org/lapack/lug/lapack_lug.html)

Bhowmik,S.,Goswami,S.K,Bhattacherjee,P.K, 2000. Distribution System


Planning Through Combined Heuristic and Quadratic Programing
Approach. Electric Machines and Power Systems, 28:87–103.

Dewi, V.P., Parhusip, H.A., Linawati, L., 2013. Analisis hasil panen padi
menggunakan pemodelan kuadratik. Prosiding (dalam proses), Seminar
Nasional Matematika VII Jurusan Matematika FMIPA dan Prodi

OPTIMASI TAKLINEAR | 61
Pendidikan Matematika Program Pasca Sarjana UNNES tanggal 26
Oktober 2013. Semarang: Universitas Negeri Semarang.

Gharibi W, Xia, Y. 2012. A Tight Linearization Strategy for Zero-One


Quadratic Programming Problems. IJCSI International Journal of
Computer Science Issues, Vol. 9, Issue 3, No 1.

Horn, R.A, Johnson,C.A. 1985. Matrix Analysis, University Press, Cambridge.

Loqman C, Ettaouil, M., Hami Y., Haddouch, K. 2013. Quadratic


Reformulations For Solving Days-Off Scheduling Problem. Journal of
Theoritical and Applied Information Technology, Vol. 49 No.1,
pp.1992-8645.

Peressini A.L, Sullivan F.E, Uhl, J. 1998. The Mathematics of Nonlinear


Programing, Springer Verlag, New York,Inc., hal. 169-197.

62 | Pemrograman Kuadratik
Bab 3
FUNGSI-FUNGSI OPTIMASI PADA MATLAB

P
ada umumnya, kendala optimasi sangat rumit dan sulit untuk
ditangani secara manual. Untuk itu kita menggunakan fungsi-
fungsi pada MATLAB yang dirancang dengan baik untuk
memecahkan masalah-masalah optimasi dengan beberapa kendala. Perlu diingat
bahwa untuk menggunakan fungsi-fungsi pada MATLAB, maka per-
masalahan yang diselesaikan harus mengikuti bentuk umum yang diatur oleh
MATLAB. Untuk itu pada bagian ini ditunjukkan aturan umum untuk
menggunakan fungsi-fungsi pada MATLAB yang terkait dengan optimasi.
Bagi pembaca yang sudah mahir tentang MATLAB, Bab 3 ini tidak perlu
dibaca secara detail karena hampir semuanya dapat diperoleh di web.

3.1 Fungsi fmincon ()

Pada bagian ini diberikan cara penggunaan fungsi fmincon(), model optimasi
harus disusun dalam bentuk umum MATLAB yaitu

Min f(x)
s.t. Ax ≤ b, x= , c(x) ≤ 0, (x)=0 dan lb ≤ x ≤ ub
(3.1)
Artinya semua model optimasi harus dalam format persamaan (3.1) sehingga
dapat menggunakan fungsi fmincon. Bagian ini penggunaannya dapat dilihat
dengan mengetikkan ‘help fmincon’ pada jendela perintah MATLAB sebagai-
mana yang akan kita lihat pada program-program di bawah. Kita buat
program MATLAB ‘kendalac(x)’ yang merupakan tata tulis dari semua
kendala dan ‘Utama3_1.m’ yang menggunakan ‘fmincon’ untuk memecahkan
masalah yang disajikan dalam contoh 3.1.

63|OPTIMASI TAKLINEAR
Contoh 3.1
Minimumkan
f(x) = +5 +6
dengan kendala ≥ 0, ≥ 0, ≥ 7, ≥ 3,
dan .
Dalam hal ini kendala persamaan tidak ada sehingga dapat ditulis sebagai [ ]
dalam MATLAB.
Sebelum kita menggunakan program-program dalam MATLAB, kita perlu
tahu argumen-argumen yang akan muncul dalam program-program yang
akan kita pakai.

 Masukkan (setidaknya ada empat masukkan diperlukan ’ftn’,x0,A dan b)


’ftn’: f(x) adalah fungsi tujuan yang harus diminimalkan, biasanya
didefinisikan dalam m-file, tetapi dapat didefinisikan pula sebagai fungsi
inline, yang akan menghilangkan keperluan tanda kutip (‘’).
x0 : dugaan awal dari solusi.
A, b : sebuah kendala pertidaksamaan linear Ax ≤ b; yang diberikan
sebagai [ ] jika tidak diterapkan.
Aeq,beq : Kendala persamaan linear x= ; yang diberikan sebagai

[ ] jika tidak diterapkan.


lb,ub : Vektor batas atas/bawah sehingga lb ≤ x ≤ ub, yang diberikan
sebagai [ ] jika tidak diterapkan, tetapkan l(i) = -inf/u(i) = inf
jika x(i) tidak terbatas ke bawah/ke atas.
’kendalac’ : Fungsi kendala nonlinear yang didefinisikan dalam m-file,
yang akan mengembalikan dua argumen keluaran untuk nilai x
yang diberikan, yang pertama adalah ruas kiri (vektor) dari
kendala pertidaksamaan c(x) ≤ 0 dan yang kedua adalah ruas

64 | Fungsi-fungsi Optimasi pada Matlab


kiri (vektor) dari kendala persamaan (x)=0; yang diberikan

sebagai [ ] jika tidak diterapkan.


Options : Digunakan untuk mengatur tampilan parameter, toleransi
untuk dan dan sebagainya, yang diberikan sebagai [ ]
jika tidak diterapkan. Untuk lebih detil, ketik ‘help optimset’
pada jendela perintah dari MATLAB.
p1,p2 : Parameter kendala terikat yang akan dimasukkan ke fungsi
tujuan f(x) dan kendala non linear fungsi c(x), (x).

 Argumen Keluaran
x0 : Titik minimum ( ) yang dicapai pada daerah yang memenuhi
fungsi.
f0 : nilai fungsi f( ) yang diminimalkan.

Dengan menggunakan fmincon ( ) MATLAB kita dapat memakai program


berikut:

Tahap 1. Menuliskan semua kendala dengan tata tulis pada MATLAB


seperti di bawah.
function [c,ceq] = kendalac(x)
c = [-x(1); -x(2); 3*x(1) - x(1)*x(2) + 4*x(2)- 7;
2*x(1)+ x(2)- 3; 3*x(1)- 4*x(2)^2 - 4*x(2)]; % kendala
pertidaksamaan
ceq = []; % kendala persamaan

Tahap 2. Penggunaan fungsi “fmincon ()” dari program MATLAB 6.x yaitu
[xo,fo] = fmincon(’ftn’,x0,A,b,Aeq,beq,l,u,’nlcon’,options,p1,p2.)

Tahap 3. Ketik pada command window atau pada file dengan isi sebagai
berikut:

% Utama3_1 untuk memecahkan masalah kendala optimum oleh


fmincon ()

65|OPTIMASI TAKLINEAR
clear, clf
ftujuan=’((x(1) + 1.5)^2 + 5*(x(2) - 1.7)^2)*((x(1)-1.4)^2 + .6*(x(2)-
.5)^2)’;
fsaya = inline(ftujuan,’x’);
x0 = [0 0.5] %dugaan awal
A = []; B = []; Aeq = []; Beq = []; %tanpa kendala linear
l = -inf*ones(size(x0)); u = inf*ones(size(x0)); % tanpa batas bawah/
batas atas
options = optimset(’LargeScale’,’off’); %hanya dengan [] tidak masalah
[xo_con,fo_con]= fmincon(ftujuan,x0,A,B,Aeq,Beq,l,u,’kendalac’,options)
[co,ceqo] = kendalac(xo_con) % untuk melihat kendala.

Tahap 4. Analisa hasil keluaran MATLAB, dimana keluaran MATLAB


adalah sebagai berikut:
x0 =
0 0.5000
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
4
5
xo_con =
1.2118 0.5765
fo_con =
0.5322
co =
-1.2118
-0.5765
-1.7573
-0.0000
-0.0000
ceqo =
[]

Analisa hasil:
Peminimal adalah = [1.2118, 0.5765] dan nilai minimal f adalah =
0.5322.

66 | Fungsi-fungsi Optimasi pada Matlab


Dapat dilihat pula bahwa setiap kendalanya dipenuhi yaitu
=
Yaitu semua komponen ≤ 0. Komentar MATLAB tidak menunjukkan bahwa
solusi optimal. Untuk itu hasil ini perlu diselidiki secara analitik.
Pertama-tama fungsi tujuan digambar menggunakan MATLAB dengan
perintah sebagai berikut:
[X,Y] = meshgrid(0:.125:2);

Z = ((X+1.5).^2+5*(Y-1.7).^2)*((X-1.4).^2+0.6*(Y-0.5).^2);

mesh(X,Y,Z);

Fungsi di atas adalah fungsi tanpa kendala. Ilustrasi f(x)digambarkan pada


Gambar 3.1.

800

600

400

200

0
0
0
0.5 1
1
1.5
2 2

Gambar 3.1. Keluaran MATLAB untuk menyelidiki titik minimum fungsi secara
analitik.

Gambar 3.1 menunjukkan titik maksimum relatif dari penyelesaian analitik


adalah lebih dari 800. Sedangkan titik minimumnya ada beberapa titik. Hal
ini memberikan pengertian kepada kita bahwa untuk member nilai dugaan
harus memperhatikan ilustrasi Gambar 3.1. Sedangkan batas-batas kendala
ditunjukkan pada Gambar 3.2.

67|OPTIMASI TAKLINEAR
Gambar 3. 2. Ilustrasi kendala pada domain ( )

3.2 Optimasi dengan kendala persamaan dan pertidaksamaan

Berikut ini diberikan contoh masalah optimasi dengan kendala persamaan.


Perlu diketahui bahwa untuk menuliskan fungsi pada MATLAB harus
menggunakan kata function. Adapun struktur penulisan fungsi adalah
function keluaran = namafile(masukan)
dengan aturan bahwa file untuk fungsi haruslah mempunyai nama yang sama
dengan ruas kanan. Sedangkan untuk masukan haruslah jelas, dapat berupa
skalar, vektor maupun matriks. Demikian pula keluaran adalah hasil akhir
dari fungsi yang dapat berupa skalar, vektor maupun matriks. Berikut ini
diberikan contoh menuliskan program yang dibuat langkah demi langkah.

Contoh 3.2
Minimumkan fungsi  
f x  ex1 4x12  2x22  4x1x2  2x2 1 , dengan kendala

x12  x 2  1,
sebagai berikut:
x1 x 2  10.

Langkah 1. Tulis fungsi di atas di m– file dengan nama objfun3.m, yaitu:

function f = objfun3 (x)


f = exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

Catatan : Jadi sebagai masukan adalah vektor x dan sebagai keluaran adalah
nilai fungsi yang berupa skalar yaitu f.

68 | Fungsi-fungsi Optimasi pada Matlab


Langkah 2. Tulis kendala – kendala tersebut dalam M – file yang berbeda,
sebut confun3.m, yaitu:

function [c,ceq] = confun3(x)


% Kendala persamaan:
c = x(1)*x(2) -10 ;
% Kendala pertidaksamaan
ceq =x(1)^2 + x(2) - 1 ;

Langkah 3. Berikan nilai dugaan awal di M – file dengan nama Contoh


3_2.m, yaitu:

x0 = [-1,1];
options = optimset('LargeScale','off');
[x,fval,exitflag,output]=
fmincon(@objfun,x0,[],[],[],[],[],[],@confuneq,options);

Langkah 4. Panggil dengan nama Contoh3_2,sehingga diperoleh keluaran


sbb:

> Contoh3_2
Optimization terminated successfully:
Magnitude of directional derivative in search direction
less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon
Active Constraints:
1
x=
-0.7529 0.4332
fval =
1.5093
exitflag =
1
output =
iterations: 5
funcCount: 23
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 6.3351e-005
cgiterations: []

69|OPTIMASI TAKLINEAR
3.3 Optimasi Pemrograman Kuadratik

Optimasi pemrograman kuadratik telah ditunjukkan secara detail pada Bab 2.


Pada bagian ini ditunjukkan kembali untuk kembali mengingatkan pembaca
bagaimana menggunakan MATLAB untuk melakukan optimasi dengan
fungsi quadprog.m yang disediakan MATLAB.

Contoh 3.3

Tentukan nilai x dengan meminimumkan fungsi f x  x12  x22  x1x2 2x1 6x2 ,
1
2
dengan kendala sebagai berikut:
x1  x 2  2
 x1  2 x 2  2
2 x1  2 x 2  3
0  x1 ,0  x 2
Akan diselesaikan dengan program Matlab, yaitu;

Langkah 1. Tulis dalam bentuk notasi matriks, yaitu: f x  


1 T
x Hx  f T x,
2

 1  1   2  x1 
dengan H    , f   , x   
 1 2    6  x2 
Langkah 2. Masukkan koefisien-koefisien matriks tersebut dan tulis dalam file
dengan nama Contoh3_3.m, yaitu:

H = [1 -1; -1 2]
f = [-2; -6]
A = [1 1; -1 2; 2 1]
b = [2; 2; 3]
lb = zeros(2,1)
[x,fval,exitflag,output,lambda]= quadprog(H,f,A,b,[],[],lb)

Langkah 3. Lalu panggil dengan nama Contoh3_3, maka akan diperoleh


keluaran sebagai berikut:
x=
0.6667
70 | Fungsi-fungsi Optimasi pada Matlab
1.3333
fval =
-8.2222
exitflag = 1

output =
iterations: 3
algorithm: 'medium-scale: active-set'
firstorderopt: []
cgiterations: []
lambda.ineqlin
ans =
3.1111
0.4444
0
lambda.lower
ans =
0
0
Pembahasan hasil program :
peminimum adalah x*=[ 0.6667, 1.3333] dengan nilai minimum fungsi f(x*)=
-8.2222.

Contoh 3.4
Tentukan nilai x dengan meminimumkan fungsi f x    x1 x2 x3 , dengan

kendala 0  x1  2 x2  2 x3  72
Langkah 1. Tulis fungsi di atas di M – file dengan nama myfun.m, yaitu:
function f = myfun(x)
f = -x(1) * x(2) * x(3);

Langkah 2. Karena kedua kendala adalah linear, maka dapat ditulis dalam
bentuk matriks Ax  b, dengan

  1  2  2
A ;
 1 2 2 
0
b   ;
72

71|OPTIMASI TAKLINEAR
x0 = [10; 10; 10]; % Starting guess at the solution
[x,fval] = fmincon(@myfun,x0,A,b)

Langkah 3. Pada langkah 2, simpan dengan nama Contoh3_4.m, lalu


panggil dengan nama Contoh3_4, sehingga diperoleh keluaran
sebagai berikut:
x=
24.0000
12.0000
12.0000
fval =
-3.4560e+03
and linear inequality constraints evaluate to be less than or equal to 0.
A*x-b=
-72
0

3.4 Fungsi fminimax ()

Fungsi fminimax () dalam MATLAB dituliskan sebagai berikut.


"fminimax(’ftujuan’,x0,A,b,Aeq,beq,l,u,’nlcon’,options,p1,..)",

Fungsi ini berfokus pada meminimumkan antara beberapa komponen


maksimum dari vektor/nilai matriks dengan fungsi tujuan f(x) =
sesuai pada beberapa kendala seperti yang dijelaskan di
bawah ini. Penggunaannya hampir sama dengan ‘fmincon’.
{ (x)}}

s.t. Ax ≤ b, x = , c(x) ≤ 0,

(x)=0 dan lb ≤ x ≤ ub (3.2)

3.5 Fungsi lsqlin dan lsqnonlin

MATLAB menyediakan fungsi untuk melakukan optimasi dengan metode


kuadrat terkecil yang linear dan yang taklinear. Untuk yang linear, nama

72 | Fungsi-fungsi Optimasi pada Matlab


fungsi adalah lsqlin.m dengan bentuk umum perintah yang harus digunakan
adalah
"lsqlin(C,d,A,b,Aeq,beq,l,u,x0,options,p1,..)",

Disini tugasnya adalah menyelesaikan masalah

s.t. Ax ≤ b, x= , dan lb ≤ x ≤ ub (3.3)


Untuk mendapatkan penjelasan yang lebih lengkap, pembaca dapat melihat
menu Help pada MATLAB ataupun dari internet dapat ditemukan berbagai
manual tentang MATLAB.

Contoh 3.5
Pada bagian ini akan ditunjukkan bagaimana menemukan titik kritis dengan
melakukannya secara analitik tetapi dengan bantuan MATLAB, misalkan
untuk fungsi tujuan tanpa kendala :
f ( x1 , x2 )  − 16 − 5 + − 16 −5 (*)
Kita dapat mengilustrasikan f yang ditunjukkan oleh Gambar 3.3.

Gambar 3.3. Gambar untuk persamaan (*)

Untuk dapat mengilustrasik f ( x1 , x2 ) dalam gambar, kita dapat mengguna-


kan program di bawah ini :

Tahap 1. Menuliskan fungsi f ( x1 , x2 ) pada MATLAB

73|OPTIMASI TAKLINEAR
function y = persamaanku(x) %menulis persamaan yang akan dicari optimasinya

y = x(1)^4 - 16*x(1)^2 - 5*x(1) + x(2)^4 - 16*x(2)^2 - 5*x(2);

Tahap 2. Membuat program yang berisi turunan pertama dan kedua dari
fungsinya

function [df,d2f] = turunanku(x) %turunan pertama dan kedua


df(1) = 4*x(1)^3 - 32*x(1) - 5;
df(2) = 4*x(2)^3 - 32*x(2) - 5;
d2f(1) = 12*x(1)^2 - 32;
d2f(2) = 12*x(2)^2 - 32;

Tahap 3. Menjalankan program untuk menngambarkan fungsi, dengan


memasukkan l dan u

f = 'persamaanku' ; g = 'turunanku';
l=[-5 -5];u=[5 5];
x1 = l(1):.25:u(1); x2 = l(2):.25:u(2); [X1,X2] = meshgrid(x1,x2);
for m = 1:length(x1)
for n = 1:length(x2), F(n,m) = feval(f,[x1(m) x2(n)]); end
end
figure(1), clf, mesh(X1,X2,F)
figure(2), clf,
contour(x1,x2,F,[-125 -100 -75 -50 -40 -30 -25 -20 0 50])

Sebelum kita mencari peminimal persamaan f ( x1 , x2 ) menggunakan


algoritma genetik, mari kita mencari solusinya secara analitik dengan
mencari akar-akar turunannya. Mari kita mencari masing-masing turunanya :

= 4 − 32 −5

= 4 − 32 −5

Masing-masing haruslah memenuhi


=4 − 32 −5=0
=4 − 32 − 5 = 0.

74 | Fungsi-fungsi Optimasi pada Matlab


Dengan menggunakan roots ( ) pada Matlab, maka kita dapat mencari akar
dari dan
2.9035
= −2.7468
−0.1567
2.9035
= −2.7468
−0.1567

Akar-akar dari dan akan ditunjukkan pada Gambar 3.4.

Gambar 3.4. Akar-akar dari persamaan

Menurut kalkulus, titik kritis peminimal jika matriks Hessiannya positive


definite. Oleh karena itu, matriks Hessian diselidiki untuk mengetahui titik
tersebut peminimal atau bukan. Yaitu

⎡ ⎤
⎢ ⎥ 12 − 32 0
=⎢ ⎥= 0 12 − 32
⎢ ⎥
⎣ ⎦

Dengan mengambil masing-masing pasangan akar-akar dari dan , maka


kita akan mendapatkan berbagai pasangan solusi dengan sifat solusi kritis
tersebut yang ditunjukkan oleh matriks Hessiannya pada Tabel 3.1.

75|OPTIMASI TAKLINEAR
Tabel 3.1. Perbandingan Nilai Eigen dan hasil f*( ) masing-masing akar dan
∗ ∗ ∗
( , ) Matriks Hessian Nilai Eigen ( ) Keterangan
(2.9035,2.9035) = 68.92 -156.6647 Nilai eigennya
68.92 0 = 68.92 semua positif,
0 68.92 matriks Hessiannya
positive definite,
jadi
( ∗, ∗)
merupakan titik
peminimum.
(−2.7468, −2.7468) -100.1178 Nilai eigennya
−122.54 0 = −122.54 semua negatif,
0 −122.54 matriks Hessiannya
= −122.54 bukan positive
definite, jadi
( ∗ , ∗ ) bukan
merupakan titik
peminimum.
(−0.1567, −0.1567) 0.7824494 Nilai eigennya
−32.29 0 = −32.29 semua negatif,
0 −32.29 matriks Hessiannya
= −32.29 bukan positive
definite, jadi
( ∗ , ∗ ) bukan
merupakan titik
peminimum.

Selain melihat dari matriks Hessian dan nilai eigen dari matriks Hessiannya,
kita dapat pula membandingkan hasil f*( ) dari masing-masing titik kritis,
maka yang paling kecil yang merupakan titik peminimum.

Latihan Soal Bab 3.


Kerjakan soal latihan berikut ini dengan menyusun fungsi Lagrange untuk
tiap soal dan usahakan dengan penjelasan pada analisa anda.
1. Minimumkan f ( x1 , x2 )  x12  2 x1  x22  1 dengan kendala
g1 ( x1 , x 2 )  x1  x 2  0 , g 2 ( x1 , x2 )  x12  4  0 .
40
2. Minimumkan g 0 (t1 , t 2 , t 3 )   40t 2 t 3
t1 t 2 t 3
dengan kendala 2t1t3  t1t2  4, t1  0 , t 2  0 , t3  0.
3. Minimumkan t1t 21t 32
1
dengan kendala t13t 2 t 31  1
2
1 1 / 2 1 1 / 2 1
t1  t 2  t 3  1
4 4 4

76 | Fungsi-fungsi Optimasi pada Matlab


t1  0 , t 2  0 , t 3  0
4. Minimumkan f ( x, y)  e  y dengan kendala
g ( x , y )  x 2  y 2  0 ; ( x, y )  R 2 .

5. Minimumkan f ( x1 , x2 )  e  ( x1  x2 )

dengan kendala e x1  e x2  20, x1  0 .

6. Minimumkan f ( x1 , x2 )  x12  x22  4 x1  4 x2

dengan kendala x12  x2  0, x1  x 2  2 .

7. Minimumkan f ( x1 , x 2 , x3 )  x12  x 22  x32


x22 x32
dengan kendala g1 ( x1 , x2 , x3 )  x    1  0 .
2
1
4 9
9. Maksimumkan f ( x, y, z )   x  1  ( y  2) 2  ( z  3) 2
2

dengan kendala g ( x, y, z )  x 2  y 2  z 2  1  0
dengan pengali Lagrange.

10. Tentukan pemaksimum dan peminimum untuk


1
f ( x1 , x 2 , x3 )  2
x1  x 22  x32
dengan kendala h1 ( x1, x2 , x3 )  1  x12  2 x22  3x32  0 ,
dan h2 ( x1 , x2 , x3 )  x1  x2  x3  0 .

11. Minimumkan f ( x1 , x2 )  5 x12  2 x1 x2  5 x1  2 x2


dengan kendala x1  x 2  1 ; x1  0; x 2  0 .

Teknik pelaporan
Cara pelaporan ditunjukkan dengan skema berikut ini.
Tahap 1. Tulis nilai dugaan

Tahap 2. Setelah itu tuliskanlah fungsi dalam MATLAB dengan memilih


fungsi yang dianggap baik dan tepat.

77|OPTIMASI TAKLINEAR
Tahap 3. Tuliskan solusi anda dengan notasi :

Solusi x*=[…..] dan nilai fungsi : f(x*) = ……(min f)


serta -f(x*)=……………….(maks f)

Tahap 4. Ujilah jawaban anda secara analisis.

78 | Fungsi-fungsi Optimasi pada Matlab


Bab 4
PEMROGRAMAN STOKASTIK

D
isain suatu alat tidak dapat dilakukan secara tepat. Situasi
untuk sekeliling roket misalnya sangatlah sukar diprediksi
sehingga semua variabel yang termuat dalam penyusunan
struktur roket dikatakan bersifat random variabel. Pemrograman stokastik atau
probabilistik berkaitan dengan situasi dimana semua parameter dalam optimasi
digambarkan secara stokastik (random atau probabilistik) daripada deterministik.
Tergantung dari persamaannya (dalam variabel random) maka masalah
optimasi stokastik dikatakan stokastik linear, geometrik, dinamik atau nonlinear.
Ide dasarnya adalah mengkonversi masalah stokastik dalam masalah
deterministik yang ekuivalen. Sehingga masalah konversi tersebut dapat kita
kerjakan dengan teknik pada deterministik.
Teori dasar untuk optimasi secara stokastik ini dapat dijumpai pada
beberapa literatur. Ruszczynski dan Shapiro (2003) merupakan ‘handbook’
yang baik bagi yang mendalami bidang ini. Demikian pula teori dasar tentang
optimasi stokastik (stochastic programming) oleh Kall dan Wallace (2003) .
Teori keputusan yang muncul karena ada teori game, juga dikembangkan
dengan pemodelan stokastik (Garstka, danWets, 1974) dimana fungsi tujuan
disusun sebagai fungsi harapan (E(.)) .
Buku ini memberikan langkah-langkah dasar dalam optimasi dengan
model stokastik yang sebagian besar disadur dari Rao (2009). Rao tidak
menuliskan bagaimana kasus yang dibahas diimplementasikan dengan
program MATLAB sehingga pembaca dapat langsung mempraktikkan.
Adanya program dan hasil keluaran memberikan bantuan bagi pembaca
untuk dapat mengimplementasikan dengan mudah.

OPTIMASI TAKLINEAR|79
4.1 Program Linear Stokastik
Bentuk umum Masalah Program Linear adalah
  n
minimumkan f ( x )  C T x   c j x j (4.1)
j 1

dengan kendala
T
n
Ai x   aij x j  bi , i  1,2..., m
j 1
(4.2)
x j  0, j  1,2,..., n
(4.3)
dengan c j , aij , bi sebagai variabel random dan variabel keputusan x j

diasumsikan deterministik untuk penyederhanaan. Dalam bentuk stokastik,


maka program linear tersebut dinyatakan dalam masalah sebagai berikut
minimumkan
 n
f ( x)   c j x j (4.4)
j 1

n 
P  aij x j  bi   pi , i =1,...,m (4.5)
 j 1 
x j  0, j =1,...,n (4.6)
dengan c j , aij , bi sebagai variabel random dan pi sebagai probabilitas yang

ditentukan. Perhatikan bahwa bentuk (4.5) menyatakan bahwa kendala


n
bentuk a x
j 1
ij j  bi paling sedikit harus dipenuhi dengan suatu probabilitas

paling sedikit pi dengan 0  pi  1 . Untuk penyederhanaan maka variabel

keputusan dianggap deterministik dan c j , aij , bi sebagai variabel random.

Demikian pula kita asumsikan semua variabel random dianggap berdis-


tribusi normal dengan rata-rata dan standar deviasinya diketahui. Selanjut-
nya perlu penyusunan masalah tersebut untuk mencari variansi f sehingga
fungsi tujuan perlu memuat variansi f.

80 |Pemrograman Stokastik
Rata-rata f dan variansi f ditulis sebagai
n
f   c j. x j (4.7)
j 1
 
Var( f )  x TVx (4.8)
dengan c j adalah nilai rata-rata dari c j dan matriks V merupakan matriks

kovariansi dari c j yang didefinisikan sebagai

 Var (c1 ) Cov (c1 , c2 )  Cov (c1 , cn ) 


Cov (c , c ) Var (c2 )  Cov (c2 , cn )
V=  1 2 (4.9)
   
 
Cov (cn , c1 ) Cov (cn , c2 )  Van (c1 ) 
dengan Var (c j ) dan Cov(ci , c j ) berturut-turut menyatakan variansi c j dan

kovariansi antara ci dan c j . Fungsi tujuan deterministik yang baru



F ( x )  k1 f  k2 Var( f ) (4.10)
dengan k1 dan k2 bilangan taknegatif yang menjelaskan hubungan relatif

pentingnya f dan standart deviasi f untuk optimasi. Jadi untuk k 2  0


menandakan bahwa nilai harapan f diminimalkan tanpa memperhatikan
standart deviasi f. Sebaliknya jika k1  0 , menandakan bahwa kita tertarik
dengan peminimalan variabilitas f disekitar rata-ratanya tanpa terganggu
dengan apa yang terjadi dengan nilai rata-rata f. Secara sama jika k1 = k2 =1,
hal ini menjelaskan bahwa kita memandang rata-rata dan standar deviasi sama
pentingnya. Perhatikan bahwa fungsi tujuan yang baru dalam persamaan (4.10)
adalah fungsi taklinear dalam X sebagai fungsi variansi dari f. Kendala dalam
persamaan (4.5) dapat ditulis dalam bentuk
P(hi  0)  pi ,i =1,...,m (4.11)
dengan hi merupakan variabel baru yang didefinisikan sebagai
n 1 n n 1
hi   qik yk   aij x j  bi   qik yk (4.12)
k 1 j 1 k 1

dimana

OPTIMASI TAKLINEAR|81
qik  aik , k=1,2,..,n, qi ,n1  bi (4.13)
y k  xk k =1,2 ,...,n, yn1  1 . (4.14)

Variabel yn1  1 diperkenalkan untuk melengkapi bentuk sistem persamaan

linear. Variabel hi dipandang sebagai kombinasi linear dari variabel random

yang berdistribusi normal. Oleh karena itu kita perlu rata-rata dan variansi hi
yaitu
n 1 n
hi   qik yk   aij x j  bi (4.15)
k 1 j 1

 y1 
y 
Var (hi )  Y T ViY , Y   2  (4.16)
 
 y3 
 Var (qi1 ) Cov(qi1 , qi 2 )  Cov(qi1 , qi 2 ) 
 Cov(q , q ) Var (qi 2 )  Cov(qi 2 , qi ,n1 ) .
Vi  
i1 i2

   
 
Cov(qi ,n1 , qi1 ) Cov(qi ,n1 , qi 2 )  Var (qi ,n1 ) 

Kendala persamaan (4.11) juga dapat ditulis dengan menormalkan variabel


hi yaitu

 h  hi  hi 
P i    pi , i =1,2,...,m (4.17)
 Var (hi ) Var (hi ) 
hi  hi
dimana menyatakan variabel yang distandarisasi normal dengan nilai
Var(hi )

rata-rata 0 dan variansi 1.


Jadi jika s i menyatakan nilai dari standart deviasi dari variabel yang
dinormalkan yang mana
 ( si )  pi (4.18)

Kendala dalam persamaan (4.17) dapat ditulis dalam bentuk

82 |Pemrograman Stokastik
  hi 
    ( si ) , i =1,2, ...,m
 Var (h ) 
 i 

Pertidaksamaan ini dipenuhi hanya jika pertidaksamaan taklinear deter-


ministik dipenuhi
 hi
 si , i =1,2,...,m
Var(hi )
atau
hi + si Var(hi )  0 i =1,2,...,m.

Jadi masalah program linear stokastik pada persamaan (4.14-4.16) ekuivalen


dengan program taklinear deterministik dalam bentuk minimumkan
 n
 
F ( x )  k1  c j x j  k2 x TVx , k1  0 , k 2  0
j 1

dengan kendala
hi + si Var(hi )  0 i =1,2,...,m

x j  0 , j=1,2,...,n (4.19)

Contoh 4.1.
Nyatakan masalah program linear ini dalam bentuk program stokastik dan
program optimasi linear deterministik yang ekuivalen untuk:
Problem P1:
max f  4 x1  8x2
dengan kendala
4 x1  5 x2  40
x1  2 x2  12
x1 , x2  0
Jawab:
Dengan mengikuti prosedur di atas maka kita dapat menyusun problem
tersebut sebagai berikut:

OPTIMASI TAKLINEAR|83
Tahap 1. Perhatikan bahwa bentuk umum dalam masalah meminimumkan,
maka kita perlu mengubah masalah optimasi menjadi meminimumkan fungsi
tujuan dan dalam bentuk program stokastik yaitu
Problem P1’:
 
min g ( x )   f ( x )  4 x1  8x2 := c1 x1  c2 x2
dengan kendala
P[4 x1  5 x2  40]  p1
P[ x1  2 x2  12]  p2
x1 , x2  0
Diasumsikan bahwa x j deterministik.
 
Tahap 2.Fungsi g (x ) berdistribusi normal dengan rata-rata dan variansi g (x )
diberikan oleh
n
 
g   c j x j dan Var( g )  x TVx
j 1

dengan
 Var(c1 ) Cov(c1 , c2 )
V 
Var(c1 ) 
. (P.1.a)
Cov(c1 , c2 )
Berdasarkan nilai-nilai yang diberikan dalam model kita mempunyai matrik
nol V.

Tahap 3. Fungsi tujuan deterministik yang baru adalah



G ( x )  k1 g  k 2 Var ( g )
kendala –kendala mula-mula ditulis dalam bentuk
P(hi  0)  pi ,i =1,2 (P.1.b)
dengan
h1  4 x1  5 x2  40 : q11 y1  q12 y2  q13 y3 (P.1.c)
h2  x1  2 x2  12 : q21 y1  q22 y2  q23 y3 (P.1.d)
qik  aik , k=1,2 qi 3  bi (P.1.e)
y k  xk k =1,2 , y3  1 . (P.1.f)
84 |Pemrograman Stokastik
Variabel y3  1 diperkenalkan untuk melengkapi bentuk sistem persamaan
linear. Variabel hi dipandang sebagai kombinasi linear dari variabel random
yang berdistribusi normal. Oleh karena itu kita perlu rata-rata dan variansi hi
yaitu
n 1 n
hi   qik yk   aij x j  bi .
k 1 j 1

Dari data (soal) yang kita punyai, maka kita memperoleh


h1  4 x1  5 x2  40  4 x1  5 x2  40
h2  1 x1  2 x2  12  1x1  2 x2  12 .
 y1 
T    
Var (hi )  y Vi y , y   y2  .
 y3 
 Var(qi1 ) Cov(qi1 , qi 2 )
Vi  
Var(qi 2 ) 
, i=1,2.
Cov(qi1 , qi 2 )
Jelas dari soal, kita hanya mempunyai matriks nol untuk variansi Vi . Oleh
karena itu Var(g)= 0 pada (P.1.b). Jadi fungsi tujuan secara stokastik dapat
ditulis dalam bentuk
Minimumkan

G ( x )  k1  4 x1  8 x2  (P.1.g)
dengan kendala
P(hi  0)  0.99 ,i =1,2 ( pi  0.99 (dipilih))

Tahap 4. Masalah tersebut secara deterministik ekuivalen dengan



Minimumkan G ( x )  k1  4 x1  8 x2  dengan
h1  4 x1  5x2  40  0
h2  x1  2 x2  12  0.
Untuk selanjutnya bentuk ini dapat diselesaikan dengan solver yang telah kita
pelajari (misal fungsi fmincon.m pada MATLAB 6.5)
Catatan: Sejauh ini, dari literatur tidak dijelaskan bagaimana dengan
parameter k1 .

OPTIMASI TAKLINEAR|85
Tugas 1. Maksimalkan f  4 x1  2 x2  3x3  c4 x4
dengan kendala
x1  x3  x4  24
3x1  x2  2 x3  4 x4  48

2 x1  2 x2  3x3  2 x4  36

xi  0 , i=1,..,4

dimana c4 adalah variabel random diskrit yang dapat bernilai 4,5,6, atau 7
dengan probabilitas berturut–turut 0.1, 0.2, 0.3, 0.4.
(i) Carilah penyelesaian yang memaksimalkan nilai harapan f
(ii) Selesaikan dengan metode yang anda kenal
(iii) Tentukan penyelesaian masalah tersebut jika tujuannya adalah
memaksimalkan variansi dari f.

86 |Pemrograman Stokastik
JAWABAN Tugas1:

Tahap 1.

Karena masalah bentuk umum adalah meminimalkan, maka problem diganti


menjadi


Meminimalkan  f ( x )  (4 x1  2 x2  3 x3  c4 x4 )

dengan kendala (4.b)-(4.d).

Tahap 2. Masalah stokastik adalah:



meminimalkan  f ( x )  (4 x1  2 x2  3 x3  c4 x4 )

dengan kendala
P(hi  0)  pi ,i =1,...,m
yaitu
h1 : x1  x3  x4  24  0
h2 : 3x1  x2  2 x3  4 x4  48  0
h3  2 x1  2 x2  3x3  2 x4  36  0
xi  0 , i=1,..,4
Rata-rata g dan variansi g ditulis sebagai
n
g   c j . x j  4 x1  2 x 2  3x3  c 4 x 4
j 1

 f ( x )  (4 x1  2 x2  3 x3  c4 x4 )
 
Var( g )  x TVx
dimana c j adalah nilai rata-rata dari c j dan matriks V merupakan matriks

kovariansi dari c j yang didefinisikan sebagai


 Var (c1 ) Cov (c1 , c 2 ) Cov (c1 , c3 ) Cov (c1 , c 4 ) 
V= Cov (c , c ) Var (c 2 ) Cov (c 2 , c3 ) Cov (c 2 , c 4 )
 2 1

Cov (c3 , c1 ) Cov (c3 , c 2 ) Var (c3 ) Cov (c3 , c 4 ) 


 
Cov (c 4 , c1 ) Cov (c 4 , c 2 ) Cov (c 4 , c3 ) Van (c 4 ) 

OPTIMASI TAKLINEAR|87
dengan Var (c j ) dan Cov(ci , c j ) berturut-turut menya-takan variansi c j dan

kovariansi antara ci dan c j . Dengan menganggap ci dan c j saling bebas

dan yang sebagai variabel random hanyalah maka


0 0 0 0 
0 0 0 0 
V= 
0 0 0 0 
 
0 0 0 Var(c 4 )
Berdasarkan yang diberikan dan rumus dasar statistik:
n
c4   c4,i pi  (4)(0.1)  5(0.2)  6(0.3)  7(0.4)
i 1

 0.4  1  1.8  2.8  6.


4
Var(c4 )   pi (c 4,i  c 4 ) 2
i 1

= 0.14  6   0.25  6   0.36  6   0.47  6  =0.1(4) + 0.2(4.) +


2 2 2 2

0.3(0) + 0.4(4.) = 0.4 +0.2 + 0.4


= 1.
Sehingga
0 0 0 0  x1 
0 0 0 0 x 
Var(g)=   2  = x2
0 0 0 0  x3  4

   
0 0 0 1  x4 
Fungsi tujuan deterministik yang baru

G ( x )  k1 g  k 2 Var ( g )

 
= k1  4 x1  2 x2  3 x3  c4 x4  k2 x4
2

 k1  4 x1  2 x2  3x3  c4 x4   k2 x4

h1 : x1  x3  x4  24  0
h2 : 3x1  x2  2 x3  4 x4  48  0
h3  2 x1  2 x2  3x3  2 x4  36  0
Oleh karena itu kita perlu rata-rata dan variansi hi yaitu
88 |Pemrograman Stokastik
n 1 4
hi   qik y k   aij x j  bi
k 1 j 1

h1  x1  x3  x 4  24  0
h2 : 3 x1  x 2  2 x3  4 x 4  48  0
h3  2 x1  2 x 2  3 x3  2 x 4  36  0
 
 y1 
T    
Var (hi )  y Vi y , y   y2  .
 y3 
 
 y4 
Vi = O (matriks nol untuk setiap i=1,2,3). Sehingga Var(hi )  0.

Jadi masalah program linear stokastik ekuivalen dengan program taklinear


deterministik dalam bentuk
Minimumkan

g ( x )  k1 (4 x1  2 x2  3 x3  c4 x 4 )  k2 x4

 k1  4 x1  2 x2  3x3  6 x4   k 2 x4 , k1  0 , k 2  0
dengan kendala
P( hi  0)  0.99,

h1 : x1  x3  x4  24  0

h2 : 3x1  x2  2 x3  4 x4  48  0

h3  2 x1  2 x2  3x3  2 x4  36  0

x j  0 , j=1,2,3,4

OPTIMASI TAKLINEAR|89
Tugas 2:
Suatu perusahaan memproduksi A, B, dan C. Setiap produk ini diproses melalui
3 tingkatan proses produksi yang berbeda. Waktu yang diperlukan untuk
memproduksi 1 satuan dari tiap produk pada tingkatan yang berbeda dan
kemampuan harian tiap tingkat adalah probabilitas dengan rata-rata dan
standar deviasi yang dinyatakan dalam Tabel 4.1.

Tabel 4.1. Informasi yang digunakan dalam soal ( x :rata-rata, s: standartdeviasi)


Waktu persatuan waktu (min) Kapasitas tiap tingkat
Tingkat untuk tiap produk (mins/hari)
A B C
x s x s x s x s
1 4 1 8 3 4 4 1720 172
2 12 2 0 0 8 2 1840 276
3 4 2 16 4 0 0 1680 336
Sumbe : Rao,2009

Keuntungan per satuan juga merupakan variabel random dengan data yang
ditunjukkan pada Tabel 4.2.

Tabel 4.2.Data keuntungan tiap produk

Produk Keuntungan ($ :dalam dollar)

Rata-rata Standart deviasi

A 6 2

B 4 1

C 10 3

Sumber : Rao,2009.

Asumsikan bahwa produk dipasarkan, tentukan banyaknya produk yang


dibuat tiap hari untuk kasus berikut ini:
(a) Tujuannya adalah memaksimalkan keuntungan yang diharapkan
(b) Tujuannya adalah memaksimalkan standar deviasi dari keuntungan

90 |Pemrograman Stokastik
(c) Tujuannya adalah memaksimalkan jumlah keuntungan yang diharapkan
dan standar deviasi keuntungan.

JAWAB Tugas 2:

Kita akan memproses sebagaimana pada Tugas 1. Kita mengasumsikan


bahwa semua koefisien aij , c j dan bi berdistribusi normal, sehingga fungsi

tujuan deterministik yang baru diformulasikan


meminimalkan

f ( x)  k1 f   k2 Var( f )

dengan kendala P(hi  0)  pi ,i =1,2,3


n
dan hi   aij  bi .
j 1

Dari data (Tabel 4.2) dapat kita susun


f = 6 x1  4 x2  10 x3 .
Sedangkan variansi f perlu dicari dengan menyusun kovariansi c.
Disimbolkan c j adalah nilai rata-rata dari c j matriks V merupakan matriks

kovariansi dari c j yang didefinisikan sebagai

 Var (c1 ) Cov(c1 , c2 ) Cov(c1 , c3 ) 



V = Cov(c2 , c1 ) Var (c2 ) Cov(c2 , c3 ) .
Cov(c3 , c1 ) Cov(c3 , c2 ) Var (c3 ) 

Asumsikan bahwa ci , c j saling independent maka

Cov( ci , c j )=0 sehingga

Var (c1 ) 0 0   4 0 0

V=  0 Var (c2 ) 0   0 1 0 .
 0 0 Var (c3 ) 0 0 9

OPTIMASI TAKLINEAR|91
Jadi
 x1  4 0 0  x1 
Var ( f ) = x1 x2 x3 V  x2  = x1 x2 x3  0 1 0  x2  = 4 x12  x22  9 x32 .
 x3  0 0 9  x3 

Oleh karena itu


f (x )  - k1 6 x1  4 x2  10 x3  - k 2 4 x1  x2  9 x3 .
2 2 2

Karena aij dan bi variabel random maka demikian pula hi sehingga kita

perlu rata-rata dan variansinya. Dari data pada Tabel 4.2 maka kita dapat
menyusun
h1  a11 x1  a12 x2  a13 x3  b1  4 x1  8 x2  4 x3  1720

h2  a21 x1  a22 x2  a23 x3  b2  4 x1  16 x2  1840

h3  a31 x1  a32 x2  a33 x3  b3  4 x1  16 x3  1680

Demikian pula
 h21  x12  9 x22  16 x32  29584

 h21  4 x12  4 x32  76176

 h21  4 x12  16 x32  112896

Jadi fungsi tujuan deterministik yang baru adalah meminimalkan

F ( X )  (k1 f )  k 2 Var( f ) = - k1 6 x1  4 x2  10 x3  - k 2 4 x12  x22  9 x32

dengan kendala
h1  4 x1  8x2  4 x3  1720  2.23 x12  9 x22  16x32  29584  0

h2  12x1  0 x2  8x3  1840  2.23 4 x12  4 x32  76176  0

h3  4 x1  16x2  1680  2.23 4 x12  16x22  112896  0 .

92 |Pemrograman Stokastik
Kegiatan Penelitian 4.1
Selesaikan Tugas ini dengan menggunakan program MATLAB
Jawab :
Tahap 1. Membuat fungsi tujuan dalam fungsi tujuan4_1.m
function f = tujuan4_1(x)
%k1=input('masukan nilai k1 :');
%k2=input('masukan nilai k2 :');
k1=1;
k2=1;
f = (k1*-(6*x(4.)+4*x(2)+10*x(3))-
k2*sqrt((4*(x(4.)^2)+(x(2)^2)+9*(x(3)^2))));

Tahap 2. Membuat fungsi kendala dalam kendala2.m


function[c,ceq]=kendala2(x);
c= [
4*x(4.)+8*x(2)+4*x(3)+2.23*sqrt((x(4.)^2)+9*(x(2)^2)+16*(x(3)^2)+295
84)-1720;
12*x(4.)*8*x(3)+2.23*sqrt(4*(x(4.)^2)+4*(x(3)^2)+76176)-1840;
4*x(4.)+16*x(2)+2.23*sqrt(4*(x(4.)^2)+16*(x(2)^2)+112896)-1680;
-x(4.);
-x(2);
-x(3)];
%Nonlinier equality constraints;
ceq=[];

Tahap 3. Menggunakan kedua fungsi dalam program utama, sebutlah No2.m


x0 = [4, 6, 9];
options = optimset('LargeScale','off');
[x,fval]=...
fmincon(@objfun2,x0,[],[],[],[],[],[],@confun2,options)

%Ceking hasil
[c,ceq]=confun2(x)
gradfku=gradku2(x)

OPTIMASI TAKLINEAR|93
4.2 Pemrograman Stokastik Nonlinear
Jika terdapat beberapa parameter yang terlibat dalam fungsi tujuan
dan kendala bervariasi nilai rata-ratanya, masalah optimasi umumnya
diformulasikan menjadi suatu masalah optimasi stokastik nonlinear. Untuk
tujuan tersebut, kita mengasumsikan bahwa semua varia-bel random
independent (saling bebas) dan berdistribusi normal. Masalah stokastik
nonlinear umumnya ditulis dalam bentuk
Tentukan X yang meminimalkan f (Y ) (4.a)
dengan kendala
P ( g j (Y )  0)  p j , j =1,2,...,m (4.b)
dimana Y adalah vektor dengan variabel random y1 , y2 ,..., y N yang memuat

variabel keputusan x1 , x2 ,..., xn .


Pada kasus untuk X deterministik, maka dapat diperoleh kasus yang
sama dengan sebelum ini. Persamaan (4.b) menyatakan bahwa probabilitas
agar g j (Y ) terjadi lebih besar atau sama dengan 0 harus lebih besar daripada

atau sama dengan probabilitas p j yang diberikan. Masalah (4.a)-(4.b) dapat

dikonversikan dalam masalah deterministik yang ekuivalen dengan masalah


programing nonlinear dengan mengubah kendala sebagai berikut.

Fungsi tujuan

Fungsi tujuan f (Y ) dapat diekspansikan di sekitar nilai rata-rata yi , yi


sebagaimana ditunjukkan sebagai berikut
N
f
f (Y ) = f (Y ) +  y  y
i 1
i  yi  + suku-suku dengan turunan lebih tinggi
i Y

(4.c)
Jika standar deviasi dari yi yaitu  yi kecil, f (Y ) dapat didekati oleh dua suku

pertama dari persamaan (4.c), yaitu

94 |Pemrograman Stokastik
N
f
f (Y ) = f (Y ) +  y  y
i 1
i  yi 
i Y

f N
f
yi = Y  .
N
 f (Y ) + 
i 1 yi
yi -  y
i 1
(4.d)
Y i Y

Jika semua yi ,i=1,2,...,N mengikuti distribusi normal, sedangkan Y 


merupakan fungsi linear Y juga mengikuti distribusi normal. Rata-rata dan
variansi  Y  diberikan oleh

   (Y ) (4.e)
2
N 
f  2
Var( )   2     (4.f)
  yi
i 1  y i Y 

karena semua yi saling bebas. Untuk tujuan optimasi, fungsi tujuan yang baru
F(Y) dapat dikonstruksi dalam bentuk

F(Y) = k1  k 2  , dengan k1 , k 2  0 . (4.g)


Nilai k1 dan k2 menyatakan seberapa pentingnya  dan   dalam optimasi.

Cara lain untuk berkaitan dengan standart deviasi  adalah meminimalkan

 dengan kendala    k 3 dengan k3 sebagai konstanta.

Fungsi kendala
Jika beberapa parameter berlaku random secara natural, maka
demikian pula kendala juga bersifat proba-bilistik dan kita biasanya akan
menetapkan suatu nilai probabilitas agar kendala dipenuhi. Kendala (4.b)
dapat ditulis dalam bentuk

f
0
gj ( g j )dg j  p j (4.h)

dimana f g j ( g j ) adalah fungsi probabilitas kepadatan (pdf) dari variabel

random g j (suatu fungsi dari beberapa variabel random juga merupakan

variabel random) yang range (daerah hasilnya) diasumsikan dari   dan  .

OPTIMASI TAKLINEAR|95
Fungsi kendala g j Y  dapat diekspansikan pada sekitar vektor rata-rata Y

yang juga sebagai variabel random yaitu,


N  g 
g j Y   g j Y      y i  y i 
j
(4.i)

i 1  y i

Y 
Dari persamaan ini, nilai rata-rata g j dan standart deviasinya (  g j ) dapat

ditulis sebagai
g j = g j Y  (4.j)
1/ 2
 N  g  2 
2

 gj     y 
j
(4.k)
  i
 i 1  yi Y  

sebagaimana yang lalu kita melakukan standarisasi variabel. Dengan


memperkenalkan variabel baru
gj gj
 (4.l)
 gj

dan mengingat bahwa



1 t 2 / 2

 2
e dt  1 . (4.m)

Persamaan (4.h) dapat ditulis dalam bentuk


 
1  2 / 2 1 t 2 / 2

 g j /  g j  2
e d  
 j  p j  2
e dt (4.n)

 
dimana  j p j adalah nilai variabel yang distandarisasi normal yang

berkorespondensi dengan probabilitas p j . Jadi

 gj /g
j
  j p j  
atau

96 |Pemrograman Stokastik
 gj  
+  gj  j pj  0 (4.o)

Dengan menggunakan persamaan (4.k), maka persamaan (4.o) dapat ditulis


dalam bentuk
1/ 2
N   2 
2
 g j +   p   g j
j 
 y   0
  i
 i 1  yi
j

Y  
atau
1/ 2
N  2 
2
g j -   p   g j
   y 
 i
 0 , j =1, ...,m (4.p)
 i 1  yi
j j

Y  

Jadi masalah optimasi persamaan (4.a)-(4.b) dapat ditulis dalam masalah


optimasi deterministik yang ekuivalen yaitu:
minimalkan F(Y) dari persamaan (4.g) dengan kendala sebanyak m dari
persamaan (4.p). Untuk pembahasan lebih lanjut dalam literatur (Rao,2009)
belum dikaji dengan detail sehingga tidak dimuat lebih lanjut.
Catatan:
Selama ini kita belum mampu menyelidiki apakah jawaban optimal
dari program benar-benar optimal. Kita pernah menjumpai bahwa dengan
program diperoleh optimasi berhasil dengan komentar ‘Optimization terminated
Succesfully’ tetapi setelah kita uji grad f bukan vektor nol. Apakah benar cara
menguji demikian?. Pada literatur yang dirujuk buku ini ada diskusi tentang
aspek komputasi dan aspek praktis yang berkaitan dengan solusi yang
diperoleh. Untuk sementara, kita tidak membahas lebih lanjut.

Latihan Soal Bab IV


Pada Tabel 1.2 dan 1.3 Bab 1 diberikan data-rata dan deviasi standard
penurunan warna pada pembuatan sirup steviosida pada panjang gelombang
291 nm dan 215 nm (Parhusip dan Martono, 2012). Susunlah masalah

OPTIMASI TAKLINEAR|97
optimasi secara stokastik untuk masalah optimasi yang sudah ditunjukkan
pada Bab 1.

DAFTAR PUSTAKA

S.S. Rao, 2009. Engineering Optimization, John Wiley & Sons, Inc, BAB 11.

Kall, P., dan Wallace, S.W, Stochastic Programming 2nd edition, dengan
alamat
http://www.csee.wvu.edu/~xinl/library/books/stochastic_programmi
ng.pdf (21 Februari 2014)

Ruszczynski , A, Shapiro, A. 2003. Handbooks in Operations Research and


Management Science, 10: Stochastic Programming, ISBN: 978-0-
444-50854-6,Elsevier.

Garstka S.J and Wets, R.J, B. 1974. On Decision Rules on Stochastic


Programming, Mathematical Programming 7,117-143.

98 |Pemrograman Stokastik
Bab 5
METODE MODERN DALAM OPTIMASI

5.1 SIMULASI ANNELING(SA)

M
etode simulasi anneling mensimulasikan proses pendingin-
an logam cair untuk mencapai fungsi minimum dalam
masalah peminimuman. Penemunya adalah Metropolis yang
mendasarkan pada penyusunan vektor penyelesaian yang
stokastik dan menggunakan sifat fisis dari anneling (pencarian zat padat
dengan pemanasan yang diikuti dengan pendinginan yang lambat dan
pengkristalan hingga pada tingkat energi yang minimum). Pada proses
pendinginan, transisi diterima dari tingkat energi tinggi ke tingkat energi
yang rendah melalui suatu distribusi probabilitas Boltzmann.
Hal ini dilakukan dengan memperkenalkan parameter seperti suhu dan
mengontrolnya dengan menggunakan konsep distribusi probabilitas Bolzmann.
Distribusi ini mengartikan bahwa suatu energi E dalam suatu sistem
kesetimbangan termal pada suhu T didistribusikan secara probabilistik
menggunakan relasi
P( E )  e  E / kT (5.1)
dengan P(E) menyatakan probabilitas untuk mencapai tingkat energi E dan k
dikatakan konstanta Boltzmann. Persamaan (5.1) menyatakan bahwa pada suhu
tinggi sistem mempunyai distribusi yang mendekati probabilitas seragam pada
sembarang tingkat keadaan energi. Sedangkan pada suhu-suhu rendah, sistem
mempunyai probabilitas yang kecil untuk suatu tingkat energi yang tinggi.
Hal ini menandakan bahwa setiap proses pencarian diasumsikan mengikuti
distribusi probabilitas Boltzmann. Konvergensi dari algoritma simulasi
anneling dapat dikontrol oleh pengontrolan suhu T. Penjelasan tersebut di

OPTIMASI TAKLINEAR |99


atas menjadi dasar pemikiran untuk algoritma simulasi anneling untuk
optimasi yang dijabarkan berikut ini.

5.2 Algoritma SA untuk optimasi

Pada peminimuman suatu fungsi, sebutlah variabel keputusan adalah


 
xi yang berkaitan dengan fungsi tujuan f i = f ( xi ). Secara sama dengan

tingkat energi dalam sistem termodinamik, energi Ei pada keadaan xi diberi-
kan oleh

Ei = f i = f ( xi ) (5.2)
Algoritma bekerja secara iteratif yang tergantung dari perubahan suhu yang
mengakibatkan perubahan keadaan dalam sistem.
Algoritma Simulasi Anneling mendasarkan teorinya pada mekanika
statistik (Kirkpatrick, dkk, 1983) dengan menggunakan kondisi Metropolis.
Kondisi ini menyatakan bahwa sekumpulan atom dalam keadaan suhu yang
setimbang diberikan perpindahan yang kecil sehingga ada perubahan energi.
Secara rinci kriteria tersebut dijelaskan pada paragraf berikut.

Probabilitas untuk penyusunan xi 1 bergantung pada perbedaan
tingkat energi atau nilai fungsi pada dua titik yaitu
 
E  Ei1  Ei  f  f i1  f i  f xi1   f xi  (5.3)

Variabel keputusan yang baru xi 1 dapat ditemukan dengan menggunakan
distribusi probabilitas Boltzmann yaitu
 
P Ei 1   min 1, e  E / kT . (5.4)

Konstanta Boltzmann k menyatakan suatu faktor penyekalaan dalam


simulasi anneling, sehingga untuk penyederhanaan dapat diambil bernilai 1.
Perhatikan bahwa jika E  0 dalam persamaan (5.4), maka PEi 1  =1 dan

karena itu titik xi 1 selalu diterima. Hal inilah yang digunakan dalam

100 | Metode Modern dalam Optimasi



peminimuman suatu fungsi karena nilai fungsi pada xi 1 , f i 1 selalu lebih

baik (lebih kecil) daripada pada xi , yaitu f i , dan karena itu penyusunan

vektor xi 1 selalu diterima. Sebaliknya, ketika E  0 , nilai fungsi f i 1 pada
 
xi 1 lebih buruk (lebih besar) daripada nilai fungsi pada xi , yaitu f i .

Berdasarkan prosedur optimasi, titik xi 1 tidak dapat diterima sebagai titik
berikutnya pada proses iterasi. Hal tersebut di atas itulah yang dimaksud
dengan kriteria Metropolis.

Bagaimanapun probabilitas untuk menerima titik xi 1 , sebagai

pengganti nilai xi yang buruk berhingga (sekalipun mungkin terlalu kecil)
berdasarkan kriteria Metropolis. Perlu diperhatikan bahwa probabilitas untuk

menerima xi 1 :


P Ei 1   e  E / kT  (5.5)

tidak selalu sama pada setiap situasi karena tergantung dari nilai E dan T.

Jika suhu besar, probabilitas akan besar untuk menyusun xi 1 dengan nilai-

nilai fungsi lebih besar (dengan nilai-nilai E  f yang lebih besar). Oleh

karena itu pada suhu-suhu yang tinggi, sekalipun dengan penyusunan xi 1
yang lebih buruk tetap diterima karena probabilitas-probabilitas yang lebih
besar. Akan tetapi jika suhu T kecil, probabilitas untuk menerima penyusunan

titik xi 1 (dengan nilai-nilai E  f yang lebih besar) akan kecil. Jadi
sebagaimana nilai-nilai suhu mengecil (yaitu bahwa proses mendekati nilai

optimum), penyusunan xi 1 dengan nilai-nilai fungsi dibandingkan dengan

nilai-nilai pada xi akan semakin kecil untuk dapat diterima. Untuk selanjutnya
kita akan membahas algoritma simulasi anneling yang disingkat SA pada
bahasan berikut.

OPTIMASI TAKLINEAR |101



Mulai dengan penyusunan vektor awal x1 (nomer iterasi i =1) dan
nilai suhu yang tinggi. Bentuklah titik random yang baru yang berdekatan
dengan variabel keputusan saat itu dan tentukan selisih fungsi tujuan
 
E  f  f i1  f i  f xi1   f ( xi ) (5.6)

Jika f i 1 lebih kecil daripada f i (dengan nilai negatif f ) menerima titik


 
xi1 sebagai disain titik berikutnya. Sebaliknya, jika f positif, titik xi1
diterima sebagai desain titik yang baru hanya dengan suatu probabilitas
e  E / kT . Ini berarti jika nilai yang dibangkitkan secara random lebih besar
 
dari e  E / kT , menerima titik xi1 ; sebaliknya, tolak titik xi1 . Proses ini

merupakan satu iterasi pada algoritma. Jika titik xi1 ditolak, maka proses

membangkitkan titik xi1 secara random di sekitarnya dari titik yang baru

dikerjakan, hitung nilai fungsi tujuan yang berkaitan yaitu f xi1 
berdasarkan kriteria Metropolis, persamaan (5.5)-(5.6) dilanjutkan. Untuk
mensimulasi pencapaian setimbang termal pada setiap suhu, penentuan titik

baru pada dari xi1 diuji pada suatu nilai suhu tertentu T.

Setelah banyaknya titik xi1 diuji pada sembarang suhu T mencapai
nilai n, suhu T direduksi oleh bilangan c (0 < c< 1) dan seluruh proses
diulang. Prosedur diasumsikan telah konvergen ketika nilai T cukup kecil
atau ketika perubahan nilai-nilai fungsi f  diobservasi cukup kecil.
Pemilihan nilai suhu T, banyaknya iterasi n sebelum penurunan
suhu, dan faktor penurunan suhu (c) sangat penting untuk keberhasilan kon-
vergensi algoritma SA. Contohnya, jika nilai awal T terlalu besar, kita perlu
banyaknya penurunan suhu yang besar untuk konvergensi. Sebaliknya, jika
nilai awal suhu dipilih terlalu kecil, proses pencarian titik konvergensi bisa
tidak lengkap yang artinya algoritma bisa gagal dalam mencari tempat global
minimum sebelum konvergen. Faktor penurunan suhu c juga memberikan

102 | Metode Modern dalam Optimasi


pengaruh yang serupa. Terlalu besar nilai c (misal 0.8 atau 0.9) memerlukan
banyak usaha komputasi yang terlalu besar agar SA konvergen. Sebaliknya
jika c terlalu kecil (misal 0.1 atau 0.2) bisa dapat menghasilkan penurunan
suhu yang terlalu lebih cepat yang mungkin tidak mengijinkan dalam
pencarian lokasi minimum global. Secara sama, nilai banyaknya iterasi n
yang besar akan membantu pencapaian keadaan hampir setimbang pada
setiap suhu tetapi akan mendapat upaya komputasi yang terlalu besar.
Sejauh ini tidak ada himpunan yang tunggal untuk menentukan T, n
dan c yang bekerja dengan baik pada setiap kasus. Akan tetapi beberapa
petunjuk dapat digunakan. Nilai awal T dapat dipilih sebagai rata-rata fungsi
tujuan yang dihitung pada titik-titik random yang terpilih. Banyaknya iterasi
n dapat dipilih diantara 50 dan 100 berdasarkan akurasi yang dikehendaki.
Faktor penurunan suhu c dapat dipilih diantara 0.4 dan 0.6 untuk meng-
hasilkan penurunan suhu yang realistis. Selanjutnya pemilihan T, n dan c
masih merupakan proses trial and error untuk mendapatkan penyelesaian
optimal sesuai dengan masalah yang dihadapi.

Ciri-ciri algoritma SA
Beberapa ciri-ciri SA sebagai berikut
1. Kualitas penyelesaian akhir tidak dipengaruhi oleh nilai-nilai dugaan awal,
kecuali pada upaya komputasi yang meningkat (misal waktu komputasi)
dengan disain mula-mula yang buruk.
2. Karena sifat natural fungsi yang diskrit dan evaluasi kendala, konvergensi
atau transisi karakteristik tidak dipengaruhi oleh kontinuitas atau diferen-
siabilitas fungsi-fungsi.
3. Konvergensi tidak dipengaruhi oleh status konveksitas dari ruang kelayakan
(ingat bahwa pada optimasi peminimuman mensyaratkan fungsi tujuan
konveks).
4. Variabel keputusan tidak perlu positif.

OPTIMASI TAKLINEAR |103


5. Metode dapat digunakan pada masalah campuran dari optimasi pemro-
graman bulat, diskrit ataupun kontinu.
6. Untuk masalah yang meliputi kendala (dengan tambahan batas bawah dan
batas atas pada variabel keputusan), fungsi takberkendala yang ekuivalen
diformulasi sebagai kasus algoritma genetik.

Contoh 5. 1
Tentukan minimum dari fungsi berikut dengan menggunakan simulasi
anneling

f ( x )  500  20 x1  26 x2  4 x1 x2  4 x12  3x22
Penyelesaian: Kita mengikuti prosedur dalam diagram alir sebagai berikut:
Tahap 1.
Pilih parameter-parameter dalam algoritma SA. Nilai awal suhu diambil dari
nilai rata-rata f yang dihitung pada 4 titik yang dipilih pada ruang disain.
Yaitu
 2   5  8  10
x (1)   , x ( 2 )   , x ( 3)   , x ( 4 )    .
0 10 5 10
Dengan nilai awal ini diperoleh berturut-turut
f (1)  476 , f ( 2)  340, f (3)  481, f ( 4)  340.
Dengan hasil ini kita dapat menyusun nilai rata-rata yaitu 384.25 sebagai
nilai awal suhu T dan faktor penurunan suhu dipilih c=0.5. Agar komputasi
cukup singkat, kita memilih banyaknya iterasi yang diijinkan adalah n = 2.
  4
Kita memilih titik awal adalah x1    .
5 
Tahap 2.

Kita hitung fungsi tujuan pada x1 tersebut diperoleh f1  349.0 dan kita buat
tanda iterasi pertama yaitu i =1.

104 | Metode Modern dalam Optimasi



Tahap 3. Kita disain titik-titik baru yang berdekatan dengan nilai tadi yaitu x1.
Untuk itu kita memilih 2 bilangan random yang berdistribusi seragam yaitu
u1 dan u 2 ; u1 untuk x1 yang berdekatan dengan 4 dan u 2 yang berdekatan
dengan 5. Probabilitas u1 dan u 2 yang dipilih berturut-turut adalah 0.31 dan

0.57. Dengan memilih interval x1 dan x 2 pada interval berturut-turut adalah


(-2,10) dan (-1,11) yang menyatakan interval  6 disekitar nilai-nilai yang
berlaku saat itu, variabel random seragam r1 dan r2 dalam interval x1 dan x 2

yang berkorespondensi pada u1 dan u 2 dapat ditemukan sebagai

r1  2  u1 10  (2)   2  0.31(12)  1.72


r2  1  u2 11  (1)   1  0.57(12)  5.84

  r1  1.72 
Yang memberikan nilai x2      .
 
r2 5.84 

Karena nilai fungsi tujuan yaitu f 2  f ( x2 )  387.7312 nilai f diberikan
oleh
f  f 2  f1  387.7312  349.0  38.7312.
Tahap 4. Karena nilai f positif, kita menggunakan kriteria Metropolis untuk

menentukan menerima atau menolak titik yang sedang ditemukan yaitu x2 .
Dengan ini kita memilih bilangan random pada (0,1) dengan r=0.83,
persamaan (5.5) memberi probabilitas untuk menerima desain yang baru

untuk x2 yang baru adalah

P( x2 )  e  f / kT . (5.7)

Dengan mengasumsikan nilai konstanta Boltzmann k=1 untuk penyeder-


hanaan dalam persamaan (5.7), kita peroleh

P( x2 )  e  f / kT = e 38.7312 / 384.25  0.9041 .

OPTIMASI TAKLINEAR |105


  r1  1.72 
Karena r =0.83 lebih kecil dari 0.9041, kita menerima x2      
r2  5.84
sebagai titik yang didisain selanjutnya. Perhatikan bahwa fungsi tujuan
 
f 2  f ( x2 )  387.7312 lebih besar dari f1 , kita menerima x2 karena ini
merupakan tahap awal simulasi dan suhu yang sedang berlangsung tinggi.

Tahap 3.
Kita perbaharui indeks iterasi yaitu i =2. Karena banyaknya iterasi i lebih kecil
atau sama dengan n, kita memproses tahap 3.

Tahap 3.
Kita bentuk titik yang baru pada nilai yang berdekatan dengan nilai

  r  1.72 
x2   1     . Untuk itu, kita pilih interval dalam tiap disain variabel
r2  5.84
adalah  6 sekitar nilai yang sedang ada yaitu 6 1.72,6 1.72   4.28,7.72

untuk x1 dan  6  5.84,6  5.84   0.16,11.84 untuk x2 . Dengan pemilihan 2

variabel random berdistribusi uniform pada interval (0,1) dalam u1  0.92

dan u2  0.73; variabel random yang berkorespondensi dengan x1 dan x2


menjadi
r1  4.28  u1 7.72  (4.28)   4.28  0.92(12)  6.76
r2  0.16  u 2 11.84  (0.16)   0.16  0.73(12)  8.60

 r1  6.76
yang memberikan X 3       dengan nilai fungsi f 3  313.3264 .
r2  8.60 
Kita tulis bahwa fungsi f 3  313.3264 lebih bagus dari f 2 dengan

f  f 3  f 2  313.3264  387.7312  74.4048 .

106 | Metode Modern dalam Optimasi


Tahap 4.

Karena f  0 , kita menerima nilai yang sedang berlaku untuk


  r  6.76
x3   1     dan menambahkan indeks iterasi menjadi i =3. Karena i >
r2  8.60
n maka kita menuju pada tahap 5.

Tahap 5.
Karena siklus iterasi dengan nilai suhu telah dilengkapi, kita menurunkan
suhu pada nilai baru T = 0.5 (384.25) = 192.125.
Kita tulis kembali i =1 dan kita menuju tahap 3.

Tahap 3.
Susun titik yang baru yang berdekatan dengan nilai yang sedang berlaku

untuk x3 dan kita melanjutkan prosedur hingga suhu tereduksi pada nilai
yang kecil (hingga konvergen).
Catatan: Sebagaimana yang telah kita pelajari bersama, maka algoritma SA
tidak bekerja dengan sistem persamaan linear maupun sistem persamaan
taklinear sebagaimana kita jumpai pada berbagai proses optimasi. Hal ini
merupakan salah satu keuntungan algoritma SA.

Contoh 5.2 (Rao,2009) Untuk konstruksi “welded beam” (Gambar 5.1)


didisain dengan biaya minimum dengan kendala pada gaya geseran (shear
stess)   , gaya kelenturan (bending stress)(σ), kemampuan lipat (buckling
load (Pc)), defleksii (deflection;δ), dan kendala dengan masalah optimasi
telah dimodelkan sebagai berikut:

OPTIMASI TAKLINEAR |107


Gambar 5.1 Welder beam ( Rao, 2009).

 x1  h 
   
  x2   l 
Didefinisikan variabel keputusan adalah x   maka
 x3   t 
   
 x4   b 
fungsi tujuan dibuat dalam literatur adalah

f ( x )  1.10471x12 x2  0.04811x3 x4 (14.0  x2 )
dengan kendala
 
g1 ( x )   ( x )   max  0
 
g 2 ( x )   ( x )   max  0

g 3 ( x )  x1  x4  0

g 4 ( x )  0.10471x12  0.04811x3 x4 (14.0  x2 )  5.0  0

g 5 ( x )  0.125  x1  0

g 5 ( x )  0.125  x1  0
 
g 7 ( x )  P  Pc ( x )  0
 
g 8 ( x ) ke g11 ( x ) : 0.1  xi  2.0 , i =1,4
 
g12 ( x ) ke g15( x) : 0.1  xi  10.0 , i =2,3

 (X )   '2  2 ' ' ' x2   "2


2R
P MR  x 
 ' , ' '  , M  P L  2 
2 x1 x2 J  2

108 | Metode Modern dalam Optimasi


x x 
2
x 22
R  1 3 
4  2 

 x x  x22  x1  x3  2  
J  2 1 2    
 2  12  2   

4 PL3
 X  
6 PL
,   X  
x4 x32 Ex33 x4

Px  X  
 
4.013 EG x32 x46 / 36  x
1  3
E 

2  
L  2 L 4G 

Data: P= 6000lb, L =14in., E  30x10 6 psi, G  12x10 6 psi. psi,  max  30000

psi dan  max  0.25 in.

Catatan: dengan metode lain dan nilai awal


 x1  h  0.4
 x   l   6 .0 

x awal   2      
 x3   t  9.0
     
 x 4   b   0 .5 

 x1  h  0.2444
     
 *  x2   l  6.2177 
diperoleh x    dan nilai fungsi tujuan optimal adalah
 x3   t  8.2915
     
 x4  b  0.2444

f * =$ 2.3810.

5.3 OPTIMASI DENGAN KOLONI SEMUT

Ant colony optimization (ACO) dibuat berdasarkan perilaku


kooperatif dari koloni semut yang di alam yang dapat menemukan lintasan

OPTIMASI TAKLINEAR |109


terpendek dari sarang semut dengan suatu sumber makanan. Metode ini
dikembangkan oleh Dorigo pada awal 1990-an. Optimasi koloni semut dapat
dijelaskan dengan menampilkan masalah optimasi dalam grafik multilevel
dengan banyaknya variabel sama dengan banyaknya level. Sedangkan
banyaknya titik/titik pada tiap level sama dengan banyaknya titik diskrit yang
diijinkan yang berkaitan dengan variabel keputusan.
Proses ACO dapat dijelas sebagai berikut. Koloni terdiri N semut.
Semut-semut mulai membuat rumah pada titik travel melalui level-level yang
bervariasi dari level pertama hingga level terakhir dan berakhir titik tujuan
untuk tiap siklus atau iterasi. Setiap semut dapat memilih hanya 1 titik pada
tiap. Titik-titik terpilih sepanjang lintasan dikunjungi semut sebagai kandidat
penyelesaian.

Sifat Perilaku Semut


Suatu semut ke-k, pada lokasi titik ke-i, menggunakan jejak peromon  ij

untuk memilih posisi ke-j sebagai posisi selanjutnya dengan probabilitas


  ij
 jika j  N i( k )
   ij

pij( k ) (5.8)
 jN i
(k )

 0 jika j  N i( k )

dimana  menyatakan derajat kepentingan dari peromon dan N i (k )


menyatakan himpunan titik-titik pada persekitaran semut ke-k pada posisi ke-
i, kecuali titik predesesor (yaitu titik terakhir yang dikunjungi sebelum posisi
yang ke-i). Hal ini akan menjaga semut kembali ke titik yang sama sebelum
ke-i). Suatu semut akan mengunjungi dari satu titik ke titik berikutnya hingga
mencapai pada tujuan (titik yang memuat makanan).

110 | Metode Modern dalam Optimasi


Lintasan Kembali dan Memperbaharui Peromon (pheromone)
Sebelum ke titik rumah (arah mundur), semut ke-k mendepositokan  (k )
peromon pada lintasan kurva yang telah dikunjungi. Nilai peromon  ij pada

lintasan (i,j) diperbarui yang ditulis dalam bahasa algoritma dalam bentuk
 ij   ij   (k ) .

Karena ada peningkatan pada peromon, probabilitas dari kurva ini terpilih
untuk menjadi semut yang segera dapat terjadi akan naik. Selengkapnya pada
literatur.

Penguapan jejak Peromon


Ketika satu semut k bergerak pada titik berikutnya, peromon menguap dari
semula lintasan ij dengan hubungan
 ij  1  p  ij ; (i, j )  A (5.9)

dimana p  (0,1] adalah suatu parameter dan A menyatakan segmen atau


lintasan yang dilalui oleh semut k pada lintasannya dari rumah ke tujuan.
Penurunan intensitas peromon menyebabkan (kebaikan) eksplorasi pada
lintasan yang berbeda-beda selama proses pencarian. Hal ini menawarkan
eliminasi dari pemilihan lintasan yang buruk yang membantu dalam
mengikat nilai maksimum yang didapat oleh jejak peromon. Suatu iterasi
dikatakan lengkap jika meliputi pergerakan semut, penguapan peromon dan
deposito peromon.
Setelah semua semut kembali ke titik sarang, informasi peromon
diperbaharui berdasarkan hubungan
N
 ij  1    ij    ij( k ) (5.9)
k 1

dimana   (0,1] adalah laju penguapan (yang dikenal juga sebagai faktor

penurunan peromon) dan  ij(k ) adalah banyaknya peromon yang dideposito-

OPTIMASI TAKLINEAR |111


kan pada lintasan ij oleh semut terbaik ke-k. Tujuan peromon diperbaharui
adalah untuk meningkatkan nilai peromon yang berkaitan dengan baik atau
tidaknya lintasan. Peromon didepositokan pada lintasan (arc) ij dengan semut
terbaik dalam bentuk
Q
 ij( k )  (5.10.a)
Lk

dimana Q menyatakan suatu konstan dan Lk adalah panjang lintasan yang


dilalui oleh semut ke-k ( seperti dari 1 kota ke kota lain pada masalah
Traveling Salesman Problem (TSP)). Persamaan (5.10.a) dapat diimplemen-
tasikan sebagai
  f terbaik
 jika i,j   tur global terbaik
 (k )
ij   f terburuk (5.10.b)
 0; yang lain

Algoritma

Tahap 1. Asumsikan banyaknya koloni semut adalah N. Asumsikan suatu


himpunan bernilai diskrit yang diijinkan untuk setiap n variabel keputusan.
Simbolkan untuk nilai diskrit dari variabel keputusan yang diijinkan adalah
xi adalah xi1 , xi 2 ,..., xip (i=1,2,...,n). Asumsikan bahwa banyaknya peromon

 ijl  awalnya sama.Tanda indeks atas adalah iterasi ke-l.

Tahap 2.
(a) Hitung probabilitas pij untuk memilih lintasan semut

(5.11)
yang sama dengan formula (5.8) dengan   1 .

112 | Metode Modern dalam Optimasi


(b) Lintasan (atau nilai-nilai diskrit) dipilih oleh semut ke-k dapat ditentukan
dengan menggunakan bilangan random yang dibuat pada domain (0,1).
Untuk itu kita mempunyai probabilitas kumulatif yang berkaitan dengan
lintasan yang berbeda. Lintasan khusus dipilih oleh semut k ditentukan
dengan menggunakan rute pada proses Tahap 3.a.

Tahap 3.
(a) Susun N bilangan random r1 , r2 ,..., rN dalam interval (0;1), 1 bilangan
random untuk setiap semut. Tentukan nilai diskrit atau lintasan yang
diasumsikan oleh semut k untuk variabel i yang mana setiap probabilitas
kumulatif (yang ditemukan dalam Tahap 2.b termasuk dalam nilai ri ).
(b) Ulangi Tahap 3.a untuk semua variabel keputusan i =1,2,...,n.
(c) Hitung nilai fungsi tujuan yang berkaitan dengan lintasan yang lengkap

(variabel x(k ) atau nilai x ij untuk semua variabel keputusan untuk i= 1, 2, . . . ,

n oleh semut k, k= 1, 2, . . . ,N).



f k  f ( x (k ) ) , k= 1, 2, . . . ,N (5.12)
Tentukan lintasan terbaik dan buruk diantara N lintasan yang dipilih oleh
semut-semut yang berbeda dan didefinisikan
max
f terbaik 
min
fk  dan f terburuk  fk  (5.13)
k  1,2,..., N k  1,2,..., N

Tahap 4: Tes untuk proses konvergensi. Proses diasumsikan mempunyai


konvergensi jika semua N semut mengambil lintasan terbaik yang sama. Jika
konvergen tidak tercapai, asumsikan bahwa semua semut kembali ke rumah
dan mulai lagi mencari makanan. Bentuklah nomer iterasi yang baru dengan l
= l + 1 (baca : ‘el ples 1’) dan perbarui peromon pada lintasan yang berbeda
(atau nilai-nilai variabel disain sebagai

 ij( l )   ij( lama )    ijk (5.14)


k

OPTIMASI TAKLINEAR |113


dimana  ij(lama ) menyatakan banyaknya peromon pada iterasi sebelumnya

yang tertinggal setelah evaporasi, yang dinyatakan dalam bentuk


 ij(lama)  1    ij(l 1)

dan  ijk adalah peromon yang didepositokan oleh semut terbaik pada

lintasannya dan penjumlahan dilakukan untuk semua semut-semut terbaik k.


Perhatikan bahwa lintasan terbaik hanya ada 1 lintasan ij (dari p yang
mungkin) untuk variabel i. Laju evaporasi atau faktor penurunan peromon 
diasumsikan pada interval 0.5 hingga 0.8 dan peromon yang didepositokan
 ijk dihitung menggunakan persamaan (5.10.b).

Dengan nilai-nilai baru  ij(l ) lanjutkan pada tahap 2, 3 dan 4 diulang hingga

proses konvergen, yaitu hingga semua semut memilih lintasan terbaik yang
sama. Pada beberapa kasus, proses iterasi dihentikan setelah sebelumnya
menetapkan banyaknya iterasi maksimum yang digunakan l max  .

Contoh 5.3

Minimumkan fungsi f ( x)  x 2  2 x  11 pada interval (0,3) dengan meng-


gunakan metode koloni semut.

Jawab:
Tahap 1. Asumsikan banyaknya semut N = 4. Perhatikan bahwa hanya ada 1
variabel keputusan dalam contoh ini (n=1). Nilai –nilai diskrit dari x  x1
diasumsikan pada interval x dengan (p=7) sehingga
x11  0.0 ; x12  0.5 ; x13  1.0 ; x14  1.5 ; x15  2.0 ; x16  2.5 ; x17  3.0 .

Setiap semut dapat memilih sembarang nilai tersebut (lintasan) x1 j , j=

1,2,...,7 sebagaimana ditunjukkan pada Gambar 5.2.

114 | Metode Modern dalam Optimasi


Gambar 5.2 lintasan yang mungkin untuk semut

Tahap 2. Untuk sembarang semut k, probabilitas pemilihan lintasan untuk


variabel diskrit x1 j

diberikan oleh
1j 1
p1 j  7


7
1p
p 1

Untuk memilih lintasan khusus (atau varibel diskrit) yang dipilih oleh suatu
semut dengan menggunakan bilangan random yang dibangun dari (0,1),
probabilitas kumulatif pada interval yang berkaitan dengan lintasan yang
berbeda pada Gambar 5.2:
 1 1 2
x11   0,   0.0,0.1428 = ; x12   ,   0.1428,0.2857  ;
 7 7 7
2 3 3 4
x13   ,   0.2857,0.4286  ; x14   ,   0.4286,0.5714  ;
7 7 7 7
4 5 5 6
x15   ,   0.5714,0.7143 ; x16   ,   0.7143,0.8571 ;
7 7 7 7
6 
x17   ,1  0.8571,1 .
7 

OPTIMASI TAKLINEAR |115


Tahap 3. Buatlah bilangan random
Susun N bilangan random r1 , r2 ,..., rN dalam interval (0;1) yaitu

r1  0.3688; r2  0.8577; r3  0.0776; r4  0.57911. Dengan menggunakan


interval probabilitas kumulatif (yang diberikan pada tahap 2) yang mana nilai
ri berada, nilai diskrit diasumsikan (atau lintasan terpilih)

Semut 1: x13  1.0 ; semut 2: x16  2.5; semut 3 : x11 = 0.0; semut 4: x13  1.0
Yang perlu diperhatikan bahwa ketika kita menggunakan bilangan maka hasil
yang diperoleh tidak pernah sama. Jadi jika pembaca menggunakan program
disini maka hasil yang diperoleh dapat berbeda. Akan tetapi, solusi yang
diperoleh dapat sesuai dengan analitik (jika penyelesaian analitik ada). Jika
tidak ada penyelesaian analitik untuk membandingkan solusi yang diperoleh
dengan algoritma koloni semut, maka berbagai pertimbangan perlu
diperhatikan seperti kelayakan solusi dengan solusi yang diharapkan, sifat
Hessian pada solusi yang diperoleh.

Latihan soal 5.1

1. Selesaikan dengan koloni semut untuk soal contoh 5.2 (ikuti langkah-
langkah yang diberikan).
2. Tentukan titik minimum fungsi f ( x)  x2  2x  11 pada interval (0,3)
dengan simulasi anneling
Catatan: dengan metode koloni semut diperoleh peminimum sekitarx*=

0.9760 dan nilai minimum diperoleh dengan mensubstitusikan x *
pada f(x*)=-12.
3. Dua benda yang tidak mempunyai gaya gesek (A dan B) terhubung dengan
3 pegas elastik yang mempunyai konstanta elastisitas k1 , k2 , dan k3 yang
ditunjukkan pada Gambar 5.3.

116 | Metode Modern dalam Optimasi


Gambar 5.3 Ilustrasi soal no.3

Pegas pada posisi natural ketika gaya yang dikenakan adalah 0. Tentukan
pergeseran x1 dan x2 karena gaya P dengan menggunakan potensial energi
minimum.
Petunjuk:
Jika P=potensial energi pada sistem dan U adalah kerja pada sistem yang
diformulasikan dalam bentuk

1 1 1 
U   k 2 x12  k3 ( x2  x1 ) 2  k1 x22   Px2
2 2 2 
Secara analitik, maka syarat perlu U minimum adalah menyelesaikan
U U
 0;  0 . diperoleh (secara analitik)
x1 x2

Pk3 P ( k 2  k3 )
x1*  ; x2*  .
k1k2  k1k3  k2 k3 k1k2  k1k3  k2 k3
Selesaikan dengan simulasi anneling untuk k1  k2  k3  1 ,P=1.
Untuk menguji jawaban : maka bandingkan solusi anda dengan peminimum
analitik ( x1* , x2* )

5.3 ALGORITMA GENETIK


5.3.1 Kelahiran Algoritma Genetik
Algoritma genetik adalah suatu teknik pencarian dan optimasi
stokastik (melibatkan probabilitas) yang cara kerjanya meniru proses evolusi
OPTIMASI TAKLINEAR |117
dan perubahan genetik pada struktur kromosom makhluk hidup. Konsep
dasar algoritma genetik pertama kali dicetuskan pada tahun 1975 oleh John
Holland, seorang professor di University of Michigan, dalam sebuah buku
yang berjudul Adaption in Natural and Artificial Systems. Dalam bukunya
itu, Holland memperkenalkan sebuah pendekatan baru untuk memecahkan
masalah yang rumit, masalah yang tidak dapat dipecahkan dengan teknik-
teknik konvensional. Pendekatan baru yang diperkenalkan itu terdiri dari
beberapa tahapan pemecahan masalah (algoritma) yang kemudian diimple-
mentasikan dalam program komputer. Pendekatan baru inilah yang kemudian
dikenal dengan algoritma genetik (genetic algorithm). Algoritma ini selanjut-
nya disingkat GA.
Sebagaimana kita ketahui tentang perkembangan generasi dalam
genetika maka ada beberapa faktor yang terlibat: orang tua, perkawinan
silang, pengaruh lingkungan (dan mungkin yang lain), pengaruh random.
Faktor-faktor inilah yang akan muncul dalam beberapa istilah dalam algorit-
ma. Kata kunci yang mungkin muncul: parent, fittness, crossover, old gene-
ration, new generation.
1. Suatu populasi titik digunakan untuk memulai prosedur sebagai pengganti 1
titik variabel keputusan. Jika banyaknya variabel keputusan n, maka ukuran
populasi diambil dari 2n hingga 4n. Karena beberapa titik digunakan sebagai
kandidat solusi, maka GA umumnya menjadi terlokalisasi pada optimum
lokal.
2. GA hanya menggunakan nilai-nilai fungsi tujuan. Turunan tidak diguna-
kan pada prosedur pencarian optimum.
3. Variabel GA dinyatakan dalam tipe variabel binair yang berlaku sebagai
kromosom pada genetik yang alamiah. Jadi metode pencarian optimum
umumnya untuk masalah programming diskrit dan bulat. Untuk variabel
keputusan yang kontinu, panjang string dapat divariasi untuk mencapai
resolusi yang diinginkan.

118 | Metode Modern dalam Optimasi


4. Nilai fungsi tujuan berkaitan dengan berkaitan dengan aturan fittness pada
genetika secara alamiah.
5. Pada setiap generasi baru, penyusunan himpunan string yang baru dengan
menggunakan pemilihan “orangtua” secara random dan crossover
bukanlah teknik pemilihan yang sederhana. Kombinasi yang diperoleh
secara efisien merupakan kombinasi baru dengan pengetahuan yang ada
untuk menemukan generasi baru dengan fitness yang lebih baik atau nilai
fungsi tujuan.

5.4.2 Representasi variabel disain (variabel keputusan)

Dalam GA, variabel disain dinyatakan dalam bentuk variabel string/


binair (bernilai 0 dan 1).

Contoh 5.4: Jika variabel disain xi yang dinyatakan dalam suatu string
dengan panjang 4 (atau 4 bit) dalam bentuk

0 1 0 1,

maka bilangan desimalnya adalah

(1)20 (0)21 (1)22 (0)23 10405.

Jika setiap variabel disain xi , i=1,2,...,n dikodekan suatu string dengan


panjang q, vektor disain dinyatakan dengan menggunakan string dengan
panjang total nq.

Contoh 5.5: jika suatu string dengan panjang 5 digunakan untuk merepre-
sentasikan setiap variabel, total string dengan panjang 20 menjelaskan suatu
vektor variabel disain dengan n = 4. Hal ini ditunjukkan pada Gambar 5.4.

OPTIMASI TAKLINEAR |119


Gambar 5.4 Ilustrasi x1 18, x2 3; x1 1; x4 4 dalam binair

Vektor disain disimbolkan oleh x1 18, x2 3; x1 1; x4 4. Secara umum bilangan
binair dinyatakan dalam bentuk bq bq 1 ...b2 b1b0 dengan bk  0 atau 1 untuk
k=0,1,2,...,q maka bilangan desimal yang ekuivalen adalah
q
y   2 k bk (5.16)
k 0

Hal ini menyatakan variabel desain x yang kontinu hanya dapat direpre-
sentasikan oleh himpunan nilai-nilai diskrit jika representasi binair digunakan.
Jika suatu variabel x (yang batasnya diberikan oleh x (u ) dan x (l ) )
direpresentasikan oleh suatu string dengan bilangan binair sebanyak q, nilai
desimalnya dapat dihitung dengan
x (u )  x (l ) q
x  x (l ) 
2q  1
2
k 0
k
bk (5.17)

Persaman (5.17) menunjukkan bahwa GA secara alamiah cocok untuk


masalah optimasi diskrit.

5.4.3 Representasi fungsi tujuan dan kendala

Karena algoritma genetik didasarkan pada prinsip daya juang


(prinsip fit test), maka GA umumnya memaksimalkan fungsi yang dikenal
sebagai fungsi fitness. Jadi GA secara alamiah cocok untuk masalah

pemaksimalan tanpa kendala. Fungsi fitness F( x ) dapat diambil sebagai
fungsi tujuan sehingga masalah minimalisasi dapat ditransformasi menjadi
masalah maksimum sebelum mengaplikasikan GA. Biasanya fungsi fittness
dipilih taknegatif. Umumnya gunakan transformasi untuk mengkonversikan
masalah minimalisasi pada bentuk yang ekuivalen.

120 | Metode Modern dalam Optimasi


Prosedur komputasi menyangkut memaksimalkan fungsi fitness
F ( x1 , x 2 ,..., x n ) dalam algortima genetik dengan langkah-langkah sbb :
1. Pilih panjang string yang tepa untuk l = nq untuk menyatakan variabel

disain sebanyak n dari vektor disain x .
Asumsikan nilai-nilai parameter : ukuran populasi m,
probabilitas crossover pc , probabilitas mutasi p m , nilai-nilai yang

diijinkan untuk variabel standart dari nilai-nilai fitness populasi s j max

untuk menggunakan kriteria konvergen.


2. Buatlah populasi random dengan ukuran m, setiap populasi terdiri dari
suatu string dengan panjang l=nq. Hitung nilai-nilai fitness Fi , i  1,2..., m
dengan string sebanyak m.
3. Perhatikan proses reproduksi
4. Perhatikan opeasi crossover menggunakan probabilitas crossover pc

5. Perhatikan operasi mutasi menggunakan probabilitas mutasi p m

6. Hitung untuk nilai-nilai fitness Fi , i  1,2..., m dari m string dari populasi


yang baru. Tentukan standar deviasi dari nilai-nilai fitness yang sebanyak
f.
7. Test konvergensi dari algoritma atau proses. Jika s j  s j max , kriteria

konvergen terpenuhi dan oleh karena itu proses dapat berhenti. Sebaliknya
menuju langkah 8.
8. Test untuk bilangan generasi. Jika i  imax , komputasi telah dibentuk untuk
banyaknya generasi maksimum yang diijinkan dan oleh karena itu proses
dapat dihentikan. Sebaliknya, buatlah banyaknya generasi adalah i  i +
1 dan menuju step 3.
Catatan: algoritma genetik belum dapat dilakukan karena algoritma yang
sudah ada tidak dapat dengan versi MATLAB 6.5. Apa yang dapat
kita lakukan ?. Kita dapat menggunakan beberapa tahap algoritma

OPTIMASI TAKLINEAR |121


untuk dapat menggunakan dalam optimasi. Ketiga operator dalam
GA akan kita buat secara sederhana sesuai dengan literatur.

5.4.4 Reproduksi, Crossover dan Mutasi

Pemilihan string yang bagus berdasarkan probabilitas yang terbesar.

Contoh 5.5 Melakukan operator 1 pada kasus 1


Studi kasus: maksimalkan f  x1  4x 2
dengan kendala
x1  x 2  4, 4 x1  5 x 2  45
5 x1  2 x 2  20, 5 x1  2 x 2  10 ,
x1  0, x 2  0 .

Tahap 1. Susun dalam minimalkan

w  ( x1  4 x2 )

dengan kendala

g1 :  x1  x2  4  0; g 2 : 4 x1  5 x2  45  0 ,

g3 : 5 x1  2 x2  20  0, g 4 : 5 x1  2 x2  10  0 ,

x1  0, x 2  0 .

Minimalkan
m
 ( x1 , x2 )  w( x1 , x2 )   ri g i ( x1 , x2 ) 2 ; anggap ri  r (konstan, ditetapkan
i 1

kemudian),i=1,...,4.

Tahap 2. Susun fungsi fitness :

1
F ( x1 , x2 )  .
1   ( x1 , x2 )

Nama program:
Tujuan: untuk menyimpan fungsi tujuan dan kendala dan menyatakan fungsi
fitness
122 | Metode Modern dalam Optimasi
function w = wku(x)
w=-(x(1)-4*x(2));

function g=gku(x)
g1= -x(1)+x(2)-4;
g2= -4*x(1)+5*x(2)-45;
g3=-5*x(1)-2*x(2)-20;
g4= -5*x(1)-2*x(2)+10;
g=[g1 g2 g3 g4];

Tahap 3. Susun probabilitas untuk n populasi yang diberi-kan n = 10. Ambil


data sembarang sebanyak 10.

Dalam perintah MATLAB:

n=10; %banyaknya populasi


a=0; %batas populasi
b=5; %batas populasi
%awal x
x1random = a + (b-a).*rand(n,1);
x2random = a + (b-a).*rand(n,1);

Tahap 4. Mencari nilai fungsi fitness pada tiap pasangan koordinat

for i=1:n
x=[x1random(i) x2random(i)]
phi(i)=fitness1(x)
end
F=1./(1+phi)

Tahap 5. Menentukan probabilitas tiap fungsi fitness

probf=phi./sum(phi)

Tahap 6.
s=0;
for i=1:n
kump(i)=s+probf(i);
s=kump(i);
end
rangeprob1=kump-probf(1)
rangeprob2=kump;
OPTIMASI TAKLINEAR |123
Tahap 7. Mendaftar hasil probabilitas
%Contoh Table 13.1
Daftar=[[1:n]' phi' abs(probf)' kump' rangeprob1' rangeprob2']

Tabel 5.1. Contoh hasil keluaran dari Daftar pada program


Nilai Batas Batas
Indeks Prob Prob Kum
fitness bawah atas
1000 -30.5534 0.2077 0.2077 0 0.2077
2000 -14.4242 0.0980 0.3057 0.0980 0.2801
3000 3.7703 0.0256 0.2801 0.0724 0.4536
4000 -25.5317 0.1735 0.4536 0.2459 0.4536
5000 -11.7622 0.0800 0.5335 0.3258 0.5335
6000 -13.8741 0.0943 0.6278 0.4202 0.6278
7000 -11.8747 0.0807 0.7085 0.5009 0.7085
8000 -7.1344 0.0485 0.7570 0.5494 0.7570
9000 -19.6661 0.1337 0.8907 0.6830 0.8907
10000 -16.0775 0.1093 1.0000 0.7923 1.0000
Catatan: ingat bahwa kita bekerja dengan bilangan random, sehingga hasil tidak selalu
sama diperoleh.

Tahap 8. Akan menuju crossover membangkitkan lagi bilangan random


(Rao,2009,hal 699), dan tiap bilangan random tersebut dibandingkan dengan
interval probabilitas yang telah dibuat. Jika memenuhi pada salah satu
interval maka indeks pada interval tersebut digunakan untuk menentukan
string yang dicopy
m=12;
prob2=rand(m,1)
range_p=[rangeprob1' rangeprob2']
%bagian ini bisa diperpendek
for i=1:m
for j=1:n
if (prob2(i)>range_p(j,1) && prob2(i)<range_p(j,2))
indexku=j;
end
end
vindeks(i)=indexku;
end
Indeks=vindeks;
nbaru=length(Indeks);
%mengcopy string sesuai index terpilih %halaman 699
fnor i=1:nbaru
124 | Metode Modern dalam Optimasi
s1=Indeks(i);
xbaru1(i)=x1random(s1);
xbaru2(i)=x2random(s1);
end

Contoh keluaran: hati-hati, keluaran yang muncul tidak akan sama setiap
dicoba,
Daftarb =
8.0000 3.9742 2.9352
4.0000 1.5317 4.6950
9.0000 3.2216 1.0387
9.0000 3.2216 1.0387
4.0000 1.5317 4.6950
4.0000 1.5317 4.6950
4.0000 1.5317 4.6950
4.0000 1.5317 4.6950
5.0000 2.5425 4.3797
5.0000 2.5425 4.3797
5.0000 2.5425 4.3797
5.0000 2.5425 4.3797

Perhatikan bahwa solusi/anak dalam mating pool yang baru berkaitan dengan
solusi mula-mula dari indeks ke 8 (1 kali), yang ke 4 ada 5 kali, yang ke 5
muncul sebanyak 4 kali dan dari indeks ke-9 muncul 2 kali. Munculnya ini
sesuai dengan probabilitas yang diperoleh. Kita menuju pada proses
crossover.

Crossover
Catatan: crossover menggunakan data dari mating pool yang ditulis dalam
binair kemudian binairnya dipertukarkan untuk beberapa posisi binair. Pada
MATLAB terdapat fungsi ‘dec2bin’ tetapi untuk bilangan asli. Sebelum
dijelaskan lebih lanjut berarti kita perlu mengetahui bagaimana bilangan
desimal ke binair dan sebaliknya.

OPTIMASI TAKLINEAR |125


Contoh 5.6. Tuliskan 0.625 dalam binair :

0.625 x 2 = 1.250
0.250 x 2 = 0.500
0.500 x 2 = 1.000

Jadi 0.62510  0.1012 .

Contoh 5.7 Ubahlah 47 basis 10 dalam basis binair

47 dibagi 2 adalah 23 sisa 1


23 dibagi 2 adalah 11 sisa 1
11 dibagi 2 adalah 5 sisa 1
5 dibagi 2 adalah 2 sisa 1
2 dibagi 2 adalah 1 sisa 0
1 dibagi 2 adalah tidak bisa (masih tetap sisa 1 tadi)

Kita tulis sisa tadi dari yang paling akhir ditulis sebagai digit pertama
sehingga 1 0 1111
Jadi 4710  1011112 .

Contoh 5.8. Ubahlah 47.625 dalam binair

Jawab: perhatikan bagian bulat sudah kita buat demikian pula bagian di
belakang koma.

Karena 4710  1011112 dan 0.62510  0.1012 maka


47.625 = 101111.1012

Kita akan melakukan sebaliknya, yaitu


1 2 3
0.1012  1  2  0 2  1 2  1 / 2  0  1 / 8  0.5  0.125  0.62510

Kembali pada contoh:


Misalkan kita akan menuliskan titik pertama yaitu (3.9742, 2.9352) dalam
bentuk binair kemudian akan mengalami crossover (beberapa digit diganti)
selanjutnya bilangan tersebut berubah (masih dalam binair) dinyatakan
kembali dalam basis 10.

126 | Metode Modern dalam Optimasi


Untuk itu program harus memperoleh :
3.9742 = 3 + 0.9742
3 dibagi 2 sisa 1
1 dibagi 2 tetap 1
Tahap A. Bilangan bulat dinyatakan dalam binair
Sehingga 3 = 112 .

Tahap B. Bilangan di belakang koma dinyatakan dalam binair 0.9742 = ....2


akan dicari sebagai berikut:
Perhatikan
Tahap 1. 0.9742 x 2 = 1.9484
Tahap 2. 0. 9484 x 2 = 1.8968
Tahap 3. 0. 8968 x 2 = 1.7936
Tahap 4. 0.7936x2 = 1.5872
Tahap 5. 0.5872 x 2 = 1.1744
Tahap 6. 0.1744 x 2 = 0. 3488
Tahap 7. 0.3488 x 2 = 0.6976
Tahap 8. dan seterusnya ?.
Perhatikan bahwa digit yang dicetak tebal sebagai kandidat binair untuk
bilangan desimal 0.9742. Berapa banyak kita harus melakukan hal tersebut?.
Dari contoh maka proses tersebut berlaku hingga berakhir dengan 0. Hal itu
dapat terjadi jika bilangan desimal merupakan pecahan rasional. Jika tidak
bagaimana?. Mungkin kita perlu menetapkan hingga berapa angka di belakang
koma akan dibuat. Oleh karena itu kita melakukan pendekatan saja.
Jadi
3.9742 = 3 + 0.9742 = 112  0.11112 = 11.111112
Coba cek:
0.11112  1  21  1  22  1  23  1  24 =0.9375 (masih agak jauh)
0.111112  1  21  1  22  1  23  1  24  1  25 =0.9688
(lebih dekat)
Perhatikan bahwa =|0.9742-0.9688|=0.0054.

OPTIMASI TAKLINEAR |127


Jadi jika kita menghendaki ketelitian dalam sekitar 0.005 maka kita
menggunakan 0.111112 untuk menyatakan 0.9742.
Kesimpulan:
3.974210 = 3 + 0.9742 = 112  0.11112 = 11.111112
Secara sama dapat dilakukan untuk bilangan-bilangan lain. Kita tinggal
memperumum dalam program MATLAB. Tahapan program dapat menyusun
pertanyaan berikut:
1. Bagaimana sembarang bilangan dapat ditulis dalam bentuk bulat +
angka di belakang koma?. (fungsi apa pada MATLAB yang
melakukan hal ini?). Beyond of my knowledge.
2. Jika No.1 sudah dilakukan maka mulailah crossover

Contoh 5.8:

11.111112 diganti 11.000002 sehingga keturunan yang baru adalah

11.000002 = 310

Hal ini dilakukan sesuai dengan probabilitas yang ditetapkan (yaitu pc ).


Berikut ini program yang dibuat.

Program A: decpecahan2bin.m
Tujuan: merubah bilangan basis 10 menjadi basis binair
Catatan:
a : adalah bilangan basis 10 yang akan dibinairkan
n : banyaknya digit untuk menulis binair
vi: output vektor untuk mencatat binair dari bagian bilangan yang bulat
vr:output vektor untuk mencatat binair dari bagian bilangan yang di belakang
koma
function [vi,vr]=decpecahan2bin(a,n)
ai=floor(a);
vi=dec2binvec(ai);
s=a-ai;
vr=zeros(1, n);
128 | Metode Modern dalam Optimasi
for i=1:n
s=s*2;
vr(i)=floor(s);
b=s-vr(i);
s=b;
end
Program B: bin2decpecahan.m

Tujuan: mengubah binair menjadi pecahan

function a=bin2decpecahan(v)
j=[1:length(v)]*(-1);
y=2.^j;
a=v*y';

Contoh: penggunaan program A dan B adalah


a=3.9472
n=10;
[vi,vr]=decpecahan2bin(a,n);

Keluaran :
vr
vr =
1 1 1 1 0 0 1 0 0 1
>>av=bin2decpecahan(vr);
>> av
av =
0.9463

Crossover program (dan Mutasi)


Langkah berikutnya pada digit ke-n pada bilangan binair maka 0 diganti 1
dan 1 diganti 0. Selanjutnya ditulis dalam desimal. Untuk menggantikan 0
menjadi 1 dan sebaliknya mulai digit ke-n maka diberikan program overku.m
function w=overku(v,n)
w=v;
w(n:end)=~v(n:end);

OPTIMASI TAKLINEAR |129


Contoh 5.9
Nama program: kasus1.m
a=3.9472
n=10;
[vi,vr]=decpecahan2bin(a,n);
av=bin2decpecahan(vr);
m=4;
w=overku(vr,m); %disini
aw=bin2decpecahan(w);
axover=aw+binvec2dec(vi)
Keluaran:
a=
3.9472
axover =
3.9277
Langkah lebih lanjut: Kita akan melakukan proses di atas untuk
pasangan titik ( ( x1, i , x2 , i ) yang diperoleh dari proses reproduksi. Pada kasus
yang kita bahas berarti kita mengcrossover keluaran Daftarb (dari Tahap 8
proses reproduksi).
Kita perlu menggabungkan program di atas untuk lebih ‘padat’ yang
ditunjukkan pada program berikut.
Tahap I. Nama program: reprof.m
function reprox=reprof(npopulasi,a,b)
%npopulasi: banyaknya populasi
%a :batas bawah nilai populasi
%b :batas atas nilai populasi
%awal x
n=npopulasi;
x1random = a + (b-a).*rand(n,1);
x2random = a + (b-a).*rand(n,1);
xv=[x1random x2random];
for i=1:n
x=[x1random(i) x2random(i)] ;
phi(i)=fungsiku(x);
end

130 | Metode Modern dalam Optimasi


F=1./(1+phi)
%persamaan 13.11
probf=phi./sum(phi)

%persamaan 13.12, aturan putaran roda


Fbar=sum(phi)/n
%Pemilihan string hal 699analog dengan koloni semut
%bangkitkan bilangan random lebih dari n in mating pool
m=12;
prob2=rand(m,1);

%kumulatif prob
s=0;
for i=1:n
kump(i)=s+probf(i);
s=kump(i);
end
rangeprob1=kump-probf(1);
rangeprob2=kump;
range_p=[rangeprob1' rangeprob2'];
%Contoh Table 13.1
Daftar=[[1:n]' phi' abs(probf)' kump' rangeprob1' rangeprob2'];

%Pemilihan string hal 699analog dengan koloni semut


%bangkitkan bilangan random lebih dari n in mating pool
m=12;
prob2=rand(m,1);
range_p=[rangeprob1' rangeprob2'];
%bagian ini bisa diperpendek
for i=1:m
for j=1:n
if (prob2(i)>range_p(j,1) && prob2(i)<range_p(j,2))
indexku=j;
end
end
vindeks(i)=indexku;
end
Indeks=vindeks;
nbaru=length(Indeks);
%mengcopy string sesuai index terpilih %halaman 699
for i=1:nbaru
s1=Indeks(i);
xbaru1(i)=x1random(s1);

OPTIMASI TAKLINEAR |131


xbaru2(i)=x2random(s1);
end
Daftarb=[Indeks' xbaru1' xbaru2'];
reprox=[xbaru1' xbaru2'];

Tahap II. Menggunakan hasil reproduksi yang dicrossover


Nama program : Utama2.m
npopulasi=10;
a=0;b=5;
reprox=reprof(npopulasi,a,b)

n=20; %banyaknya digit untuk menulis binair untuk desimal

for i=1:length(reprox)
bilanganyangdimainkan1=reprox(i,1);
[vi,vr]=decpecahan2bin(bilanganyangdimainkan1,n);
m=4;
w=overku(vr,m); %disini
aw=bin2decpecahan(w);
axover1(i)=aw+binvec2dec(vi)
bilanganyangdimainkan2=reprox(i,2);
[vi,vr]=decpecahan2bin(bilanganyangdimainkan2,n);
m=4;
w=overku(vr,m); %disini
aw=bin2decpecahan(w);
axover2(i)=aw+binvec2dec(vi)
end

Populasicrossover=[axover1' axover2']
Bandingawaldenganbaru=[reprox Populasicrossover]

Contoh keluaran :
Data x1 Data x2
Data x1 Data x2 yang mengalami
yang mengalami
yang terseleksi yang terseleksi crossover
crossover
4.5669 2.4269 4.5581 2.4481
4.0736 0.7881 4.0514 0.8369
0.6349 4.7858 0.7401 4.8392
4.8244 4.7975 4.8006 4.8275
4.7875 3.9610 4.8375 3.9140
4.5669 2.4269 4.5581 2.4481

132 | Metode Modern dalam Optimasi


4.8244 4.7975 4.8006 4.8275
4.0736 0.7881 4.0514 0.8369
0.4877 0.7094 0.3873 0.6656
3.1618 4.0014 3.2132 4.1236
4.7875 3.9610 4.8375 3.9140
4.8244 4.7975 4.8006 4.8275

Latihan soal 5.2


1. Tulislah bilangan dalam binair (secara manual dan gunakan program
tunjukkan hasil yang sama:
(a) 1.745 + 25.25
(b) 456.5656 - 7.335
(c) 325.86 x 241.73
(d) 478.32/35.2323

Cara pelaporan :

Cara 1 :
(a) 1.745 + 25.25 =........
Dalam binair = .......
Cara 2:
Binair 1.745 adalah ............2 dengan m= ..............digit
25.2510  .........................2 dengan m= ..............digit Sehingga= ............2 +
............2 = ............2 = ............10
Analisa hasil :...................................

Catatan: lakukan dengan cara yang sama untuk soal (b)-(d).

Jika kita perhatikan maka yang telah dilakukan sebagai berikut:


1. Dari penyusunan acak populasi (sebagai parent, dari kolom 1 dan kolom 2
dari Tabel 5.1) maka melalui 1 kali proses crossover/mutasi diperoleh
populasi baru (kolom 3 dan kolom ke-4 dari Tabel 5.1).
2. Crossover/mutasi masih belum menggunakanproba-bilitas yang ditetapkan.
Semuanya mengalami penggantian digit mulai dari posisi yag ditetapkan.
3. Kita belum selesai pada masalah keperluan untuk optimasi.

OPTIMASI TAKLINEAR |133


Menurut litetatur, string yang mempunyai nilai fitness tertinggi akan
mempunyai probabilitas tertinggi dalam pengkopian nilai-nilai x (dalam
mating pool). Oleh karena itu kita perlu memperbaiki program.
Catatan:
Untuk program Utama3.m (tidak disediakan di sini) kadang-kadang bermasalah
karena karena indeks tidak diperoleh pada proses reproduksi pada reprof3.m
Jadi program utama perlu dipanggil beberapa kali.
Dari pengalaman dengan algoritma koloni semut, maka kita tidak perlu
melakukan rekursif (menyusun reproduksi dan crossover/mutasi secara
berulang). Kita akan coba apakah fungsi fitness jelas sudah maksimum agar
fungsi tujuan minimum telah tercapai.
Untuk itu kita perlu mempelajari kasus yang dapat diperoleh solusinya secara
analitik dan bandingkan dengan hasil algoritma genetika.

Latihan Soal 5.3

Kasus mencari volume maksimum kotak yang dapat memuat suatu bola
berjari-jari 1 menjadi suatu masalah optimasi tak berkendala

 
maksimalkan f ( x1 , x 2 )  8 x1 x 2 1  x12  x 22 
2 1/ 2
..

Secara analitik telah ditunjukkan bahwa pemaksimal adalah x1*  1 / 3 ,


8
x 2*  1 / 3 dengan f max  .
3 3

Dapatkan pemaksimal dengan:

(a) Gunakan fmincon/fungsi optimasi pada MATLAB


(b) Kerjakan untuk kasus yang sama menggunakan Simulasi anneling
(c) Kerjakan untuk kasus yang sama menggunakan algoritma Koloni semut.

134 | Metode Modern dalam Optimasi


Proyek Bab 5.
Bagian B proyek 2.1 pada Bab II ditunjukkan Tabel tentang hasil panen padi
di kota Surakarta berdasarkan data BPS Surakarta untuk mencari periode
tanam optimal (maksimal) pernah dilakukan menggunakan pemrograman
kuadratik. Ada tiga periode tanam dalam satu tahun yaitu periode I (Januari-
April), periode II (Mei-Agustus), dan periode III (September-Desember).
Kajian didasarkan pada data hasil panen padi tahun 1992-2012 yang didekati
dengan fungsi kuadratik (Dewi,dkk,2003(a)).
Terdapat 3 fungsi tujuan yang diperoleh dari data tiap periode di
atas. Pendekatan yang dilakukan juga menggunakan ACO (Dewi, dkk,
2003(b)) di mana fungsi tujuan yang diselesaikan adalah fungsi Lagrange
dengan kendala yaitu ≤ dan ≤ dimana fungsi Langrange
berbentuk
⃑, ⃑ = 0.8362 − 0.0282 − 0.4457 − 0.681 + 0.4676
+ 0.8401 +
( − 1) + ( − )− − (5.18)

⃑, ⃑ = −0.2253 − 3.1680 + 4.6619 − 2.9688 + 2.5897


+ 0.3584 +
( − 1) + ( − )− − ; (5.19)
⃑, ⃑ = 1.1955 + 0.7538 − 0.1339 − 1.6698 − 0.6658
− 1.3404 +
( − 1) + ( − ) − − . (5.20)

Masing-masing fungsi tujuan diselesaikan berdasarkan algoritma


ACO, (Dewi, dkk, 2003(b)) dan diperoleh penyelesaian seperti pada Tabel 5.2.

OPTIMASI TAKLINEAR |135


Tabel 5.2. Penyelesaian optimal berdasarkan ACO untuk
ketiga periode tanam

Periode I Periode II Periode III


*
x 0.7434 0.7160 0.8087
*
y 0.6759 0.6662 0.5663
*
S 0.453 0.4396 0.5262
0.62 0.0770 0.3434
0.4832 0.9032 0.6415
0.1436 0.2022 0.8831
0.1831 0.0134 0.2934

Tabel 5.3. Kondisi KKT untuk setiap periode tanam

Periode I Periode II Periode III


Kondisi I Terpenuhi Terpenuhi Terpenuhi
Kondisi II -0.1591 -0.0219 -0.0657
-0.0326 -0.045 -0.1555
-0.1068 -0.1448 -0.7142
-0.1225 -0.0089 -0.1662
Kondisi III 0.3845 -1.3547 -0.5233
0.6007 1.5464 -1.1220
-0.4157 -0.4088 -0.2920
-0.1001 -0.0536 -0.3256
-0.8502 -1.3627 -1.3275
-0.7984 -0.8009 -1.0664

Kondisi KKT pada Tabel 5.3 tidak terpenuhi sehingga ⃑ ∗ bukan


merupakan pemaksimal dan parameter ⃗∗ tidak optimal. Selain itu dengan
mencari niai eigen dari matriks Hessian fungsi Lagrange. Diperoleh nilai
eigen untuk setiap periode tanam yaitu:
 Periode I: [-1.47; -1.01; 0; 0; 1.14; 2.95]
 Periode II: [-9.24; -0.65; 0; 0; 0.29; 2.81]
 Periode III: [-0.98; -0.48; 0; 0; 2.27; 4.61]
Dari ketiga periode tanam di atas nilai eigen untuk masing-masing periode
tanam tidak ada yang bersifat negative semi definite, sehingga ⃑ ∗ bukan
merupakan pemaksimal.
136 | Metode Modern dalam Optimasi
Cara selanjutnya yaitu menguji pertidasamaan convex dapat disimpulkan
bahwa untuk setiap periode tidak terlihat secara signifikan bersifat convex
atau concave.
0.86 0.5 -1.34
ruas kiri ruas kiri ruas kiri
0.85 ruas kanan ruas kanan -1.36 ruas kanan

0.84 -1.38

0.45
0.83 -1.4

0.82 -1.42

0.81 -1.44
0.4

0.8 -1.46

0.79 -1.48

0.78 0.35 -1.5


1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

Periode I Periode II Periode III


Gambar 5.5. Fungsi tujuan convex atau concave;
Ket: *: ruas kiri o: ruas kanan (Dewi,dkk,2013(a))

Hasil dengan ACO maupun menurut pemrograman Kuadratik ditunjukkan


pada Tabel 5.4

Tabel 5.4. Penyelesaian optimal untuk ketiga periode tanam dalam bentuk data
berdimensi (Dewi,dkk,2013(b))

Metode yang Periode Periode Periode


digunakan I II III

Pemrograman
Luas Tanam 132.9505 54.6966 120.4908
Kuadratik
Akhir (ha) ACO 118.944 109.55 142.33
Pemrograman
Luas Panen 120.4864 105.2448 76.1586
Kuadratik
(ha)
ACO 98 103.9 63.99
Pemrograman
Hasil gabah 61.7237 55.8306 60.4087
Kuadratik
(ton)
ACO 29.18 34.31 43.8

Dapat dijelaskan dari Tabel 5.4 bahwa periode tanam yang optimal
adalah periode III, dimana hasil gabah yang didapat dalam satu hektar sawah
adalah 43.8 ton. Pada penelitian yang pernah dilakukan menggunakan
pemrograman kuadratik periode optimal adalah periode III. Secara informal

OPTIMASI TAKLINEAR |137


(dari data) periode III merupakan periode yang maksimal hampir di setiap

tahunnya. Pada dasarnya ACO tidak baik karena L  0 tidak terpenuhi.

Daftar Pustaka

Dewi, V.P, Parhusip,H,A, Linawati, L., 2003(a) Analisa Hasil Panen Padi
menggunakan Pemodelan Kuadratik, prosiding (dalam proses)
Seminar Nasional Matematika UNNES 26 Oktober 2013.

Dewi, V.P, Parhusip,H,A, Linawati, L., 2003(b). Optimasi Hasil Panen Padi
menggunakan Singular Value Decomposition (SVD) dan Ant
Colony Algorithm (ACO), dipresentasikan pada prosiding (dalam
proses) Seminar Nasional Matematika UNS, 20 Nopember 2013.

Kirkpatrick, S , Gelatt, C.D., Vecchi, M.P. 1983. Optimization by Simulated


Annealing. Science, vol 220, No. 4598, pp671-680.

Rao, S.S, 2009. Engineering Optimization, Theory and Practice, John Wiley
& Sons, Inc., Hoboken, New Jersey.

i
Defleksi (deflection) : Istilah yang digunakan untuk menjelaskan derajat struktur elemen pada material
berubah karena adanya beban yang dikenakan

138 | Metode Modern dalam Optimasi


Bab 6
KEGIATAN PENELITIAN BERDASARKAN
HASIL-HASIL OPTIMASI DARI PENELITIAN

M
ahasiswa matematika khususnya dan pengguna matematika pada
umumnya tidak dapat memberikan penjelasan analisa yang baik
dalam menyelesaikan masalah optimasi jika menggunakan
software (MATLAB misalnya). Untuk itulah pada Bab ini diberikan bentuk-
bentuk kegiatan penelitian berdasarkan data hasil penelitian dan cara
pelaporan dalam pengolahan data. Oleh karena itu, Bab ini lebih merupakan
panduan kegiatan penelitian dan lembar kerjanya.

KEGIATAN PENELITIAN A
Tujuan : menyatakan data subsidi kedelai sebagai fungsi kuadratik tenaga
kerja dan pengusaha.

Latar Belakang

Diberikan Tabel 6.1-6.4 sebagai data subsidi kedelai, tenaga kerja dan
pengusaha dari 4 kecamatan di Salatiga (Data dari DISPERINDAG, Salatiga
2008). Dianggap subsidi (S) sebagai fungsi kuadratik tenaga kerja (x) dan
pengusaha (y) yang berbentuk :
S  f ( x, y )   1 x 2   2 y 2   3 xy   4 x   5 y   6 .(6.1)

Tugas Penelitian A.1: perlu dicari  j yang tepat. Hal ini dapat dilakukan

dengan metode kuadrat terkecil. Perhatikan pada Bab I optimasi dilakukan


setelah parameter pada fungsi tujuan diketahui. Akan tetapi jika optimasi
dimulai dari data maka kita perlu menyusun fungsi tujuan terlebih dahulu
yang dipilih dengan parameter perlu dicari berdasarkan data. Setelah  j

OPTIMASI TAKLINEAR | 139



 T

diketahui kita dapat mencari x * = x * , y * (peminimum f). Sedangkan hal ini
belum dapat dilakukan.

Tabel 6.1. Kebutuhan Kedelai pada Kecamatan Sidorejo (Berdimensi)

Tenaga Kerja Pengusaha Subsidi


Kelurahan
(orang) (orang) (ton)
Salatiga 128 47 79693
Sidorejo-lor 74 25 50700
Kauman – Kidul 25 12 23500
Bugel 49 33 50750
Blotongan 6 4 1800
Pulutan 22 7 10200
Sumber : DISPERINDAG, Salatiga, 2008

Tabel 6.2. Data Subsidi Kedelai untuk Kecamatan Tingkir (Berdimensi)

Tenaga Kerja Pengusaha Subsidi


Kelurahan
(orang) (orang) (ton)
Kutowinangun 23 7 20000
Tingkir Tengah 26 12 21100
Tingkir Lor 28 11 23950
Kalibening 6 4 1410
Sidorejo kidul 10 9 4100
Gendongan 5 4 2300

Sumber :DISPERINDAG, Salatiga, 2008

Tabel 6.3. Data subsidi kedelai untuk Kecamatan Argomulyo (Berdimensi)

Tenaga Kerja Pengusaha Subsidi


Kelurahan
(orang) (orang) (ton)
Kumpulrejo 13 7 1600
Cebongan 6 4 6000
Ledok 14 6 3150
Noborejo 4 2 900
Randuacir 7 4 3800
Tegalrejo 0 0 0
Sumber: DISPERINDAG, Salatiga, 2008

140 | Kegiatan Penelitian


Tabel 6.4. Data subsidi kedelai untuk Kecamatan Sidomukti (berdimensi)

Tenaga kerja Pengusaha Subsidi


Kelurahan
(orang) (orang) (ton)
Dukuh 7 2 3800
Mangunsari 1 1 750
Kecandran 16 7 21000
Kalicacing 7 2 5000
Sumber : DISPERINDAG , Salatiga 2008.

Langkah 1. Nyatakan data dalam bentuk tak berdimensi dengan cara


membagi tiap kolom dengan maksimumnya.

Untuk mempermudah komputasi maka data pada tiap Tabel 6.1-6.4


yang mempunyai satuan maka terlebih dahulu dinyatakan dalam bentuk tidak
berdimensi. Hal ini dilakukan dengan cara diperkenalkan variabel baru yang
tidak memuat dimensi yaitu menskala variabel mula-mula terhadap nilai
maksimum masing-masing variabel, dengan definisi sebagai berikut:

Jika x := tenaga kerja y := unit usaha; S := subsidi maka standarisasi


dilakukan sehingga variabel tak berdimensi pada skala (0,1] yaitu

x y S
xˆ  ; yˆ  ; Sˆ  . (6.2)
max x max y max S

Sehingga dengan menggunakan persamaan (6.2) pada data tiap Tabel,


diperoleh data tidak berdimensi.

PROGRAM MATLAB

Langkah 1.Catat program tersebut dan simpan pada Sidorejo.m

clear all;close all;


%Cari alpha beta dengan meyusun matriks Ax=b dan x=[alpa beta]
%dengan metode kuadrat terkecil disusun A dan b
DatadimxyS=[128 47 79693
74 25 50700
25 12 23500

OPTIMASI TAKLINEAR | 141


49 33 50750
64 1800
22 7 10200];
%dibuat tak berdimensi
[m, n]=size(DatadimxyS);
T=DatadimxyS(:,1)/max(DatadimxyS(:,1));
P=DatadimxyS(:,2)/max(DatadimxyS(:,2));;
S=DatadimxyS(:,3)/max(DatadimxyS(:,3));;
Datatakberdim=[T P S]

Langkah 2. Lihatlah keluaran dengan memanggil file tersebut yaitu


>> Sidorejo (ENTER)
Datatakberdim =
1.0000 1.0000 1.0000
0.5781 0.5319 0.6362
0.1953 0.2553 0.2949
0.3828 0.7021 0.6368
0.0469 0.0851 0.0226
0.1719 0.1489 0.1280

Langkah 3. Mencari  j dengan metode kuadrat terkecil

Dengan menyusun

Minimumkan

R=  S i ,data  S i , pendeka tan 


2
(6. 3)

Atau minimalkan

  .
2


n
R   S i   x   2 y   3 xi y i   4 xi   5 y i   6
2
1 i
2
i
i 1


Hal ini dapat dilakukan dengan memenuhi kondisi R  0 .

Menurut kalkulus peubah banyak, maka perlu disyaratkan derivatif


parsial masing-masing ada dan kontinu dan memenuhi

142 | Kegiatan Penelitian


R R R R R R R
 0;  0;  0;  0;  0;  0 Untuk  0 maka
 1  2  3  4  51  6 1

   x   0 .
2


n
2 S i   1 xi2   2 yi2   3 xi yi   4 xi   5 yi   6 2
i
i 1

Jika hal ini dilakukan untuk setiap  j diperoleh bahwa meminimalkan

R berarti menyelesaikan AV a  W dengan

(6.a)
Matriks ini diperoleh dari metode kuadrat terkecil dimana terdapat asumsi
bahwa data ( S i , xi , y i ) memenuhi

f ( x , y ) =  1 x 2   2 y 2   3 xy   4 x   5 y   6 (6.b)
Pada kasus ini, kita harus meminimalkan error untuk menentukan
parameter pada persamaan (6.b) masalah pada persamaan kuadrat terkecil
menggunakan syarat dengan melihat pada sistem persamaan linear
 
Av a  w (6.c)

Dengan A pada persamaan (6.a) dan v a adalah vektor parameter yaitu

va   1  2  3  4  5  6 
T
(6.d)

w=  x S  y S  x y S  x S  y S  S 
2
i i
2
i i i i i i i i i i
T
(6.e)

Akan dicari parameter yang memenuhi

Av  W dengan v  A 1 * W

Agar data tidak terlalu besar sehingga dapat membuat A singular,


maka data distandarisasi yaitu dengan membagi data masing-masing kolom
dengan maksimumnya

OPTIMASI TAKLINEAR | 143


xi yi S
xˆ i  ; yˆ i  ; Sˆ i  . (6.f)
max xi max y i max S i
1i  n 1i  n 1i  n

Dengan program MATLAB sbb :

Lanjutkan program tadi sebagai berikut untuk mencari  j

x=T;
y=P;
a11=sum(x.^4);a12=sum(x.^2.*y.^2);a13=sum(x.^3.*y)
;a14=sum(x.^3);
a15=sum(x.^2.*y);a16=sum(x.^2);
a21=sum(x.^2.*y.^2);a22=sum(y.^4);a23=sum(x.*y.^3);a24=sum(x.*y.^2);
a25=sum(y.^3);a26=sum(y.^2);
a31=a13;a32=a23;a33=a21;a34=a15;
a35=a24;a36=sum(x.*y);
a41=a14;a42=a24;a43=a34;a44=a16;
a45=a36;a46=sum(x);
a51=a15;a52=sum(y.^3);a53=a35;a54=a45;
a55=a26;a56=sum(y);
a61=a16;a62=a26;a63=a36;a64=a46;
a65=a56;a66=n;
A=[a11 a12 a13 a14 a15 a16;
a21 a22 a23 a24 a25 a26;
a31 a32 a33 a34 a35 a36;
a41 a42 a43 a44 a45 a46;
a51 a52 a53 a54 a55 a56;
a61 a62 a63 a64 a65 a66];
vb=[sum(S.*x.^2); sum(S.*y.^2);sum(S.*x.*y);sum(S.*x);sum(S.*y);sum(S)];
alpa=pinv(A)*vb;
Subsidiku = alpa(1)*x.^2+ alpa(6.)*y.^2+alpa(3)*x.*y + alpa(4)*x + alpa(5)*y +
alpa(6);
error=norm(Subsidiku- S)/norm(S)*1100
%Subsidiku : pendekatan subsidi
bandingkansubsidi=[S Subsidiku]
Keluaran bagian perintah tersebut adalah:
error =
7.9785
bandingkansubsidi =
1.0000 1.0066
0.6362 0.6153

144 | Kegiatan Penelitian


0.2949 0.2495
0.6368 0.6374
0.0226 0.0999
0.1280 0.1886

Tugas Penelitian A.2: Nyatakan Tabel 6.1-6.4 dengan subsidi sebagai fungsi
tenaga kerja dan pengusaha seperti di atas.
Cara Pelaporan sebagai berikut.

Fungsi yang diperoleh dengan :


S  f ( x, y )   1 x 2   2 y 2   3 xy   4 x   5 y   6
= ……………………………………………….

dengan error …………..%.

Jika error > 20%, jelaskan mengapa hal tersebut terjadi ?

Tugas Penelitian A.3:

Kerjakan dengan cara yang sama jika data subsidi yang tak berdimensi
dianggap berbentuk
S  f ( x, y )   1 x 2   2 y 2   3 xy   4 .

Buatlah hasil observasi anda dalam bentuk pelaporan sebagaimana


sebelum ini, dan tuliskan beberapa informasi berikut:
A. Nama data yang dianalisa:
B. Untuk mendapatkan R minimum berarti:
C. Sistem persamaan linear yang harus diselesaikan adalah
D. Fungsi yang diperoleh dengan
S  f ( x, y )   1 x 2   2 y 2   3 xy   4 =……
dengan error …………..%.

Jika error > 20%, jelaskan mengapa hal tersebut terjadi ?

OPTIMASI TAKLINEAR | 145


Perhatikan bahwa anda selalu memperoleh sistem persamaan linear. Berikut
ini anda akan memperoleh sistem persamaan nonlinear dalam mencari
parameter.

Tugas Penelitian A.4 :

Setelah data dalam bentuk tak berdimensi, anggaplah bahwa Subsidi


merupakan fungsi tenaga kerja dan pengusaha dalam bentuk:

S  y  x1  .
(1). Carilah nilai  dan  yan g meminimalkan error sebagaimana prosedur
yang dituliskan di atas dengan cara memberikan informasi berikut ini :
R = ............. Min R = ...........Artinya: ...............................
Diperoleh sistem persamaan (nonlinear yaitu) ................................

(6.). Cara menyelesaikan sistem persamaan tersebut sebagai berikut:


..............................

KEGIATAN PENELITIAN B

Kegiatan Penelitian B.1

Tujuan : menyelidiki sifat peminimum dan pemaksimum lokal/global dari


visualisasi grafik dengan MAPLE.

Kasus 1. f ( x )  x 2  2 x

Dengan MAPLE digambar sebagai berikut

> plot(x^2+2*x, x=-5..3);

146 | Kegiatan Penelitian


Gambar 6.1. Fungsi f ( x )  x 2  2 x

Dapat diselidiki dengan kalkulus, yaitu dengan mencari f’(x)=0 diperoleh


x*=-1 sebagai peminimum. Jelas bahwa x*=-1 merupakan peminimum
global. Dapat diuji dengan mempelajari pula f”(x) untuk semua x real
diperoleh f”(x)> 0 untuk semua x. Jadi x*=-1 merupakan peminimum global.

f ( x)  x 2 e (  x
2
)
Kasus 2.

Gambar dengan MAPLE sebagai berikut

> plot(x^2*exp(-x^2), x=-2..2);

2 ( x
Gambar 6.2 Grafik f ( x)  x e
2
)

OPTIMASI TAKLINEAR | 147


Gambar tersebut masih belum menjelaskan untuk x yang lain sehingga
seringkali mahasiswa menggambar dengan cara yang salah sebagaimana
ditunjukkan pada Gambar 6.3. Seharusnya perlu dipahami bahwa fungsi
tersebut tidak pernah 0 ataupun negatif. Fungsi selalu positif sehingga perlu
digambar seperti Gambar 6.4 (pemahaman fungsi dan manual).

Gambar 6.3 Gambar yang salah untuk Gambar 6.4 Gambar yang benar
2 ( x2 ) 2 ( x
f ( x)  x e untuk f ( x)  x e
2
)

Dari analisis f ’(x)=0 maka diperoleh x*=0, x*=1, x*=-1 adalah titik-
titik kritis. Pada x*=0 maka f ”(x*) >0, maka x* menjadi peminimum lokal.
Tetapi jelas bahwa f ”(x) >0 maka x* peminimum global.
Pada x*=-1 dan x*=1 maka f ' ' ( x* )  4e 1  0 . Demikian pula f ' ' ( x) < 0
untuk semua x <-1 atau x>-1.

Tugas Penelitian B.3

1. Gambarkan fungsi 2 variabel dengan MAPLE yaitu :


a. f ( x, y )  3 x 2  xy  2 y 2
b. f ( x, y )  x 3  y 3  3 x  12 y  20
c. f ( x, y )  x 4  y 4  x 2  y 2  1
d. f ( x, y )  x 2  4 x  2 y 2  7
f ( x, y)  e  ( x  y2 )
2
e.
1 3
f. f ( x, y )  x 2  2 xy  y  4y
3
g. f ( x, y )  x 4  16 xy  y 8

148 | Kegiatan Penelitian


2. Selidiki ada tidaknya peminimum/pemaksimum dengan mendaftar
kesimpulan anda pada Tabel berikut.

3. Bagaimana cara mendapatkan sifat x*  ( x*, y*) peminimum/pemak-
simum ?

4. Bagaimana cara mengetahui sifat x*  ( x*, y*) peminimum/ pemaksi-
mum lokal/global?.

Contoh jawaban:

Misalkan f ( x, y )  3 x 2  xy  2 y 2

Gambar dengan MAPLE sebagai berikut.

> plot3d(3*x^2-x*y+2*y^2,x=-1..1, y=-1..1);

Gambar 6.5 f ( x, y )  3 x 2  xy  2 y 2

Hasil pengamatan dituliskan pada Tabel berikut.

Peminimum Pemaksimum
Keterangan
No Fungsi A:ada, A:ada,
lokal/global
T:tidak ada T : tidak ada
3x^2-xy+2y^2 A T Peminimum
X*=(0,0) global

OPTIMASI TAKLINEAR | 149


KEGIATAN PENELITIAN C

Tujuan: menentukan ada tidaknya peminimum; jika ada, tentukan


peminimum dan nilai minimum fungsi

Dianggap pada hasil Kegiatan Penelitian sebelum ini bahwa nilai


subsidi telah dinyatakan sebagai fungsi tenaga kerja (x) dan pengusaha(y).

Data: sumber data adalah subsidi kedelai untuk seluruh kota Salatiga tanpa
memandang dari kecamatan apa saja (jadi data tiap kecamatan
digabung sebagaimana ditunjukkan pada Tabel 6.5

Tabel 6.5. Subsidi kedelai (ton) pada pengusaha tempe Salatiga

Tenaga kerja Pengusaha Subsidi kedelai


(orang) (orang) (ton)
128 47 79693
74 25 50700
25 12 23500
49 33 50750
6 4 1800
22 7 10200
23 7 20000
26 12 21100
28 11 23950
6 4 1410
10 9 4100
5 4 2300
16 7 21000
7 2 5000
13 7 1600
6 4 6000
14 6 3150
4 2 900
7 4 3800

Sumber :DISPERINDAG Salatiga 2008

150 | Kegiatan Penelitian


Kita akan menggunakan subsidi (S) sebagai fungsi tenaga kerja dan
pengusaha dalam bentuk

S  f ( x, y )   1 x 2   2 y 2   3 xy   4 . (*)

Dengan kuadrat terkecil maka kita dapat mencari  j dengan cara


meminimalkan:

  .
2


n
R   S i   x   2 y   3 xi y i   4
2
1 i
2
i
i 1

Artinya perlu dipenuhi kondisi R  0 atau
R R R R
 0;  0;  0;  0.
 1  2  3  4

Jika diselesaikan maka kita perlu menyelesaikan sistem persamaan linear


AV= W dengan

 n 4 n n n

  xi x x x
2
i y i2 3
i yi 2
i 
 ni 1 i 1
n
i 1
n
i 1
n 
 x2 y2 y i2  ;
 i i y x 
4 3
yi
i i

A   i n1 n
i 1 i 1
n n
i 1

  xi3 y i  xi y i
3
x 2
i y i2  xi y i 
 i 1 i 1 i 1 i 1 
 n 2 n n

  xi  yi2 x i yi n 
 i 1 i 1 i 1 
T
W =  xi2 S i 
n n n n

 i 1
 yi2 Si
i 1
 xi y i S i
i 1

i 1
Si  ;

V= 1  2  3  4 T .

PROGRAM MATLAB
Tahap 1. Tulis data Tabel 6.5 pada file seluruhsalatiga.dat
128 47 79693
74 25 50700
25 12 23500
49 33 50750
6 4 1800
22 7 10200
23 7 20000
26 12 21100

OPTIMASI TAKLINEAR | 151


28 11 23950
6 4 1410
10 9 4100
5 4 2300
7 2 3800
1 1 750
16 7 21000
7 2 5000
13 7 1600
6 4 6000
14 6 3150
4 2 900
7 4 3800

Tahap 2. Buatlah file untuk menghitung alfa misal diberi nama:


Salatigaalfa.mload 'seluruhsalatiga.dat'

[m, n]=size(seluruhsalatiga);
T=seluruhsalatiga(:,1); %tanpa dimensi
P=seluruhsalatiga(:,2);
Sub=seluruhsalatiga(:,3);
x=T./max(T);
y=P./max(P);
S=Sub./max(Sub);
a11=sum(x.^4);a12=sum(x.^2.*y.^2);a13=sum(x.^3.*y);a14=sum(x.^2);
a21=sum(x.^2.*y.^2);a22=sum(x.^4);a23=sum(x.*y.^3);a24=sum(y.^2);
a31=a13;a32=a23;a33=a21;a34=sum(x.*y);
a41=a14;a42=a24;a43=a34;a44=m;
A=[a11 a12 a13 a14;
a21 a22 a23 a24;
a31 a32 a33 a34;
a41 a42 a43 a44]
W=[sum(S.*x.^2); sum(S.*y.^2);sum(S.*x.*y);sum(S)]
V=inv(A)*W
Sku=V(1)*x.^2 + V(6.)*y.^2 + V(3)*x.*y + V(4);
figure(1)
plot(1:m,S,'*',1:m,Sku,'o')
error=norm(S-Sku)/norm(S)*100 % sudah dalam persen

152 | Kegiatan Penelitian


Tahap 3. Panggilah program
 Salatigaalfa (ENTER)
Diperoleh keluaran sbb
A=

1.1411 1.1771 1.1510 1.7320


1.1771 1.1411 1.2318 2.1449
1.1510 1.2318 1.1771 1.8703
1.7320 2.1449 1.8703 21.0000

W=

1.3603
1.5657
1.4282
4.2099
V=

-1.7738
-0.0264
2.8193
0.0984

error =

32.8838

Analisa: Diperoleh error fungsi 32.88%. Error ini dianggap cukup besar
sehingga V belum cukup baik untuk menyatakan data subsidi dalam bentuk
persamaan (*). Ilustrasi ditunjukkan pada Gambar 6.6. Akan dilakukan
analisa sebagai berikut :

Apakah penyebab error besar ? Perhatikan daftar berikut dan bahaslah:

a. Apakah data dianggap tidak baik didekati dengan fungsi tersebut ?.


b. Apakah peminimum fungsi Residu R dalam persamaan dalam metode
kuadrat terkecil memang ada ?

OPTIMASI TAKLINEAR | 153


Kita perlu mengetahui syarat peminimum R ada atau tidak. Perhatikan bahwa

masalah optimasi pada bagian ini adalah mencari  *   1  2  3  4  yang
T

  .
2


n
meminimalkan R   S i   x   2 y   3 xi y i   4
2
1 i
2
i
i 1

Perhatikan bahwa variabel pada R disini adalah  j (bukan x dan y

sebagaimana pada buku-buku optimasi).

Gambar 6.6 Ilustrasi subsidi data (*) dan pendekatan (o) dengan error 32.88%.

KEGIATAN PENELITIAN D

Tujuan : mencari titik kritis dan sifat titik kritis dengan bantuan MAPLE

Contoh 6.1 Misalkan kita akan mencari bentuk Hessian dari f(x,y) =
cos(x y)

> with(VectorCalculus):
> Hessian( cos(x*y), [x,y] );

Contoh 2. Fungsi yang dipelajari f  R 3 :


f ( x , y , z )  e x  e y  e z  2e  x  y  z .

154 | Kegiatan Penelitian


(i). Tunjukkan bahwa H ( x, y , z ) adalah positif tegas (positive definite) pada

semua titik R 3
(ii). Tunjukkan bahwa ((ln 2)/4, (ln 2)/4, ln(6.)/4) adalah peminimum global
(strict) untuk f(x,y,z) di R 3
Jawab : Kita akan mencari titik kritis dengan MAPLE
Tahap 1.
> fxyz :=exp(x) + exp(y) + exp(z) + 2*exp(-x-y-z);

> dfx :=diff(fxyz,x);

> dfy:=diff(fxyz,y);

> dfz:=diff(fxyz,z);

Jika dituliskan dalam vektor dapat ditulis sebagai


> DF:= Vector( 3, [dfx,dfy,dfz] );

Untuk mendapatkan titik kritis berarti menyelesaikan sistem persamaan yang


terdiri dari persamaan yang diperoleh dari diferensial pertama terhadap tiap
variabel di atas. Tulis dalam bentuk sistem persamaan sbb

Tahap 2.
> eqns := {dfx=0, dfy=0, dfz=0};

Selanjutnya diselesaikan
OPTIMASI TAKLINEAR | 155
Tahap 3.
> sols := solve( eqns );

Tahap 4. Untuk mencari bentuk Hessiannya sebagaimana pada Contoh 1.

> with(VectorCalculus):H:=Hessian(fxyz,[x,y,z]);

Untuk selanjutnya perlu dilakukan analisa seperti pada dasar teori untuk
menjawab pertanyaan (i) dan (ii).

Tugas Penelitian B.4

Contoh 6.3

Tentukan nilai x yang meminimumkan fungsi f  x    x1 x 2 x3 , dengan

kendala 0  x1  2 x 2  2 x3  72

Langkah 1. Tulis fungsi di atas di M – file dengan nama myfun.m, yaitu:


function f = myfun(x)

f = -x(1) * x(6.) * x(3);

Langkah 2. Karena kedua kendala adalah linear, maka dapat ditulis dalam
bentuk matriks Ax  b, dengan

  1  2  2
A ;
 1 2 2 

0
b   ;
72 

156 | Kegiatan Penelitian


x0 = [10; 10; 10]; % Starting guess at the solution
[x,fval] = fmincon(@myfun,x0,A,b)

Langkah 3. Pada langkah 2, simpan dengan nama penelitian6_9.m, lalu


panggil dengan nama penelitian6_9, sehingga diperoleh keluaran
sebagai berikut:
x=
24.0000
12.0000
12.0000
fval =
-3.4560e+03
and linear inequality constraints evaluate to be less than or equal to
0.
A*x-b=
-72
0

Berikan penjelasan sifat kritis pada lembar kerja (min/maks global)

KEGIATAN PENELITIAN E

Tujuan: Latihan menggunakan fungsi-fungsi optimasi pada MATLAB untuk


optimasi tanpa kendala dan berkendala.
Agar kita dapat menggunakan fungsi-fungsi pada MATLAB dengan baik,
maka berikut ini diberikan optimasi linear untuk pendahuluan. Adapun hasil
analitik tidak dibahas pada bagian ini.

Kegiatan Penelitian F.1 Optimasi Linear


Kasus 1. Minimumkan fungsi f x  150x1  175x2 , dengan kendala sebagai
berikut:

7 x1  11x 2  77
10 x1  8 x 2  80
x1  9, x 2  6
x1 , x 2  0.
OPTIMASI TAKLINEAR | 157
Akan diselesaikan dengan program Matlab, yaitu:

Langkah 1. Ubah fungsi tujuan dan kendala dalam bentuk matriks kolom,
yaitu:

 150  7 11
f   , lalu kendala pertidaksamaan yaitu: A   
  175 10 8 

77 
Kemudian ruas kanan untuk kendala pertidaksamaan yaitu: b   
80 

Karena tidak ada kendala persamaan, maka Aeq dan beq adalah nol, yaitu:
0 0  0 
Aeq    , dan beq  0 
0 0   

Lalu batas atas dan batas bawah diubah kebentuk matriks kolom, yaitu:
0  9
LB   , dan UB    .
0  6 

Langkah 2. Tuliskan hasil pada langkah 1di M – file dengan nama


linear1.m, yaitu:

options = optimset('LargeScale','off');

f= [ -150 ; -175];

A= [ 7 11;10 8];

b= [ 77 ; 80 ];

Aeq= [0 0 ;0 0];

beq= [0 ;0 ];

LB= [0 ; 0 ]; UB= [ 9 ; 6 ];

[x,val] = linprog(f,A,b,Aeq,beq,LB,UB,[],options)

158 | Kegiatan Penelitian


Langkah 3. Panggil dengan nama linear1, diperoleh keluaran sbb:

Optimization terminated.
x=
4.8889
3.8889
val = -1.4139e+003

Pembahasan hasil program: Hasil menunjukkan bahwa peminimum adalah


x*=[ 4.8889, 3.8889] dengan nilai minimum fungsi f(x*)=-1413.9.

Kegiatan Penelitian F.2: Optimasi Tanpa Kendala taklinear


Kasus 1. Diberikan fungsi f  x1 , x 2   (x1-2)4 +(x1-2x2)2, akan dicari nilai
minimum dengan metode gradien. Dengan menggunakan program
Matlab diperoleh sebagai berikut:

Langkah 1. Tulis fungsi di atas ke dalam M – file dengan nama, misalkan


penelitian6_1.m, yaitu:

f = '(x(1)-2)^4 +(x(1)-2*x(6.))^2';
gradf = '[4*(x(1)-2)^3 + 2*(x(1)-2*x(6.)),-4*(x(1)-2*x(6.))]';
options=optimset('gradobj','on','largescale','on','tolfun',1e-13);
x = fminunc({f,gradf},[0 0],options);
options = optimset;
options = optimset('gradobj','on','largescale','off',...
'derivativecheck','on');
gradf1='[6*(x(1)-2)^3 + 2*(x(1)-2*x(6.)),-4*(x(1)-2*x(6.))]';
x=fminunc({f,gradf1},[0 0],options);

Langkah 2. Lalu dipanggil dengan nama penelitian6_1, maka diperoleh


keluaran sbb:
Optimization terminated successfully:
Relative function value changing by less than OPTIONS.TolFun
Maximum discrepancy between derivatives = 16
Warning: Derivatives do not match within tolerance
Derivative from finite difference calculation:

OPTIMASI TAKLINEAR | 159


finite_diff_deriv =
-32.0000
0
User-supplied derivative, [6*(x(1)-2)^3 + 2*(x(1)-2*x(6.)),-4*(x(1)-2*x(6.))]:
analytic_deriv =
-48
0
Difference:
ans =
-16.0000
0
Strike any key to continue or Ctrl-C to abort

Pembahasan hasil program: hasil menunjukkan bahwa gradient f seharusnya


merupakan vektor [0 0] tetapi yang muncul adalah [-16 0].

Langkah 3: Ketiklah ‘x’ untuk mendapatkan nilai peminimum yaitu

>> x(ENTER)
x=
1.9743 0.9872
1.9744

Kasus 2. Diberikan fungsi dengan minimumkan:


f x1 , x 2   x12 - 4*x1 + 2*x22 + 7, tidak berkendala .
Akan diselesaikan dengan Matlab diperoleh sebagai berikut:

Langkah 1. Diambil nilai dugaan awal di M – file yang berbeda, misalkan


sebut penelitian6_2.m, yaitu :

fun = inline('x(1)^2 - 4*x(1) + 2*x(6.)^2 + 7');


x0 = [-1 1];
% Set optimization options:
% Turn off the large-scale algorithms (the default):
options = optimset('LargeScale','off');
%to start the optimization : example
[x, fval, exitflag, output] = fminunc(fun, x0, options)

160 | Kegiatan Penelitian


Langkah 2.Lalu dipanggil dengan nama penelitian6_2, maka diperoleh
keluaran sbb:
>> penelitian6_2
Optimization terminated successfully:
Search direction less than 2*options.TolX
x=
2.0000 -0.0000
fval =
3
exitflag =
1
output =
iterations: 3
funcCount: 15
stepsize: 0.4904
firstorderopt: 4.4409e-008
algorithm: 'medium-scale: Quasi-Newton line search'

Kasus 3. Minimumkan fungsi tak berkendala yaitu


 
f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1 .

Diselesaikan dengan Matlab, yaitu:

Langkah 1. Tulis fungsi di atas di M – file dengan nama objfun.m,


yaitu:function f = myfun (x)

f = ...............................

function f = objfun (x)


f=exp(x(1))*(4*x(1)^2+2*x(6.)^2+4*x(1)*x(6.)+2*x(6.)+1);

Langkah 2. Berikan nilai dugaan awal di M – file dengan nama


penelitian6_3.m, yaitu:
x0 = [-1,1];
options = optimset('LargeScale','off');
[x,fval,exitflag,output] = fminunc(@objfun,x0,options)

OPTIMASI TAKLINEAR | 161


Langkah 3. Panggil dengan nama penelitian6_3, diperoleh keluaran sbb:
>> penelitian6_3
Optimization terminated successfully:
Current search direction is a descent direction, and magnitude of
directional derivative in search direction less than 2*options.TolFun
x=
0.5000 -1.0000
fval =
1.3028e-010
exitflag =
1
output =
iterations: 7
funcCount: 40
stepsize: 1
firstorderopt: 8.1997e-004
algorithm: 'medium-scale: Quasi-Newton line search'

Kasus 5.

Minimumkan fungsi f  x   3 x12  2 x1 x 2  x 22 .

Jawaban:

Langkah 1. Tulis fungsi di atas di m– file dengan nama myfun.m,


yaitu:.......................

Langkah 2. Diberikan nilai dugaan awal, dan beri nama No1.m, yaitu:
x0 = [1,1];
[x,fval] = fminunc(@myfun,x0)

Langkah 3. Pada langkah 2 di atas, panggil dengan nama No1, sehingga


akan tampil keluaran sebagai berikut:

Pembahasan hasil program: peminimum adalah x*=............ dan


f(x*)=..................

162 | Kegiatan Penelitian


Kegiatan Penelitian F.4
Optimasi dengan kendala persamaan dan pertidaksamaan
Kasus 1. Minimumkan fungsi f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1 ,
dengan kendala sebagai berikut:

x12  x 2  1,
x1 x 2  10.

Langkah 1. Tulis fungsi di atas di M – file dengan nama objfun3.m, yaitu:

function f = objfun3 (x)

f = .................................

Langkah 2. Tulis kendala-kendala tersebut dalam M – file yang berbeda,


sebut confun3.m, yaitu:

function [c,ceq] = confun3(x)


% Nonlinear inequality constraint:
c = ............................
% Nonlinear equality constraints:
ceq = ...........................

Langkah 3. Berikan nilai dugaan awal di M – file dengan nama No2.m,


yaitu:
x0 = [-1,1];
options = optimset('LargeScale','off');
[x,fval,exitflag,output]=
fmincon(@objfun,x0,[],[],[],[],[],[],@confun3,options);
Langkah 4. Panggil dengan nama No2,sehingga diperoleh keluaran sbb:
> No2
No3.

Minimumkan fungsi yang takberkendala


 
f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1

OPTIMASI TAKLINEAR | 163


Akan diselesaikan dengan program Matlab, yaitu:

Langkah 1. Tulis fungsi di atas di M – file dengan nama No3.m, dan berikan
nilai dugaan

fun = inline(‘..................................................');

x0 = [-1,1];

options = optimset('LargeScale','off');

options = optimset(options,'TolX',1e-8);

options = optimset(options,'TolFun',1e-8);

[x, fval, exitflag, output] = fminunc(fun, x0, options);

Langkah 2. Panggil dengan nama No3, diperoleh keluaran sbb:


>>No3

Pembahasan hasil program: Peminimum adalah ................ dengan nilai


minimum fungsi adalah ...........................

Kasus 2. Kasus yang diselesaikan dengan metode penalty

Minimumkan x 1.5 y 0.5 dengan kendala: x, y  1


2 2

Kasus 3. Tentukan minimum dari fungsi berikut (optimasi tanpa kendala)


f ( X )  500  20 x1  26 x 2  4 x1 x 2  4 x12  3 x 22
Catatan : dengan metode lain (simulasi anneling, mendatang dipelajari,
diperoleh:
6.76
X  
8.60 

164 | Kegiatan Penelitian


KEGIATAN PENELITIAN G : OPTIMASI DENGAN KENDALA

Kita harus mengetahui bagaimana bentuk umum optimasi pada MATLAB.


Jika kita menghendaki fungsi fmincon.m maka bentuk umum masalah yang
kita punyai harus ditulis dalam bentuk umum MATLAB terlebih dahulu yaitu

min f T x sedemikian rupa memenuhi

 
c( x )  0,
 
ceq ( x )  0
 
A x  b
 
Aeq  x  beq

lb  x  ub.

Notasi kendala pertama untuk kendala pertidaksamaan. Notasi kedua untuk


kendala persamaan yang berbentuk taklinear sedangkan ketiga dan keempat
untuk kendala yang linear dan yang terakhir untuk kendala variabel (batas
bawah dan batas atas).

Kegiatan Penelitian G.1 Optimasi dengan kendala pertidaksamaan


Minimumkan fungsi f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1 , dengan kendala
sebagai berikut:

x1 x 2  x1  x 2  1.5,
x1 x 2  10.

Langkah 1. Tulis fungsi di atas di M – file dengan nama objfun2.m, yaitu:

function f = objfun2 (x)


f=exp(x(1))*(4*x(1)^2+2*x(6.)^2+4*x(1)*x(6.)+2*x(6.)+1);

Langkah 2. Tulis kendala-kendala tersebut dalam M – file yang berbeda,


sebut confun1.m, yaitu:
function [c,ceq] = confun1(x)

OPTIMASI TAKLINEAR | 165


c = [1.5 + x(1)*x(6.)-x(1)-x(6.);
-x(1)*x(6.)-10];
ceq = [];

Langkah 3. Berikan nilai dugaan awal di M – file dengan nama


penelitian6_4.m, yaitu:
x0 = [-1,1];
options = optimset('LargeScale','off');
[x,fval]=...
fmincon(@objfun2,x0,[],[],[],[],[],[],@confun1,options)

Langkah 4. Panggil dengan nama pak6_4 sehingga diperoleh keluaran sbb:


x = -9.5474 1.0474
fval = 0.0236

Untuk mengecek apakah hasil yang diperoleh sesuai kendala atau tidak,
digunakan perintah: [c,ceq] = confun1(x), sehingga keluarannya yaitu:
>> [c,ceq]=confun1(x)
c=
1.0e-007 *
-0.9032
0.9032
ceq = []

Misalkan kita menghendaki bahwa gradien f juga kita kerjakan secara manual
dan didefinisikan pada program hal ini ditunjukkan pada program berikut.

Kegiatan Penelitian G.2


Minimumkan fungsi f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1 , dengan
kendala sebagai berikut:
x1 x 2  x1  x 2  1.5,
x1 x 2  10.
akan diselesaikan dengan metode gradien, yaitu:

166 | Kegiatan Penelitian


Langkah 1. Tulis fungsi di atas di M – file dengan nama objfungrad.m,
yaitu:
function f = objfungrad (x)
f=exp(x(1))*(4*x(1)^2+2*x(6.)^2+4*x(1)*x(6.)+2*x(6.)+1);
% Gradien fungsi tujuan
if nargout > 1
G = [ f + exp(x(1))*(8*x(1) + 4*x(6.)),
exp(x(1))*(4*(x(1) + 4*(x(6.) + 2 ) ];
end

Langkah 2. Tulis kendala-kendala tersebut dalam M – file yang berbeda,


sebut confungrad.m, yaitu:
function [c,ceq,DC,DCeq] = confungrad(x)
c(1) = [1.5 + x(1)*x(6.) - x(1) - x(6.);
c(6.) = -x(1)*x(6.)-10];
% Gradien fungsi kendala
if nargout > 2
DC = [x(6.) – 1, -x(6.);
X(1) – 1, -x(1)];
DCeq = [];
end

Langkah 3. Berikan nilai dugaan awal di M – file dengan nama penelitian


6_5.m, yaitu:
x0 = [-1,1];
options = optimset('LargeScale','off');
options=optimset(options,’GradObj’,’on’,’GradConstr’,’on’);
lb = [];
ub = [];
[x,fval] = fmincon(@objfungrad,x0,[],[],[],[],lb,ub,…
@confungrad,options)
[c,ceq] = confungrad(x)

Langkah 4. Panggil dengan nama penelitian6_5.m,sehingga diperoleh


keluaran sbb:
x=
-9.5474 1.0474
fval =
0.0236

OPTIMASI TAKLINEAR | 167


c=
1.0e-007 *

-0.9032
0.9032
ceq = []

Kegiatan Penelitian G.3 (tanpa kendala)


Minimumkan fungsi f  x   3 x12  2 x1 x 2  x 22 .

Jawaban:

Langkah 1. Tulis fungsi di atas di M – file dengan nama myfun.m, yaitu:


function f = myfun (x)
f = 3*x(1)^2 + 2*x(1)*x(6.) + x(6.)^2;

Langkah 2. Diberikan nilai dugaan awal, dan beri nama contoh.m, yaitu:
x0 = [1,1];
[x,fval] = fminunc(@myfun,x0)

Langkah 3. Pada langkah 2 di atas, panggil dengan nama contoh, sehingga


akan tampil keluaran sebagai berikut:
x=
1.0e-006 *
0.2541 -0.2029
fval =
1.3173e-013

Pembahasan hasil program: peminimum adalah x*=[0 0] dan f(x*)=0. Hasil


ini tidak bermakna praktis tentunya. Sehingga masalah optimasi tanpa
kendala jelas tidak terjadi pada aplikasi.

Kegiatan Penelitian G.4 Optimasi dengan kendala persamaan


Minimumkan fungsi f  x   e x1 4 x12  2 x 22  4 x1 x 2  2 x 2  1 , dengan
kendala sebagai berikut:

168 | Kegiatan Penelitian


x12  x 2  1,
x1 x 2  10.

Langkah 1. Tulis fungsi di atas di M – file dengan nama objfun3.m, yaitu:

function f = objfun3 (x)


f=exp(x(1))*(4*x(1)^2+2*x(6.)^2+4*x(1)*x(6.)+2*x(6.)+1);

Langkah 2. Tulis kendala-kendala tersebut dalam M – file yang berbeda,


sebut confun3.m, yaitu:
function [c,ceq] = confun3(x)
% Nonlinear inequality constraint:
c = [ x(1)^ + x(6.) – 1] ;
% Nonlinear equality constraints:
ceq = x(1)*x(6.) -10 ;

Langkah 3. Berikan nilai dugaan awal di M – file dengan nama


penelitian6_6.m, yaitu:
x0 = [-1,1];
options = optimset('LargeScale','off');
[x,fval,exitflag,output]=
fmincon(@objfun,x0,[],[],[],[],[],[],@confun3,options)

Langkah 4. Panggil dengan nama penelitian6_6,sehingga diperoleh keluaran


sbb:
> penelitian6_6
Optimization terminated successfully:
Magnitude of directional derivative in search direction
less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon
Active Constraints:
1
x=
-0.7529 0.4332
fval =
1.5093
exitflag =
1
output =
OPTIMASI TAKLINEAR | 169
iterations: 5
funcCount: 23
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 6.3351e-005
cgiterations: []

Berikut ini ditunjukkan jika toleransi default diganti.

Kasus Penelitian G.5 (Kasus yang diselesaikan dengan metode penalty)


Minimumkan x 1.5  y  0.5 dengan kendala: x, y  1
2 2

solusi optimalnya adalah x *  1, y *  0.5 . Akan diselesaikan dengan


menggunakan Matlab, yaitu sebagai berikut:

Langkah 1. Tulis fungsi di atas di M – file dengan nama penelitian6_7.m,


yaitu:

H = 2*eye(6.);
f = [0 0];
Aeq = [1 1];
beq = 4;
lb = [0;3];
options = optimset('Largescale','off');
[x,fval,exitflag,output,lambda]= quadprog(H,f,[],[],Aeq,beq,..
lb,[],[],options);

Langkah 2. Panggil dengan nama penelitian6_7, diperoleh keluaran sbb:


Optimization terminated.
x=
1.0000
3.0000

Kasus Penelitian G.6 Minimumkan fungsi f  x   9 x1  5 x 2  6 x 3  4 x 4 ,


dengan kendala sebagai berikut:

170 | Kegiatan Penelitian


6 3 5 2  x1  9 
0 0 1 1   x  1 
  2     , dengan x1,x2, x3, dan x4 binair
 1 0 1 0  x 3  0 
     
0  1 0 1  x 4  0 

Langkah 1. Tulis fungsi di atas dan semua kendala ke M – file , yaitu:


f = [-9; -5; -6; -4];
A= [6 3 5 2; 0 0 1 1; -1 0 1 0; 0 -1 0 1];
b= [9; 1; 0; 0];
x = bintprog(f,A,b)

Langkah 2.Pada langkah 1, simpan dengan nama lat15.m, lalu panggil dengan
nama tersebut. Sehingga diperoleh keluaran sebagai berikut:
x=

1
1
0
0

KEGIATAN PENELITIAN H

Tujuan : mengerjakan beberapa soal dari literatur dengan menggunakan


fungsi fmincon dari MATLAB

Kegiatan Penelitian H.1. Mimimumkan f ( x1 , x 2 )  x12  2 x1  x 22  1


dengan kendala g1 ( x1 , x2 )  x1  x2  0 , g1 ( x1 , x 2 )  x1  4  0
2

Program : penelitianH_1.m, kendala pada confun1.m dan fungsi tujuan pada


objfun1.m

Langkah 1: confun1.m

%contoh soal hal 185


function [c,ceq] = confun2(x)
% Nonlinear equality constraint:
ceq = [];

OPTIMASI TAKLINEAR | 171


% Nonlinear inequality constraints:
c = [x(1)+x(6.); x(1)^2 -4];

Langkah 2 : objfun1.m
function f = objfun1(x)
f = x(1)^2 -2*x(1)+x(6.)^2 +1;

Langkah 3 :penelitianH_1.m
options = optimset('LargeScale','off');
x0 = [0.4,-0.6];
[x,fval]=fmincon(@objfun1,x0,[],[],[],[],[],[],@confun1,options)

Latihan Soal 6.

1. Minimumkan f ( x1 , x 2 )  x12  2 x1  x 22  1 dengan kendala

g1 ( x1 , x 2 )  x1  x 2  0 , g 2 ( x1 , x 2 )  x12  4  0 .

40
g 0 (t1 , t 2 , t 3 )   40t 2 t 3
t1t 2 t 3

2. Minimumkan

dengan kendala 2t1t 3  t1t 2  4, t1  0 , t 2  0 , t 3  0 .

3. Minimumkan t1t 21t 32

1 3 1
dengan kendala t1 t 2 t 3  1
2

1 1 / 2 1 1 / 2 1
t1  t 2  t 3  1
4 4 4

t1  0 , t 2  0 , t 3  0

4. (sebut sebagai problem P.1)

Minimumkan f ( x, y )  e  y dengan kendala

g ( x, y )  x 2  y 2  0 ; ( x , y )  R 2 .

172 | Kegiatan Penelitian


5. (sebut sebagai problem P.2)

Minimumkan f ( x1 , x 2 )  e  ( x1  x2 )

dengan kendala e x1  e x2  20, x1  0 .

6. (sebut sebagai problem P.3)

Minimumkan f ( x1 , x 2 )  x12  x 22  4 x1  4 x 2

dengan kendala x12  x 2  0, x1  x 2  2 .

7. (sebut sebagai problem P.4)

Minimumkan f ( x1 , x 2 , x3 )  x12  x 22  x32

x 22 x32
dengan kendala g1 ( x1 , x 2 , x3 )  x12   1  0 .
4 9

8. (sebut sebagai problem P.5)

Maksimumkan f ( x, y, z )   x  1  ( y  2) 2  ( z  3) 2
2

dengan kendala g ( x, y , z )  x 2  y 2  z 2  1  0

dengan pengali Lagrange.

9. (sebut sebagai problem P.6)

Tentukan pemaksimum dan peminimum untuk

1
f ( x1 , x 2 , x3 ) 
x  x 22  x32
2
1

dengan kendala h1 ( x1 , x2 , x3 )  1  x12  2 x22  3x32  0 ,

dan h2 ( x1 , x2 , x3 )  x1  x2  x3  0 .

10. (sebut sebagai problem P.7)

Minimumkan f ( x1 , x 2 )  5 x12  2 x1 x 2  5 x1  2 x 2

OPTIMASI TAKLINEAR | 173


dengan kendala x1  x 2  1 ; x1  0; x 2  0 .

Pelaporan sebagai berikut:

No.Problem

Tulis nilai dugaan yaitu x0=…..

Solusi x*=[…..]

f(x*) = ………………(min f)

-f(x*)=……………….(maks f)

Uji x* pada kendala diperoleh :………….

Analisa: (kendala <= 0) kendala dipenuhi/tidak dipenuhi

Bandingkan hasil anda antara analitik dan numerik dan buatlah


kesimpulan anda.

174 | Kegiatan Penelitian


KEGIATAN PENELITIAN I

SOAL A. (Parhusip dan Martono, 2011)

Steviosida adalah suatu pemanis rendah kalori sebagai hasil ekstrasi dari
daun Stevia rebaudiana Bertoni yang dinyatakan aman bagi penderita penyakit
diabetes maupun yang mengalami obesitas.
Sebagai permulaan pendekatan maka data kadar steviosida (S) akan
dinyatakan sebagai fungsi hari (t) dan massa (m), atau ditulis S = f(t,m) =
S(t,m) . Kita dapat memformulasikan masalah mencari waktu dan massa
minimal untuk S yang optimal. Oleh karena itu waktu dan massa minimal

sebutlah ( x *  ( t * , m * ) T (dengan T menyatakan transpose) maka kita
mempunyai masalah optimasi. Kasus optimasi yang diperlukan adalah
memaksimalkan S dengan waktu dan massa yang minimal. Secara umum
dapat ditulis

min
 max S ( x ) . (*)
x S

bahwa fungsi kuadratik multivariabel mempunyai sifat konveks dan fungsi


ini jelas mempunyai peminimum. Oleh karena itu dipilih model kuadratik
S (t , m)  (t   ) 2  (m   ) 2 := S model (1)
dengan  ,  ditentukan dari data.
Agar peminimum terjamin ada, maka ,  meminimalkan kuadrat residu
sebagaimana dinyatakan oleh least squareyaitu
2
Minimumkan R,    Si,data  Si,model  = Si,data  ti   2  (mi   )2  .
n n 2
(2)
i 1 i 1

Sebagaimana prosedur dalam kalkulus, titik kritis R ,   diperoleh harus


 T 
memenuhi kondisi R  0 . Secara detail berarti R   R R  = 0 .
   
 
Pertanyaan:
(i) Bagilah setiap data Tabel A1 dengan maksimum masing-masing kolom
(agar terbebas dimensi) dan gunakan data tersebut yang akan dianalisa.

OPTIMASI TAKLINEAR | 175



(ii) Tentukan tiap komponen R  0 dan selesaikan. Apakah titik kritis
bermakna secara penelitiantis ?
S (t , m)  (t   ) 2  (m   ) 2   := S model (1’)
dengan  ,  ,  ditentukan dari data. Artinya, dengan least square
sebagaimana telah dijelaskan di depan perlu diselesaikan masalah

(iii) Minimumkan
2
(iv) R ,  ,     S i ,data  S i ,mod el  =  S i , data  t i   2  (m i   ) 2    .
n n 2

i 1 i 1

Gambar A.1 Ilustrasi fungsi


S (t , m)  (t  0.4201) 2  ( m  0.8696) 2  0.0688

Tugas Penelitian Soal A

Kerjakan dengan cara yang sama dan analisalah hasil anda. Sebagai referensi:
hasil penelitian  ,  ,  T = (0.4201, 0.8696,- 0.0688)T (Parhusip dan
Martono,2011) dengan error masih cukup besar (>20%) dan grafik pada
Gambar A.1.

176 | Kegiatan Penelitian


Tabel A1. Hasil pengukuran kadar steviosida (%) dalam massa dan
waktu yang ditetapkan
Kadar Steviosida
Massa Hari
(%)
50 0 0,38
100 0 0,10
200 0 0,04
300 0 0,04
50 2 0,28
100 2 0,33
200 2 0,10
300 2 0,07
50 4 0,76
100 4 0,20
200 4 0,15
300 4 0,06
50 6 0,45
100 6 0,27
200 6 0,14
300 6 0,11

SOAL B.

(Parhusip,2012) Sebagian data pengamatan persentase protein (B) dan ragi


(Y) yang digunakan dari pengamatan Y.Martono pada Laboratorium Kimia
2011 ditunjukkan pada Tabel berikut (telah tak berdimensi).

Persentase
,2012Percentage of beans
protein protein protein protein
(B) ragi
hari ke-1 hari ke-2 hari ke-3 hari ke-4
(Y)
1 5 0.714 0.75 1.76 3.22

1 7.5 1.33 1.88 0.21 1.33


1 12.5 0.88 1.38 0.93 2.38

OPTIMASI TAKLINEAR | 177


Persentase protein (P) dinyatakan sebagai fungsi

 Y  Y 
P t ,     t 
 B B
dimana parameter  ,  harus dicari berdasarkan data.
(i) Gunakan metode kuadrat terkecil untuk mencari  ,  yaitu
2
  

dengan meminimalkan R    Pi ,data    Yi  t i    (gunakan fungsi
n

   Bi  
i 1
  
lsqnonlin.m dari MATLAB)
   
(ii) Tentukan x *  [ ,  ]T sebagai solusi dari R : g ( x )  0 atau
R R
menyelesaikan sistem persamaan taklinear  0; 0
 
secara simultan.
  
(iii) Metode Newton secara umum menyelesaikan g ( x )  0 dengan
formula
   
 
1  
x ( k 1)  x ( k )  g ( x ( k ) )  g ( x ( k ) )
   g1 g1

dengan g ( x ( k ) )   g2 
g 2  merupakan matriks Jacobian
    x ( ( k ) , ( k ) )
harus tak singular.

Tentukan komponen matriks Jacobian tersebut secara analitik dan


selidiki singularitas matriks tersebut dengan data Tabel tersebut.

SOAL C.
(Pradhitya,et.all,2012) Misalkan X1,X2,...,Xn sampel acak dengan pdff(xi,θ)
dan fungsi likelihood L(θ). Nilai = θ(X1,X2,...,Xn) yang memaksimumkan
L(θ) yakni L( ) ≥ L(θ)untuk semua θ ϵΘ dinamakan Maximum Likelihood
Estimation (MLE) untuk θ.Selanjutnya dibentuk fungsi Likelihood
1 ( µ)
(µ, )= .
√2
Diambilladalah nilai logaritma dari fungsi Likelihood diatas sehingga
diperoleh bentuk
178 | Kegiatan Penelitian
1 µ 1 µ
(µ, ) = ln =
√2 √2

=− ∑ ln(2 )− ∑ ( − µ) .

1. Tentukan nilai optimal MLE


µ,
Petunjuk :disyaratkan µ
=0

(jawab : µ = )

2. Tentukan nilai optimal MLE


µ,
Petunjuk :disyaratkan =0

(jawab : = ∑ −µ

3. Tunjukkan matriks Hessian (µ, )positive definite pada titik kritis


tersebut .

SOAL D.

Diasumsikan bahwapenurunan warna (y) pada Tabel A.2. merupakan fungsi


logistik dari kadar steviosida (x) yaitu (Parhusip dan Martono, 2012)

K K  y ( x(1))
y ( x)  , A
K  Ae  kx y ( x(1))

dimana rata-rata y(x(1)) adalah persentase penurunan warna dengan kadar


steviosida yang pertama. Misalkan menurut Tabel A.2 Sampel I, y(x(1)) =
1.105. Data yang digunakan untuk analisa mulai pada baris tipe absorbansi
adalah B.

OPTIMASI TAKLINEAR | 179


Tabel A.2 Rata-ratadan standar deviasi (Observasi dari Laboratorium Kimia oleh
Y. Martono, Januari-Februari 2012) (dalam persentase)
( x :rata-rata ; s : standar deviasi)

Sampel I Sampel II Sampel III


Tipe x turun x turun x turun
s s s
absorbansi warna warna warna
Dasar
Ekstrasi 37.600 0.024 22.233 0.023 30.783 0.008

Netral 4.343 0.010 9.210 0.019 5.283 0.012


B 1.105 0.040 0.572 0.046 1.259 0.010
K 1.301 0.020 0.661 0.089 1.248 0.021
A 1.470 0.086 0.778 0.093 1.481 0.095
S 1.326 0.024 0.675 0.065 1.206 0.014
BK 1.283 0.027 0.655 0.048 1.201 0.067
BKA 1.254 0.026 0.640 0.049 1.216 0.078
BKAS 1.1 0.039 0.569 0.047 1.142 0.031

Tabel A.3 Rata-rata dan standar deviasi kadar steviosida pada panjang
gelombang 215 nm (diobservasi oleh Y. Martono pada Januari-
Februari 2012 di Laboratorium Kimia 2012) (Parhusip, dan
Martono, 2012)

Sampel I Sampel II Sampel III


Tipe
x s x s x s
Absorbansi
Dasar
6.267 0.080 0.000 0.000 1.700 0.031
ekstrasi
Netral 0.740 0.052 0.710 0 0.717 0.008
B 0.165 0.043 0.040 0.050 0.117 0.033
K 0.150 0.017 0.000 0.000 0.125 0.035
A 0.238 0.043 0.212 0.160 0.234 0.031
S 0.163 0.012 0.075 0 0.095 0.039
BK 0.187 0.070 0.000 0.000 0.111 0.056
BKA 0.170 0.011 0.000 0 0.132 0.062
BKAS 0.036 0.008 0.000 0 0.130 0.058

180 | Kegiatan Penelitian


Pertanyaan: Tentukan parameter K, dan k berdasarkan data menurut Sampel
I ,II dan III dengan cara
(i) Susunlah fungsi tujuan yang harus diminimumkan untuk
hal ini.
(ii) Selesaikan dengan menggunakan fungsi lsqnonlin.m
(iii) Selidiki apakah parameter hasil optimasi memang benar-
benar peminimum secara analitik .

DAFTAR PUSTAKA

Parhusip H. A., 2009a Data Selection with Hessian Matrix,


Proceeding of IndoMS International Conference on Mathematics and
Its Applications (IICMA), ISBN:978-602-96426-0-5, 0341-0352.

Parhusip H. A., 2009(b). Modelling of Total Investment and Its Efficiency


in the District of Sidomukti, Proceeding of IndoMS International
Conference on Mathematics and Its Applications (IICMA),
ISBN:978-602-96426-0-5, 0353-0352.

Parhusip, H.A, 2012. Difficulty In Optimization Functions of Matlab And


How To Analyze, Prosiding Seminar Nasional Penelitian, Pendidikan
dan Penerapan MIPA, Fakultas MIPA,Universitas Negeri Yogya-
karta, ISBN: 978-979-99314-6-7,M109-M114

Parhusip, H.A dan Martono, Y.2012. Optimization f Colour Reduction For


Producing Stevioside Syrup Using Ant Colony Algorithm of Logistic
Function, proceeding of The Fifth International Symposium on
Computational Science,ISSN:2252-7761,Vol1, pp91-101, GMU.

Parhusip, H. A dan Y. Martono, 2011. Kadar Steviosida Maksimum pada


Waktu dan Massa yang Minimum, prosiding Sem. Nas FSM UKSW,
ISSN:2087-0922, Vo.2 No.1, Juni 2011, hal.645-650

Pradhitya, K.A.S., Susanto B., dan Parhusip,H.A.2012. Perhitungan Harga


Opsi Eropa Menggunakan Metode Gerak Brown Geometri, Prosiding
Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA,
OPTIMASI TAKLINEAR | 181
Fakultas MIPA,Universitas Negeri Yogyakarta, 2 Juni 2012,ISBN:
978-979-99314-6-7,M131-M138.

Peressini, A.L,et.all, 1988. The Mathematics of Nonlinear Programming,


Springer Verlag, New York, Inc, hal. 169-197.

182 | Kegiatan Penelitian


Bab 7
SISTEM PERSAMAAN TAKLINEAR

7.1 Persamaan taklinear

P
ada metode numerik dan optimasi, tentunya telah dipelajari
cara menyelesaikan bentu kpersamaan tak linear f(x) = 0
misalkan dengan metode bisection, metode Newton dan
berbagai pengembangannya. Persamaan tersebut dapat diperoleh dari
berbagai kasus. Misalkan ketika mencari titik kritis, maka kita harus
menyelesaikan

df/dx=g(x)=0. (7.1.a)

Untuk mengingatkan maka berikut ini ditulis salah satu metode yang mudah
yaitu metode Newton.

7.1.1 Metode Newton untuk menyelesaikan persamaan taklinear

Dengan iterasi, kita menganggap ada suatu penyelesaian awal x j dan

kita akan melakukan ekspansiTaylor untuk g (x) di sekitar x j dan kita berharap

yaitu x j 1 adalah akar yaitu g ( x j 1 )  0 . Artinya

dg
g ( x j 1 ) = g ( x j )  ( x j 1  x j )  ...  0
dx x x j

(7.1.b)
Persamaan (7.1.b) diambil 2 suku pertama saja dan karena diharapkan
x j 1 adalah akar yaitu g ( x j 1 )  0 maka

dg
g ( x j 1 ) = g ( x j )  ( x j 1  x j )  0
dx x x j

OPTIMASI TAKLINEAR|183
dg
atau  g ( x j )  ( x j 1  x j ) .
dx x x j

Kita menghendaki solusi pada iterasi selanjutnya, yaitu


g(x j )
x j 1  x j  . (7.1.c)
dg
dx x  x j

dg
Persamaan (7.1.c) mensyaratkan  0 . Bagaimana proses ini
dx x x j

dianggap telah bagus ?. Tentunya kita berharap g ( x j 1 )  0 . Hal ini tidak

mungkin terjadi (karena yang kita lakukan adalah pendekatan). Untuk itu kita

hanya bisa berharap g ( x j 1 )  0 . Atau dapat kita gantikan dengan error


absolut yaitu g ( x j 1 )  0 . Secara numerik kita dapat mengatakan bahwa

g ( x j 1 )   dengan  merupakan toleransi yang dapat kita pilih bebas

asalkan merupakan bilangan positif yang cukup kecil.


Contoh 7.1 Tentukan solusi dari :
2  3x  4 x 2  x 3  2 x 4  x 5  0
Jawab :
Tahap 1. Pada MATLAB ditulis persamaan pada fungsi, sebutlah gx.m berisi
(ingat, nama file=nama fungsi)
function F = gx(x)
F = 2 + 3*x - 4*x^2 +x^3 - 2*x^4 - x^5;

Tahap 2. Menuliskan fungsi untuk turunan


function F = diffgx(x)
F = 3 - 8*x +3*x^2 - 8*x^3 - 5*x^4;

Tahap 3. Menuliskan program Newton


function [akar, it]=Newtonku(x0,toleransi)
F=gx(x0);

184 |Sistem Persamaan Taklinear


it=0;
while abs(gx(x0)) > toleransi
xkp1=x0-gx(x0)/diffgx(x0);
x0=xkp1;
it=it+1;
end
akar=x0;

Tahap 4. Menggunakan ketiga fungsi di atas, sebut file Cariakar1.m


x0=10;
toleransi=1e-3;
[akar, it]=Newtonku(x0,toleransi)

Tahap 5. Keluaran , ketik :Cariakar1, diperoleh


akar =
0.9253
it =
12

Analisa program:

Jadi kita peroleh x*=0.9253 dengan 12 iterasi. Akan tetapi akar persamaan
tersebut bisa lebih dari 1. Kita dapat menggambar g(x) sebagaimana
ditunjukkan pada Gambar 7.1.
Catatan:
Terkadang kita perlu menggambar dengan MATLAB dimana x merupakan 1
dimensi tetapi pada suatu interval dengan banyak titik. Untuk itu fungsi gx.m
perlu diganti dengan menggunakan ‘.’ pada tiap perkalian/perpangkatan. Jadi
file menjadi
function F = gx(x)
F = 2 + 3*x - 4*x.^2 +x.^3 - 2*x.^4 - x.^5;

Untuk itu kita membuat program kembali untuk menggambar sebagai berikut:
x=linspace(-5,5,100);
f=gx(x);
plot(x,f,’-*’)
axis ([-5 5 -32 5])
OPTIMASI TAKLINEAR |185
Sumbu koordinat gambar perlu diatur agar dapat menunjukkan tampilan akar
dari persamaan g(x)=0 adalah perpotongan grafik y=g(x) terhadap sumbu x.
Diperoleh ada 3 titik potong sebagaimana ditunjukkan pada Gambar 7.1.
5

-5

-10

-15

-20

-25

-30

-5 -4 -3 -2 -1 0 1 2 3 4 5

Gambar 7.1. Ilustrasi g(x) pada Contoh 7.1

Oleh karena itu program dapat dijalankan kembali dengan menduga solusi
pada diantara -1 dan 0 atau diantara -4 dan -3.

Latihan Soal 7.1

Sistem persamaan berikut merupakan keadaan setimbang yang harus


dipenuhi oleh sistem persamaan diferensial biasa. Jadi solusi merupakan
solusi setimbang dari sebuah sistem persamaan diferensial dengan ruas kanan
adalah persamaan (ruas kiri) yang diberikan pada soal berikut.
Selesaikanlah soal berikut ini dengan mensubstitusikan salah satu variabel
sehingga diperoleh 1 persamaan saja. Petunjuk : Gambarlah setiap persamaan
yang sudah diperoleh untuk mempunyai dugaan yang tepat pada tiap soal.
a. Untuk
a=1.6 dan a=1 berlaku
y0
2.2 x  2.1 y  x 3  axy  0
 0.5  x, y  0.5 dan  5  x, y  5.

186 |Sistem Persamaan Taklinear


1 x  y  0
b.
2 xy  0

y  x 3  2 xy 2  0
c.
x  y3  0

Untuk selanjutnya masalah ini tidak dibahas lebih lanjut karena


bagian ini telah dibahas pada metode numerik dan kuliah komputasi
matematika. Kita akan beranalogi dengan mengembangkan formula di atas
untuk sistem persamaan linear.
Untuk menyelesaikan sistem persamaan taklinear terdapat banyak
cara tetapi pada bagian ini kita hanya mempelajari sedikit saja.

7.2 Sistem persamaan taklinear

Secara sama, kita dapat menjumpai masalah menyelesaikan


  
g (x)  0 (7.2.a)
sebagai vektor yang tiap komponennya adalah fungsi multivariabel. Sebutlah
 
x  x1 , x2 ,..., xn  dan g  g1 ( x1 , x2 ,..., xn ), g n ( x1 , x2 ,..., xn )
T T

(7.2.b)

Masalah ini juga kita pelajari dalam optimasi taklinear. Bentuk


persamaan (7.2.a) dapat pula merupakan persamaan yang diperoleh dalam
mencari titik kritis dari

y  f (x) , f : D  R , dengan D  R n tanpa kendala.


Untuk mencari titik kritis maka perlu menyelesaikan f (x ) =
  
g (x)  0 .

OPTIMASI TAKLINEAR |187


Dapat pula dari model mencari titik setimbang pada sistem persamaan
diferensial taklinear. Demikian pula kita juga menjumpai dalam least square
ketika kita harus meminimumkan fungsi residu.

7.2.1 Metode Newton


   
Untuk menyelesaikan g ( x )  0 artinyakita akan mencari suatu x *
  
yang memenuhi g ( x * )  0 . Dengan iterasi, kita menganggap ada suatu
  
penyelesaian awal x j dan kita akan melakukan ekspansi Taylor untuk g (x ) di
    
sekitar x j 1 dan kita berharap yaitu x j 1 adalah akar yaitu g ( x j 1 )  0 . Artinya
       
g ( x j 1 ) = g ( x j )  g x  x ( x j 1  x j )  ...  0 (7.3)
j

  
Perhatikan bahwa g (x ) adalah vektor, maka g x  x merupakan
j

 
matriks turunan g (x ) terhadap masing–masing variabel yang disebut matriks
Jacobian yaitu
 g1 g1 g1 
 x 
x 2 x n 
 1 
 g 2 g 2

g 2 
   x x 2 x n 
g ( x )   1 

 
  
 g n g n g n 
  
 x1 x 2 x n 
yang selanjutnya dihitung pada x  x j .

  
Dengan mengambil 2 suku pertama dan menggunakan g ( x J 1 )  0 , maka
persamaan (7.3) dapat ditulis sebagai
  
x j 1  x j  g x  x  j
 g ( x )
1
j (7.4)


Persamaan (7.4) memerlukan g x  x  j

1
terdefinisi.

188 |Sistem Persamaan Taklinear


 
Proses (7.4) akan dikerjakan hingga g ( x j )  0 karena secara numerik tidak
   
mungkin dapat ditemukan dengan eksak x * yang memenuhi g ( x * )  0 .

Untuk menguji metode maka berikut ini diberikan contoh yang dapat pula
diilustrasikan secara grafik.

Contoh 7.2. Carilah (x,y) yang memenuhi


x2  y 1  0 ,

y2  x  0 .

Jawab: Persamaan pertama sebutlah


g1 ( x, y) = x 2  y  1  0 atau y  x 2  1 dan persamaan kedua yaitu

g 2 ( x, y)  y 2  x  0 atau x  y 2 . Kita dapat mengilustrasikan kedua fungsi


dengan grafik pada Gambar 7.2.

Gambar 7. 2. Plot gambar contoh 7.2

Pada Gambar 7.2 ditunjukkan bahwa ada 2 solusi yang memenuhi (per-
potongan kedua kurva pada 2 titik). Ingat bahwa penyelesaian numerik hanya
diperoleh 1 titik saja dan solusi yang terpilih tergantung nilai awal (dugaan

OPTIMASI TAKLINEAR |189


akar mula-mula). Kita mencoba mencari penyelesaian secara analitik
(manual).
Penyelesaian analitik: Kita dapat mensubstitusikan persaman ke-2 pada
persamaan pertama yaitu untuk x  y 2 maka x 2  y  1  0 menjadi

y 4  y  1  0 . Disini kita mempunyai persamaan polinomial pangkat 4. Kita


tidak biasa menyelesaikan polinomial derajat 4 secara manual bukan ?.
Mungkin kita dapat menggunakan teknik memfaktorkan persamaan
tersebut.
Karena
1 1
( y 2  )2  y 4  y 2 
2 4
1 5 1 1 1 5
y 4  y 1  ( y 2  )2  y 2  y   ( y 2  )2  ( y  )2  
2 4 2 2 4 4
1 1 6
= ( y 2  )2  ( y  )2 
2 2 4
2
1 1 1 1  1
Andaikan y  = u sehingga y   u sehingga y 2  =   u   .
2 2 2 2  2
Jadi
2
6  1 1
2
1 1  6
( y  )2  ( y  )2  =   u     u 2   0 .
2

2 2 4   2  2  4

Nampaknya hingga bagian ini masih belum dapat ditemukan cara


memfaktorkan y 4  y  1  0 . Tidak semudah yang terlihat bukan?. Masih
perlu dipikirkan lebih lanjut bagaimana hal ini dapat dilakukan.
Secara numerik, kita dapat menyelesaikan y 4  y  1  0 yang merupakan
persamaan taklinear. Kita dapat menerapkan metode Newton untuk
persamaan 1 variabel. Hal ini tidak ditunjukkan pada bagian ini. Sebagai
gantinya, maka perlu ditunjukkan cara penyelesaian metode Newton untuk
sistem persamaan taklinear.

190 |Sistem Persamaan Taklinear


Contoh 7.3. Kerjakan contoh 7.2 dengan metode Newton yaitu
x2  y 1  0 ,

y2  x  0 .

   x 2  y  1 0
Tahap 1. Berarti g ( x )   2    .
 y  x   0
Tahap 2. Untuk dapat memperoleh penyelesaian, kita perlu mencari

  1  2 x
g g1
 1  1 1  1 1 
g   gx2 y
  
 2 x  2 y  2 y 2 x 
g 2  ( g ) .
 x y  2 y  1 sehingga

Tahap 3. Kita perlu menyelesaikan sistem persamaan (7.4b) yaitu




x   g x  x  g ( x ) dengan g 
1
j  
xx j
1

1
 2x j  2 y j
 1
 2 y
1 
2 x j  .

j
j

Sampai pada tahap ini dapat kita selesaikan secara manual.


  
Tahap 4. Sehingga kita dapat menentukan  x = x ( k 1)  x ( k ) .
Kita akan menuliskan dalam program MATLAB tentang metode Newton
khususnya untuk contoh 1.

(i) Misalkan sistem yang diselesaikan dituliskan pada file dengan nama
fNewton1.m. Isi file sebagai berikut
function F = fNewton1(x)

F = [x(1)^2 - x(2) - 1;

x(2)^2 - x(1)];

(ii) Tuliskan invers matriks Jacobian pada file dengan nama finvg1.m
dengan isi sebagai berikut
function invJ = finvg1(x)

bantu=1/(-2*x(1) + 2*x(2));

invJ = bantu*[-1 1;

-2*x(2) 2*x(1)];

OPTIMASI TAKLINEAR |191


(iii) Tuliskan perintah yang menggunakan kedua file tersebut dan
melakukan iterasi pada metode Newton, misalkan pada file dengan
nama Unewton1.m
x0=[1 ;-1];
invJ = finvg1(x0);
F=fNewton1(x0);
deltax=- invJ*F
toleransiku=10e-3;
it=0;
while norm(deltax) > toleransiku
%deltax=xkp1-xk
it=it +1;
xkp1=deltax + x0;
x0=xkp1;
invJ = finvg1(x0);
F=fNewton1(x0);
deltax=- invJ*F;
end
banyaknya_iterasi= it
solusi=xkp1

Cek_g=fNewton1(solusi)

(iv) Keluaran program ditunjukkan pada hasil print out layar MATLAB
sebagai berikut
> UNewton1

deltax =
-0.2500
0.5000
banyaknya_iterasi =
4
solusi =
0.5248
-0.7247
Cek_g =
1.0e-003 *
0.0963
0.3597

192 |Sistem Persamaan Taklinear



Analisa program: Perhatikan bahwa program meng-gunakan x ( 0 )  (1,1)
maka diperoleh penyelesaian dengan 4 iterasi sehingga solusi adalah

x(*)  0.5248,0.7247. Untuk dapat menguji kebenarannya, solusi ini
disubstitusikan pada sistem persamaan taklinear kembali maka akan
diperoleh bahwa masing-masing persamaan mendekati 0 yaitu

  0.0963
g ( x * )  10 3  .
0.3597
Catatan:
Program dapat dibuat analog dengan program untuk menyelesaikan
persamaan taklinear dimana invers dari sistem persamaan tidak perlu dicari
secara analitik sehingga program diperbaharui sebagai berikut:

Tahap 1. Tahap ini sama dengan sebelum ini


function F = Fku(x)
F = [x(1)^2 - x(2) - 1;
x(2)^2 - x(1)];
Tahap 2. Menyusun turunan masing-masing persamaan
function J = diffFku(x)
df1=[2*x(1) -1];
df2=[-1 2*x(2)];
J=[df1;
df2]
Tahap 3. Menyusun program Newton
function [akar, it]=NewtonF(x0,toleransi)
%ini untuk sistem persamaan
F=Fku(x0);
it=0;
while norm(Fku(x0)) > toleransi
invJ = inv(diffFku(x0))
xkp1=x0-invJ*Fku(x0);
x0=xkp1;
it=it+1;
end
akar=x0;

OPTIMASI TAKLINEAR |193


Tahap 4. Menggunakan fungsi-fungsi di atas, misal program diberi nama
CariakarF.m dengan isi sebagai berikut:
x0=[0.5;0.5];
toleransi=1e-5;
[akar, it]=NewtonF(x0,toleransi)

Tahap 5. Keluaran program sebagai berikut


akar =
1.4902
1.2207
it =
4
Analisa program: Program telah menunjukkan solusi dimana solusi
merupakan salah satu perpotongan 2 kurva pada Gambar 7.2. Program dapat
dicoba dengan posisi dugaan yang lain.
Catatan: Perhatikan bahwa untuk posisi dugaan (0.5, 0.5) maka program
tidak berhasil yang ditunjukkan dengan komentar Inf. Hal ini terjadi karena
algoritma mensyaratkan bahwa setiap iterasi maka invers dari Jacobian
haruslah nonsingular. Untuk itu program juga perlu mensyaratkan kondisi ini.
Silahkan mencoba untuk memperbaiki program.
Perhatikan bahwa invers matriks Jacobian dikerjakan secara analitik
dan dihitung pada setiap iterasi sehingga perlu dilakukan modifikasi terhadap
metode Newton. Salah satunya adalah metode Broyden.

7.2.2 Metode Broyden

Untuk dapat memahami metode Broyden, kita perlu mengulang


kembali metode Newton untuk menyelesaikan sistem persamaan taklinear
  
g ( x)  0 (7.5.a)
yang biasanya memuat n persamaan taklinear dengan n variabel yang tak

diketahui dimana komponen fungsi g : R n  R n diasumsikan mempunyai

194 |Sistem Persamaan Taklinear



turunan pertama kontinu. Pada suatu x ( k )  R n pada iterasi Newton, kita
menghitung matriks Jacobian

  g 
g ( x ( k ) )   i ; i, j  1,.., n  .
 x  (7.5.b)
 j 
Oleh karena itu kita mengkonstruksi pendekatan linear (pendekatan
Taylor 2 suku)
Lk ( x )  g x ( k )   g x ( k ) x  x ( k ) 
      
(7.5.c)
  
dengan mengambil x ( k 1) adalah penyelesaian Lk ( x )  0 . Pada

kenyataannya kita perlu menghitung n 2 derivatif parsial pada matriks


Jacobian pada setiap iterasi Newton. Secara komputasi hal ini mahal.
Demikian pula pada optimasi juga akan terjadi perhitungan matriks Hessian
pada setiap iterasi. Oleh sebab itu metode Broyden merupakan metode yang
menghindari perhitungan matriks Jacobian pada tiap iterasi.
Metode Broyden, merubah persamaan (7.5.c) dalam bentuk
(Peressini,et.all, 1988,hal 127 )
Lk ( x )  g x ( k )   Dk x  x ( k ) 
    
(7.5.d)

dimana Dk matriks n x n yang mungkin berbeda dengan g x (k )  . Jika


 
 
   
  
Lk ( x ( k ) )  0 , maka sehingga persamaan (7.5.d) menjadi g x(k) Dk x(k1)  x(k) 0 

kita dapat menghitung x ( k 1) dari penyelesaian persamaan (7.5.d) yaitu
x ( k 1)  x ( k )  Dk1 g x ( k )  .
   
(7.5.e)
Tentunya timbul pertanyaan: bagaimana kita dapat memilih matriks Dk
sehingga pendekatan linear dalam persamaan 7.5.d) cukup bagus mendekati
seperti metode Newton?. Menurut literatur, Dk dipilih sehingga secara
geometri berarti fungsi linear persamaan
Lk 1 ( x )  g x ( k 1)   Dk 1 x ( k )  x ( k 1) 
    

OPTIMASI TAKLINEAR |195



Anggap g : R n  R n mempunyai komponen fungsi-fungsi yang turunan

parsial pertamanya kontinu dan x (0)  Rn dan diketahui D0 adalah matriks n x n.

 
Metode Broyden membentuk barisan x (k ) dengan nilai dugaan awal x ( 0 )  R n
  
untuk menyelesaikan sistem persamaan linear g ( x )  0 yang didefinisikan
dalam barisan rekursi sebagai berikut

   
(1) Selesaikan Dk ( x  x ( k ) )   g ( x ( k ) ) atau
  
 
 
x = x ( k 1)  x ( k )  Dk1 g x ( k ) .
       
(2) Buatlah d ( k )  x ( k 1)  x ( k ) dan y ( k )  g ( x ( k 1) )  g ( x ( k ) )

 
  
y (k )
 Dk ( d ( k ) )  d ( k )
(3) Perbaharui Dk 1  Dk   
d (k )  d (k )
 
dimana notasi  artinya jika ada 2 vektor kolom a , b  R n dan vektor
kolom
      

x  R n maka a  b x  b  x a .   
Contoh7.4 Diberikan f ( x1, x2 )  2 x12  x22  x1 x2 .

Carilah titik kritis f.


  
Dengan nilai iterasi awal x ( 0 )  (1,4)T hitunglah nilai iterasi x (1) , x ( 2 ) dengan
metode Broyden jika
(a) D0  I

(b) D0  Hf ( x ( 0 ) )

Jawab: Sebelum menggunakan Broyden perhatikan bahwa yang diselesaikan


  
Broyden adalah g ( x )  0 . Tetapi yang dipunyai pada soal ini adalah f. Untuk
  
mendapatkan titik kritis maka kita dapat menyusun g ( x )  0 dari
   
f ( x )  g ( x )  0 yaitu perlu diselesaikan

196 |Sistem Persamaan Taklinear


4 x1  2 x2  x2  0 ;
2 x2  x1  0 .
Jadi penyelesaian yang diperoleh merupakan titik kritis f. Agar metode dapat
dibandingkan, maka pada bagian ini ditunjukkan terlebih dahulu cara metode
Newton.
Cara Newton. Dengan metode Newton sebagai berikut.

  4 x1  2 x 2  x 2  0
g (x ) =     .
 2 x 2  x1  0

Untuk mencari x (1) dengan cara metode Newton , yaitu
 
  
 1  
x ( k 1)  x ( k )  g ( x ( k ) )  g ( x ( k ) )
sehingga
     4  1
g 1 g 1
 
 
  1  
x(1)  x(0)  g(x(0) )  g(x(0) ) , g ( x )   gx12 gx12     (perhatikan,
 x1 x1   1 2 
     
g (x ) bukan fungsi x sehingga g (x ) tidak tergantung pada nilai x setiap
  
 1
iterasi, demikian pula g ( x ( k ) ) = g (x )
 

  1 2 1  1 2 1  
Oleh karena itu [g ( x )]1       berapapun x ( k ) .
8  1 1 4  7 1 4 
1 1 2 1 4(1)  2(1)  4 1
 
 
  1  
Jadi x (1)  x ( 0 )  g ( x ( 0 ) )  g ( x ( 0 ) )       =  
4 7 1 4  2(4)  1  4
1 2 1  2 
7 1 4 7 
1 1 2 1 2 1 1 11  1  11 / 7   4 / 7
=      =    =   .
4 7 1 4 7  4 7 30 4  30 / 7  2 / 7

  

 

1  
Untuk mencari x ( 2 ) berarti x ( 2 )  x (1)  g ( x (1) )  g ( x (1) )
  4(4 / 7)  2(2 / 7)  4  16 / 7  4 / 7  4
g ( x (1) )   
 2(  2 / 7 )  1    4 / 7  1 
 20 / 7  28 / 7   48 / 7 
  
  4 / 7  7 / 7    11 / 7 

OPTIMASI TAKLINEAR |197


 
  
 1  
x ( 2 )  x (1)  g ( x (1) )  g ( x (1) )
 4 / 7  2 / 7 1 / 7   48 / 7
= -   
 2 / 7  1 / 7 4 / 7   11/ 7 
 4 / 7   107 / 49
= - 
 2 / 7    92 / 49 
 28 / 49  91/ 49 63 / 7 
=  - =  .
  14 / 49   81/ 49 67 / 7

Cara Broyden
Tahap 1. Perhatikan bahwa kita harus menyelesaikan
  1  
x (k 1)  x (k )  Dk   g(x (k ) )
    4(1)  2(4)  4 8
Untuk mencari x (1) dengan x ( 0 )  (1,4)T dan g ( x ( 0) )    
 2(4)  1  7
Karena D0  I maka
1  1 0 8  7
 
 
 
x (1)  x ( 0 )  D01 g x ( 0 )     0 1  7  =   3  .
 4     

Tahap 2.
    7  1    8 
d ( 0 )  x (1)  x ( 0 ) =   -   =   .
  3  4    7 
  4(1)  2(4)  4 8
g ( x (0) )       dan
 2(4)  1  7
  4(7)  2(3)  4  28  6  4  38
g ( x (1) )       7 
 2(3)  1   7   
     1  38 39
y ( 0 )  g ( x (1) )  g ( x ( 0 ) ) =   -  =  
4   7  11
Tahap 3.
  39   8 47
Untuk D0  I maka y ( 0 ) - D0 d ( 0) =         . Sehingga
11  7 18 
 
 ( 0)  ( 0)  ( 0)
y  D0 ( d )  d
D1  D 0   
d ( 0)  d ( 0)

198 |Sistem Persamaan Taklinear


= 
1 0 (47,18)  (8,7)
 64  49
0 1 

= 1 0 1  376  329 1 - 3.3274 - 2.9115 


0 1  113   144 126   - 1.2743 1 - 1.1150 
    

= 
- 2.3274 - 2.9115 
.
 - 1.2743 - 0.1150

 7 0.0334 - 0.8458   38 - 11.6504


x ( 2 )  x (1)  D11 g x (1)  =   - 
   
  7 = - 12.3342
  3 - 0.3702 0.6761    

   1   4  1
g g1
 
(b) D0  Hf ( x ( 0 ) ) = g ( x )   gx12 x1
g 2   berapapun x ( k ) .
 x1 x1    1 2 
Sehingga hasil –hasil sesudah itu sama dengan (a) hingga pada

  0  4  1 1 0 0 0


y ( 0 ) - D0 d ( 0) =               
7  1 2  4 7 7 0

D 1  D 0  y  D ( d ( 0 ) )   d ( 0 ) =  4  1 (0,0)  (1,4)
 ( 0)  
 (00 )  ( 0 )
d d
 1 2  
  17

= 4  1 .
 1 2 

  1 2 1  1 2 1 
D11 = [g ( x )]1  
8  1 1 4 7 1 4
Sehingga
2 1 2 1  0  2 1  14  0
 
 
 
x ( 2 )  x (1)  D11 g x (1) =       =    =   .
8 7 1 4 14 8 7 4(14) 0

Untuk sementara ini kita belum membicarakan bagaimana ketelitian kedua


metode yang sudah kita pelajari.

OPTIMASI TAKLINEAR |199


Tugas penelitian 7.1.1
Kerjakan proses tersebut dengan bantuan MATLAB

Tentunya kita perlu mengetahui bagaimana proses iterasi pada Broyden


berhenti. Beberapa hal berikut perlu menjadi perhatian.
 
1. Apakah setiap nilai dugaan x ( 0 ) akan menyebabkan barisan { x (k ) }

  
konvergen ke suatu titik x (*) sedemikian hingga g x (*)  0 ?.  
2. Apakah yang terjadi jika matriks Dk terlalu lama; apakah Dk
 
mendekati matriks Jacobian g ( x (k ) ) ? Jika ya, bagaimana
menjaminnya ?.
Jawaban keduanya tidak saling berhubungan. Dapat ditunjukkan (pada
literatur, tidak ditunjukkan pada buku ini) bahwa tahap metode Broyden
    
d ( k )  x ( k 1)  x ( k )   Dk1 g ( x ( k ) ) dapat menyerupai tahap Newton pada
  

x  x ( k 1)  x ( k )   g x  x
j
 g ( x )
1
j

   
Pada kenyataannya, jika x * merupakan penyelesaian sistem g ( x )  0 dan jika
 
x ( 0 ) tidak terlalu jauh dari x * , maka dapat ditunjukkan bahwa

  

Dk  g ( x ( k ) ) ( x ( k )  x * )
lim   0. (7.5.e)
k x (k )  x*

Untuk menjawab pertanyaan kedua, Peressini (dkk, 1988) menjelaskan


 
bahwa sekalipun barisan matriks { Dk }tidak perlu konvergen ke g ( x (k ) )
 
tetapi Dk merupakan operator penting sehingga vektor x ( k )  x (*) dapat
 
mendekati g ( x (*) ) .
Akan tetapi persamaan (7.5.e) belum dapat sebagai stopping criteria

untuk iterasi agar berhenti karena x * tidak diketahui. Menurut literatur maka
kita dapat menggunakan kondisi secant yaitu
Dk 1 x ( k 1)  x ( k )   g x ( k 1)  x ( k ) 
    
(7.5.f)

200 |Sistem Persamaan Taklinear


Selisih keduanya itulah yang digunakan sebagai stopping criteria dengan
batas toleransi yang diberikan.
Untuk selanjutnya sebagaimana metode Newton, maka metode
Broyden dapat meminimalkan suatu fungsi f : R n  R . Kita cukup
menyusun
  
g ( x )  f ( x )

dan menggunakan metode Broyden untuk mencari titik kritis f (x ) .

b.1 Pemrograman metode Broyden dengan MATLAB



Metode Broyden menggantikan g dengan suatu matriks D pada
setiap iterasi yang memerlukan matriks dugaan awal (yang disebut D0 ). Pada
Contoh 7.3, kita telah menunjukkan cara Newton dan cara Broyden yang
dibandingkan. Dapat terjadi hasil keduanya tidak sama. Untuk dapat
mengetahui metode manakah yang lebih baik kita dapat menggunakan
banyaknya iterasi yang digunakan dengan toleransi yang sama. Jika iterasi dari
suatu metode lebih sedikit dan lebih cepat (berarti perlu mengukur waktu)
untuk kasus yang sama dengan dugaan yang sama, maka metode tersebut
dikatakan yang lebih baik dibandingkan metode dengan iterasi lebih banyak.
Untuk mempercepat proses Broyden kita dapat menggunakan
 
g ( x ( 0 ) ) sebagai dugaan D0 . Pada contoh kasus kita menggunakan Pemro-
graman ditunjukkan dengan contoh kasus.

Contoh 7.5 Selesaikan


x2  y2  z2  3
x2  y2  z 1
x y z 3
dengan nilai dugaan (1,0,1)

Tahap 1. Buat file fungsi (funk.m) yang akan dicari solusi


function g=funk(x)
g1 = x(1)^2 + x(2)^2 + x(3)^2 -3;

OPTIMASI TAKLINEAR |201


g2 = x(1)^2 + x(2)^2 - x(3) -1;
g3= x(1) + x(2)+x(3) -3;
g=[g1;g2;g3];

Tahap 2. Buat fungsi gradg.m


function D0=gradg(x)
D0=[2*x(1) 2*x(2) 2*x(3);
2*x(1) 2*x(2) -1;
1 1 1]

Tahap 3. Buat fungsi Broydenku.m


function [it,solusi]=Broydenku(n,x0)
epsku=1e-5;
%Langkah 1
D0=zeros(n,n);
D0=gradg(x0);
g0=funk(x0);
x=x0 - inv(D0)*g0;
k=1;
%Langkah 2
d=x-x0;
y=funk(x)-g0;

%Langkah 3
D=D0 + ((y - D0*d)'*d)./(dot(d,d));

%secant condition persamaan (5f)


g=funk(x);
skiri=D*(x - x0);
skanan=g-g0;
Toleransi=skiri-skanan;
it=1; %memulai menghitung iterasi
%Langkah 3 dan kembali ke 1-2
while norm(Toleransi) > epsku,

x0=x;
D0=D;
g0=funk(x0);
x=x0 - inv(D0)*g0;

d=x-x0;
y=funk(x)-g0;
D=D0 + ((y - D0*d)'*d)./(dot(d,d));

202 |Sistem Persamaan Taklinear


%secant condition persamaan (6)
g=funk(x);
skiri=D*(x - x0);
skanan=g-g0;
Toleransi=skiri -skanan;
it=it+1;
solusi=x;
end

Tahap 4. Buat file untuk menggunakan ketiga fungsi di atas, misal diberi
nama: cobaBroy.m
x0=[1 0 1]';
n=3;

[it,solusi]=Broydenku(n,x0)

penyelesaian= solusi
banyaknya_iterasi=it
apakah_g_samadengan0=funk(solusi)

Tahap 5. Tulis pada command window:


>> cobaBroy

D0 =

2 0 2
2 0 -1
1 1 1

it =

525

solusi =

1.0019
0.9981
1.0000
penyelesaian =

1.0019
0.9981
1.0000

OPTIMASI TAKLINEAR |203


banyaknya_iterasi =

525
apakah_g_samadengan0 =

1.0e-005 *
0.7065
0.7065
0

Analisa program :
Program menunjukkan bahwa dengan nilai dugaan [1; 0; 1] maka
diperoleh penyelesaian soal adalah [1.0019; 0.9981; 1.0000] dengan
525 iterasi dalam toleransi 10 5 untuk memenuhi kondisi secant.

Tugas penelitian 7.2


Kerjakan soal yang sama dengan menggantikan bahwa D0 adalah matriks
identitas.

Jawab: perhatikan bahwa ketika D0 matriks identitas maka diperoleh


keluaran bahwa matriks singular sehingga penyelesaian tidak dapat
dipertanggung jawabkan. Keluaran program sebagai berikut.
>> cobaBroy
Warning: Matrix is singular to working precision.
(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
> In
F:\KOMPUTASIMAT20102011\SISTEMPERSAMAAN\BROYDEN\Broy
denku.m at line 28
In
F:\KOMPUTASIMAT20102011\SISTEMPERSAMAAN\BROYDEN\coba
Broy.m at line 5

it =

9
solusi =

-Inf
-Inf
-Inf
204 |Sistem Persamaan Taklinear
penyelesaian =
-Inf
-Inf
-Inf
banyaknya_iterasi =
9

apakah_g_samadengan0 =
Inf
Inf
-Inf

Latihan Soal 7.3


1. Menentukan titik kritis dari f ( x1 , x2 )  e  ( x1  x2 ) adalah menyelesaikan

sistem persamaan yang diperoleh dari f  0 atau ditulis

 xf1   g1 ( x1 , x2 )  0   
2. f   f    
   . Atau ditulis g (x)  0 .
 x2   g 2 ( x1 , x2 ) 0
  
(i) Selesaikan g ( x )  0 di atas dengan manual
 
(ii) Selesaikan g ( x )  0 di atas dengan metode Newton
  
(iii) Selesaikan g ( x )  0 di atas dengan metode Broyden

3. Kerjakan dengan cara yang sama menurut soal 1 dengan


f ( x1 , x2 )  x  x  4 x1  4 x2
2
1
2
2

Latihan Soal 7.4


Bagian 1. Selesaikan dengan metode Newton

No.1
 x  y  x2  y2  0
0.25 x  3 y  2 xy  y 2  0

No.2
3x  2 y  3x 2  y 2  0
 x  y  3 xy  0
pada bidang  2  x, y  2 .
OPTIMASI TAKLINEAR |205
No.3.
 
2
x  2 y  x 2  y 2 x  4x3  0
2 x  y  x 
2
2
 y2 y  7( y 2  x 2 ) y  0
pada bidang  2.5  x, y  2.5 .

No.4
0.04 x  y  3 y 2  2.5 xy  0
x  3x 2  2 x 2 y  0

No.5
0.05 x  y  3 y 2  2 xy  0
x  3x 2  x 2 y  0

Bagian 2
x ( 1   1 x   1 y )  0
y( 2   2 x   2 y)  0
Untuk nilai  1 ,  2  0 dan  1 ,  2  0

7.3 Sistem Persamaan Taklinear dengan fungsi fsolve pada MATLAB


Salah satu fungsi yang sudah ada pada MATLAB dalam menyelesaikan
sistem persamaan taklinear adalah menggunakan fsolve .
Beberapa aturan untuk menggunakan fsolve adalah
x = fsolve(fun,x0)
x = fsolve(fun,x0,options)
x = fsolve(problem)
[x,fval] = fsolve(fun,x0)
[x,fval,exitflag] = fsolve(...)
[x,fval,exitflag,output] = fsolve(...)
[x,fval,exitflag,output,jacobian] = fsolve(...)
Ruas kiri merupakan keluaran dan ruas kanan merupakan input.
Untuk x = fsolve(fun,x0) berarti kita mendefinisikan sistem persamaan
linear dalam file dengan nama fungsi “fun” dan x0 adalah nilai dugaan
awal
x = fsolve(fun,x0,options)

206 |Sistem Persamaan Taklinear


Sedangkan pilihan options merupakan isian parameter yang perlu diisi
dengan berbagai parameter. Untuk dapat menjelaskan hal ini perhatikan
contoh berikut.

Contoh7.5 Selesaikan sistem persamaan berikut


2 x1  x2  e  x1
 x1  2 x2  e  x 2 .
 
Tahap 1. Kita akan tulis dalam bentuk f ( x )  0 yaitu
2 x1  x2  e  x1  0
 x1  2 x2  e  x 2  0.

Dalam program MATLAB ditulis


function F = myfun(x)
F = [2*x(1) - x(2) - exp(-x(1));
-x(1) + 2*x(2) - exp(-x(2))];

Tahap 2. Untuk menjalankan program tersebut, tuliskan perintah sebagai


berikut, simpanlah dalam file: sistem1.m
x0 = [-5; -5]; % Make a starting guess at the solution
options=optimset('Display','iter'); % Option to display output
[x,fval] = fsolve(@myfun,x0,options) % Call solver

Adapun keluaran program MATLAB sebagai berikut


Norm of First-order Trust-region
Iteration Func-count f(x) step optimality radius
0 3 23535.6 2.29e+004 1
1 6 6001.72 1 5.75e+003
2 9 1573.51 1 1.47e+003 1
3 12 427.226 1 388 1
4 15 119.763 1 107 1
5 18 33.5206 1 30.8 1
6 21 8.35208 1 9.05 1
7 24 1.21394 1 2.26 1
8 27 0.016329 0.759511 0.206 2.5
9 30 3.51575e-006 0.1119270.00294 2.5
10 33 1.64763e-013 0.00169132 6.36e-007 2.5

OPTIMASI TAKLINEAR |207


After several iterations, fsolve finds an answer:

Norm of First-order Trust-region


Iteration Func-count f(x) step optimality radius
0 3 23535.6 2.29e+004 1
1 6 6001.72 1 5.75e+003 1
2 9 1573.51 1 1.47e+003 1
3 12 427.226 1 388 1
4 15 119.763 1 107 1
5 18 33.5206 1 30.8 1
6 21 8.35208 1 9.05 1
7 24 1.21394 1 2.26 1
8 27 0.016329 0.759511 0.206 2.5
9 30 3.51575e-0060.111927 0.00294 2.5
10 331.64763e-013 0.00169132 6.36e-007 2.5

Equation solved.

fsolve completed because the vector of function values is near zero as


measured by the default value of the function tolerance, and the
problem appears regular as measured by the gradient.

x=
0.5671
0.5671

fval =
1.0e-006 *
-0.4059
-0.4059

Analisa program: Hasil menunjukkan bahwa akar dari penyelesaian sistem


persamaan linear adalah x1  0.5671, x2  0.5671.

208 |Sistem Persamaan Taklinear


Latihan penelitian 7.4:
Tugas 1.
Diberikan sistem persamaan taklinear berikut ini
No.1 No.2 No.3

Catatan: Untuk soal-soal demikian maka solusi merupakan perpotongan


kedua kurva persamaan. Untuk menguji-jawaban anda maka anda dapat
menggambarkan kedua persamaan.
Petunjuk : Hasil Gambar ditunjukkan pada Gambar 7.3

Gambar 7.3 Ilustrasi kurva pada Latihan Penelitian 7.4

Tata cara pelaporan :


Tahap 1. Tulis sistem persamaan linear yang diselesaikan dalam bentuk F(X)
=0.
Tahap 2. Tuliskan program dalam MATLAB
Tahap 3. Tuliskan hasil program dengan daftar sebagai berikut :
1. Nilai X0 =
2. Hasil penyelesaian : x = ……..,y =……
dengan iterasi sebanyak :…………

Tugas 2. Kerjakan soal 1-3 dengan metode Newton

OPTIMASI TAKLINEAR |209


Tata cara pelaporan
Untuk tiap soal perlu dibuat sebagai berikut:
Karena ada lebih dari 1 koordinat sebagai solusi (titik potong, maka perlu
dicari 2 titik potong sehingga kita perlu 2 nilai dugaan

x0 Solusi (x,y) Banyaknya iterasi Keterangan/analisa

Latihan Penelitian7.5

Tujuan: evaluasi pemahaman sistem persamaan taklinear tentang Newton dan


Broyden
1. Diberikan sistem persamaan taklinear berikut
x1 cos x 2  0.716  0
x 2 sin x1  x 2  1.305  0

dengan nilai dugaan x1( 0 )  1; x 2( 0 )  3 .


A. Selesaikan dengan fungsi fsolve pada MATLAB

B. Selesaikan dengan metode Newton dengan tahapan sebagai berikut :

Tahap 1: Apakah matriks Jacobiannya ?


Tahap 2: Solusinya adalah ....... dengan iterasi sebanyak ..
Catatan : solusi dapat lebih dari 1, sehingga perlu dibuat tabel.
Tahap 3: Tuliskan analisa perbandingan solusi antara fungsi fsolve dan
metode Newton:
(Apakah pendapat anda)
Tahap 4 : File apa saja yang anda buat: (untuk dokumentasi pelaporan)

210 |Sistem Persamaan Taklinear


2. Diberikan sistem persamaan taklinear
x1  x2  x3
7
3
3 x x x  4
1 2 3

3 16

1 1 1 7
 
x1 x2 x3

 1.5 ; x 2( 0 )  5 dan
(0)
Untuk menyelesaikan, gunakan nilai dugaan x1

x3( 0 )  10 .
  
A. Tuliskan sistem persamaan dalam bentuk g ( x )  0
B. Gunakan MATLAB dalam mencari iterasi pertama dan kedua dengan

metode Broyden dengan menggunakan D0  g ( x ( 0 ) ) dalam
program sesuai keluaran pada diktat (tahap 1-3)
C. Berilah komentar (kesimpulan ) anda tentang hasil yang diperoleh:
......................................................
(misalkan tentang: Bagaimana anda menjamin bahwa jawaban anda
bagus ?)

Catatan: Daftarkan semua file yang digunakan .

JAWAB: Dengan fsolve kitaperlu menuliskan fungsi, sebutlah fsoal1.m


function F = fsoal1(x)

F = [x(1)*cos(x(2)) + 0.716;

x(2)*sin(x(1))-x(2)-1.305];

Program untuk menjalankan adalah Ufsolve1.m


x0 = [1; 3]; % Make a starting guess at the solution

options=optimset('Display','iter'); % Option to display output

[x,fval] = fsolve(@fsoal1,x0,options) % Call optimizer

OPTIMASI TAKLINEAR |211


Keluaran sbb:
>> Ufsolve1

Norm of First-order Trust-region


Iteration Func-count f(x) step optimality radius
1 3 3.24556 2.61 1
2 6 1.93357 1 0.695 1
3 7 1.93357 1 0.695 1
4 10 1.72252 0.25 0.129 0.25
5 11 1.72252 0.25 0.129 0.25
6 14 1.70731 0.0625 0.0788 0.0625
7 17 1.70321 0.0625 0.0179 0.0625
8 18 1.70321 0.0625 0.0179 0.0625
9 21 1.70313 0.015625 0.0163 0.0156
10 22 1.70313 0.015625 0.0163 0.0156
11 25 1.70304 0.003906 250.00517 0.00391
12 28 1.70303 0.003906 250.003320 .00391
13 29 1.70303 0.00390625 0.00332 0.00391
14 32 1.70303 0.00097656 30.000486 .
(ditampilkan sebagian)
Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.

x=

1.5708
2.0441
fval =
0.0000
-1.3050
Tahap 1. Newton: nama file fsoal1.m dan untuk Jacobian adalah Dfsoal1.m
yang berisi
function F = Dfsoal1(x)
F = [cos(x(2)) x(1)*(-sin(x(2)));
x(2)*cos(x(1)) sin(x(1))];

Keluaran program menunjukkan sebagai berikut


deltax =
-0.5225
1.9424
banyaknya_iterasi =
27
solusi =
-0.9484
-0.7147

212 |Sistem Persamaan Taklinear


Cek_g =
-0.0003
-0.0096
Analisa program: Dengan menggunakan fsolve penyelesaian tidak konver-
gen (tidak ada solusi). Sedangkan dengan metode Newton diperoleh solusi
x1  -0.9484 dan x 2  -0.7147. Hasil ini diuji dengan mensubstitusikan pada
sistem persamaan sehingga diperoleh masing-masing hampir mendekati nol
(Perhatikan daftar Cek_g).

Daftar Pustaka
Peressini, A.L,Sullivan, F.E., 1988. The Mathematics of Taklinear
Programming, Springer Verlag, New York, Inc.

OPTIMASI TAKLINEAR |213


Kunci jawaban Latihan Soal 7.1
Kunci ini dibuat untuk menjadi salah satu acuan dari berbagai percobaan
yang dapat dilakukan.
No.a
y0
2.2 x  2.1 y  x 3  axy  0
dimana a=1.6 dan a=1.
 0.5  x, y  0.5 dan  5  x, y  5.
Jawab :Dengan melakukan substitusi y=0 pada persamaan kedua
maka diperoleh 1 persamaan saja yang tidak tergantung dari nilai a.
Kita dapat mengilustrasikan persamaan tersebut untuk mendapatkan
dugaan nilai x sebagaimana ditunjukkan pada Gambar 7.4.

Gambar 7.4. Kurva y =  x 3+2.2 x

Dari Gambar dapat diperoleh titik-titik yang merupakan titik potong kurva
pada sumbu x merupakan solusi Daftar dugaan solusi dapat dipilih pada
sekitar titik yang sudah kita ketahui sebagai solusi. Hal ini ditunjukkan pada
Tabel 7.1.

214 |Sistem Persamaan Taklinear


Tabel 7.1 Beberapa dugaan solusi, toleransi dan banyaknya iterasi serta akar dari
solusi

No. Dugaan Toleransi Iterasi Akar Keterangan

1. 1 10-5 6 1.4832 Titik C

2. -1 10-5 6 -1.4832 Titik A

3. 5 10-5 7 1.4832 Titik C

4. 0.1 10-5 2 0 Titik B

5. 0.01 10-5 1 0 Titik B

6. -5 10-5 7 -1.4832 Titik A

Analisa : solusi yang diberikan program telah menuju pada ketiga solusi
yang seharusnya.

No.b. Sistem persamaan berbentuk:


1 x  y  0
2 xy  0

Dengan mensubstitusikan salah satu persamaan kedalam persamaan yang lain


kita juga dapat menyelesaikan soal ini dalam 1 persamaan tak linear saja dan
menggambarkan persamaan tersebut pada Gambar 7.5.

Gambar 7.5 Ilustrasi kurva f(x)=2x(1-x)

Dengan menggunakan Newton maka diperoleh beberapa solusi sebagaimana


ditunjukkan pada Tabel 7.2.

OPTIMASI TAKLINEAR |215


Tabel 7.2 Daftar solusi, toleransi, banyaknya iterasi dan akar

No. Dugaan Toleransi Iterasi Akar

1 3 10-5 5 1

2 1 10-5 0 1

3 0.1 10-5 3 0

4 0.01 10-5 2 0

No.c Sistem persamaan berbentuk


y  x 3  2 xy 2  0
x  y3  0
Dengan cara yang sama pada No 1 -2, maka kita dapat memperoleh
persamaan saja dan kita dapat mengilustrasikan pada Gambar 7.6.

Gambar 7.6 Ilustrasi kurva pada tiap persamaan

Dari Gambar 7.6 diperoleh ada 3 solusi sehingga kita perlu menduga yang
cukup dengan solusi (ingat, pada umumya solusi tidak kita ketahui).

Tabel 7.3 Daftar dugaan, toleransi iterasi dan akar untuk soal no.c
No. Dugaan Toleransi Iterasi Akar
1 (0.5, 0.5) 10-5 5 (0.5163 , 0.802)
2 (1 , 1) 10-5 4 (0.5163 , 0.802)
-5
3 (-1, -1) 10 4 (-0.5163 ,- 0.802)
-5
4 (-0.5, -0.5) 10 5 (-0.5163 , -0.802)
5 (-0.05, -0.05) 10-5 2 (0,0)

216 |Sistem Persamaan Taklinear


Kunci Jawaban Latihan Soal 7.4

Bagian ini merupakan lanjutan soal 7.1 dan diselesaikan dengan Newton
No.1
 x  y  x2  y2  0
0.25 x  3 y  2 xy  y 2  0

No. Dugaan Toleransi Iterasi Akar

1 (-0.01 , -0.01) 10-5 2 (0,0)

2 (1 , 2) 10-5 9 (1.0520 , 0.0520)

3 (-5 , -5) 10-5 3 (-3.8020 , -4.8020)

4 (-2 , -2) 10-5 9 (-1.0833 , 1.0833)

5 (1 , 0.1) 10-5 2 (1.0520 , 0.0520)

6 (5 , 5) 10-5 6 (1.05206 , 0.05206)

Gambar 7.7 Grafik  x  y  x2  y 2  0 dan 0.25x  3 y  2xy  y 2  0

No.2
3x  2 y  3x 2  y 2  0
 x  y  3 xy  0
pada bidang  2  x, y  2 .

OPTIMASI TAKLINEAR |217


Ilustrasi pada Gambar 7.8

Gambar 7.8 Ilustrasi grafik kedua persamaan pada soal no.2

Tabel 7.5 Daftar dugaan,toleransi, iterasi dan akar dari soal no.2
No. Dugaan Toleransi Iterasi Akar

1 (1 , 1) 10-5 8 (0.2767 , 1.6320)

2 (0.1 , 0.1) 10-5 3 (0.1040 , 0.1512)

3 (0.5 , 0.5) 10-5 5 (0.1040 , 0.1512)

4 (0.05 , 0.05) 10-5 6 (0,0)

5 (1 , 0.5) 10-5 4 (1.2858 , -0.4499)

6 (0.5 , 0.1) 10-5 6 (0.1040 , 0.1512)

No.3
 2
x  2 y  x 2  y 2 x  4x3  0
2 x  y  x 2
 y 2 y  7( y 2  x 2 ) y  0
2

pada bidang  2.5  x, y  2.5 .

218 |Sistem Persamaan Taklinear


 2
Gambar 7.9. Ilustrasi x  2 y  x 2  y 2 x  4 x 3  0

dan 2 x  y  x 2  y 2  y  7( y
2 2
 x2 ) y  0

Tabel 7.6 Daftar dugaan, toleransi, banyaknya iterasi dan akar no.3

No. Dugaan Toleransi Iterasi Akar

1 (0.1 , 0.1) 10-5 2 (0,0) (titik E)

2 (-2 , 1) 10-5 12 (-0.7574 , 0.3179) titik C

3 (1 , 1) 10-5 11 (0.7650 , 1.2495) titik H

4 (1 , -0.5) 10-5 7 (0.7574 , -0.3179)titik G

5 (-1 , -1) 10-5 11 (-0.7650 , -1.2495) titik B

6 (-2 , 0) 10-5 40 (-1.9192 , 0.0951) titik A

Catatan: koordinat pada Gambar adalah solusi eksak, sedangkan pada Tabel
adalah hasil pendekatan Newton. Solusi pada titik D dan F belum
diperoleh sebagaimana ditunjukkan pada Tabel 7.5.

Tabel 7.5. Daftar dugaan, toleransi, iterasi dan akar untuk soal no. 3
No. Dugaan Toleransi Iterasi Akar

1 (0 , 3) 10-5 12 (0.7650, 1.2495) (titik H)

2 (0 , 5) 10-5 12 (0.7650, 1.2495) (titik H)

(-5 , -5) 10-5 12 (0.7650, 1.2495) (titik H)

(5 , 5) 10-5 12 (0.7650, 1.2495) (titik H)

OPTIMASI TAKLINEAR |219


No.4
0.04 x  y  3 y 2  2.5 xy  0
x  3x 2  2 x 2 y  0

Tabel 7.5. Daftar dugaan, toleransi, iterasi dan akar untuk soal no. 4
No. Dugaan Toleransi Iterasi Akar

1 (2.5 , 2.5) 10-5 5 (1.8519 , 1.23)

2 (0.5 , 0.5) 10-5 5 (0.3444 , 0.0484)

3 (-1 , -1) 10-5 6 (0, -0.3333)

4 (0.5 , -0.5) 10-5 5 (0.3102 , -0.1118)

5 (0.1 , 0.5) 10-5 5 (0,0)

6 (0.3 , 0.05) 10-5 3 (0.3444 , 0.0484)

Gambar 7.9 Ilustrasi 0.04 x  y  3 y 2  2.5 xy  0 dan

x  3x 2  2 x 2 y  0

No.5
0.05 x  y  3 y 2  2 xy  0
x  3x 2  x 2 y  0

220 |Sistem Persamaan Taklinear


Gambar 7.10. Ilustrasi 0.05 x  y  3 y 2  2 xy  0 dan
x  3x 2  x 2 y  0

Tabel 7.6 Daftar dugaan, toleransi , iterasi dan akar


No. Dugaan Toleransi Iterasi Akar
-5
1 (0.3 , 0.05) 10 3 (0.3376 ,0.0383)

2 (0.1 , 0.01) 10-5 4 (0,0)

3 (0 , -0.3) 10-5 3 (0,-0.3333)

4 (0.3 , -0.1) 10-5 5 (0.3168 , -0.1559)

OPTIMASI TAKLINEAR |221

Anda mungkin juga menyukai