ALGORITMA DAVIDSON, FLETCHER, POWELL UNTUK PENCARIAN NILAI
MINIMUM FUNGSI
ANDANG SUNARTO
Dosen Ilmu Komputer
Jurusan Syari’ah STAIN BENGKULU
ABSTRAC
Approach problem completion meminimum f completion
f
0
. One of method to finish similarityf
0
, Newton method with similarity rekursif: xk 1 xk F(xk) 1gk, computation invers Matrix Hessian F (xk )-1 in this Newton method is impractical and done in every step. Avoid computation F (xk )-1, so used method quasi bewton.Method principal idea Quasi Newton use aprocimation invers Matrix Hessian F (xk )-1, according to iterative. in method quasi bewton is used two value livelihood algorithms minimum function that is Algorithm Rank One and DFP where is form invers Matrix Hessian F (xk )-1 from second this algorithm differ. Detect which algorithm effectiveest and efesien so done testing with a few function testing that is Function Rosenbrock and Goldstein.
Watchfulness result demoes that for Function Rosenbrock and Goldstein has Unimodal, efektifitas Algorithm Rank One and DFP based on convergen very base on starting points that determined. furthermore from also known that time complexity from second algorithm same but if reviewed from process time, Algorithm process time Rank One more efesien compared Algorithm DFP if tested with Function Rosenbrock and Function Goldstein.
Key words: Hessian, Quasi Newton, Iteration I. PENDAHULUAN
Dalam perkembangan masalah optimasi, banyak ditemui metode-metodeyang berfungsi
untuk mencari titik optimal. Metode
penyelesaiann masalah optimasi fungsi
multivariable dapat dikelompokan dalam dua kategori yaitu metode direct search ( non gradient ) dan metode gradient. Metode gradient membutuhkan perhitungan turunan parsial order
pertama dari fungsi n variable,
) ,.., ,
(x1 x2 xn f
f dimana vector gradient dari
fungsi adalah n x f x f x f f , ,..., 2 1 . Semua
minimum local x*, dimana f(x*)= min f(x)
memenuhi persamaan g(x') f(x') 0.
Suatu pendekatan penyelesaian masalah
meminimumkan f adalah penyelesaian
persamaan f 0. Salah satu metode untuk
meyelesaikan persamaan
f
0
adalahmetode Newton
dengan algoritma yaitu algoritma Rank One dan algoritma DFP ( Davidson, Fletcher and Powell ). Dalam metode ini, penentuan nilai minimum local dari suatu fungsi dilakukan secara iterative dan nilai yang diperoleh dalam setiap iterasi merupakan nilai aproksimasi. Aproksimasi dilakukan dengan menggunakan titik awal yang telah ditentukan untuk mencari nilai pada iterasi
berikutnya dengan persamaan k k k k g x F x x 1 ( ) 1 , dimana F(xk) adalah
matriks Hessian untuk xk dan (k) ( k) x f
g .
Menurut Rao ( 1977 ) dan Chong dan Stanislaw ( 1996 ), komputasi F(xk)-1. pada metode Newton khusunya algoritma Rank One dan algoritma DFP ( Davidson, Fletcher and Powell ) tidak praktis dan dilakukan pada setiap langkah untuk menghindari F(xk)-1 digunakan metode Quasi Newton dengan algoritma Rank One dan algoritma DFP ( Davidson, Fletcher and Powell ), yang mencoba mencari suatu nilai aproksimasi untuk F(xk)- secara iterative.
II. TINJAUAN TEORI
Metode Quasi Newton merupakan salah satu algoritma yang cukup baik untuk optimasi. Dalam menetukan nilai minimum local suatu fungsi metode ini melakukannya secra iterative dan nilai yang diperoleh dalam setiap iterasi
merupakan aprokasimasi. Aproksimasi
dilakukan dengan menggunakan titik awal yang telah ditentukan terlebih dahulu untuk mencari nilai pada iterasi berikutnya.
Dalam menentukan nilai minimum local suatu fungsi metode ini melakukannya secara iterative dan nilai yang diperoleh dalam setiap
iterasi merupakan nilai aproksimasi.
Aproksimasi dilakukan dengan menggunakan titik awal yang telah ditentukan terlebih dahulu untuk mencari nilai pada iterasi berikutnya
dengan algoritma rekursif :
k k k k g x F x x 1 ( ) 1 , dimana F( xk ) adalah
matriks Hessian untuk xk dan g(k) f(xk). Untuk menjamin metode ini merupakan algoritma turun, algoritma dimodifikasi ke
dalam bentuk
x
k 1x
k kF
(
x
k)
1g
kdimana k dipilih untuk memastikan bahwa
) ( )
(xk 1 f xk
f . Misalnya pemilihan k
dapat dilakukan dengan menggunakan
. ) ( ( min arg 0 1 ( ) k k k g x F x f .
Kemudian dengan menggunakan nilai
pendekatan untuk k ini dan memilih koefisien
koefisien garis berarahnya dk F(xk) 1gk, maka dapat ditulis
x
k 1x
k kd
k. Telahdiketahui bahwa
f
(
x
k kd
k)
f
(
x
k)
, iniberarti bahwa f(xk 1) f(xk).
Kendala yang sering dihadapi pada
metode Newton ini adalah bagaimana
menentukan atau menghitung nialai F(xk) dan menyelesaikan persamaan F(xk)dk g(k) ( menghitung dk F(xk) 1g(k). Untuk menghindari perhitungan F(xk)-1, metode Quasi Newton mencoba untuk mencari suatu nilai pendektan kepada F(xk)-1 ini secara iterative. Aproksimasi dilakukan dengan memperbaharui setiap langkahnya samapi mendekati nilai
sebenarnya. Untuk mendapatkan suatu
aproksimasi yang baik haruslah
dipertimbangkan aturan
x
k 1x
k kH
kg
(k) dimana Hk adalah matriks n x n yang merupakanhasil aproksimasi untuk nilai F(xk)-1.
)
(
)
(
)
(
)
(
x
k 1f
x
kg
(k)x
k 1x
ko
x
k 1x
kf
T)
(
)
(
x
kg
(k)H
kg
(k)o
H
kg
(k)f
TKarena cenderung menuju nol, maka bagian kedua persamaan diatas mendominiasi bagaian yang ketiga. Jadi untuk menjamin suatu pengurangan dalam f untuk nilai yang kecil haruslah membuat
g
(k)TH
kg
(k)0
. Cara yang paling sederhana untuk meyakinkan hal ini adalah dengan mengharuskan Hk definitivepositif.
III. CARA PENELITIAN
Program bantu yang digunakan untuk pencarian titik minimum fungsi dalam penelitian ini adalah bahasa pemrograman Matlab yang mempunyai kemampuan perhitungan, visualisasi dan pemrograman dalam suatu lingkungan yang mudah untuk digunakan karena permasalahn dan
pemecahannya dinyatakan dalam notasi
matematika biasa. Bahasa pemrograman ini juga merupakan sistem interaktif dengan elemen dasar array yang dimensinya tidak perlu
dinyatakan secara khusus sehingga
memungkinkan untuk digunakan dalam
pemecahan masalah perhitungan teknik
khususnya yang melibatkan matriks dan vector dalam waktu singkat.
Langkah-langkah pencarian titik
minimum fungsi dalam penelitian ini adalah sebagai berikut :
1. Menentukan titik awal untuk masing-masing fungsi testing
2. Menerapkan kedua lagoritma Quasi Newton untuk mencari titik minimum fungsi
berdasarkan titik awal yang didapat pada langkah 1.
3. Menghtiung banyaknya iterasi, waktu proses ( CPU time ) dan banyaknya flops untuk setiap algoritma pada langkah 2.
4.
Menetukan efektifitas dan efisiensi algoritma berdasarkan hasil yang didapat pada langkah3.
IV.HASIL PENELITIAN & PEMBAHASAN 4. 1. EFEKTIFITAS ALGORITMA
Untuk mengukur efektifitas kedua
algoritma Quasi Newton ( algoritma Rank One dan algoritma DFP ), digunakan sepuluh titik awal yang ditentukan secara random untuk masing-masing fungsi testing dan apabila diimplementasikan maka didapat hasil sebagai berikut :
1. Fungsi Rosenbrock
Tabel 1 Tabel perbandingan titik awal dan nilai f Min Fungsi Rosenbrock untuk algoritma Rank One
Titik Awal
Sifat Jenis (x1, x2)min Fmin Iterasi
( 1, 2) Conv Global ( 1, 1 ) 0 11 ( 2, 2 ) Conv Global ( 1, 1 ) 0 46 ( 0, 1 ) Conv Global ( 1, 1 ) 0 33 ( 0, 3 ) Conv Global ( 1, 1 ) 0 15 ( -2, 2 ) Conv Global ( 1, 1 ) 0 14 ( 4, 3 ) Div - - - - ( -2, 4 ) Div - - - - ( -5, 2 ) Conv Global ( 1, 1 ) 0 28 ( 3, 5 ) Div - - - - ( 4, 4 ) Div - - - -
Tabel 2 Tabel perbandingan titik awal dan nilai f Min Fungsi Rosenbrock untuk algoritma DFP
Titik Awal
Sifat Jenis (x1, x2)min Fmin Iterasi
( 1, 2) Conv Global ( 1, 1 ) 0 11 ( 2, 2 ) Conv Global ( 1, 1 ) 0 46 ( 0, 1 ) Conv Global ( 1, 1 ) 0 33 ( 0, 3 ) Conv Global ( 1, 1 ) 0 15 ( -2, 2 ) Conv Global ( 1, 1 ) 0 14 ( 4, 3 ) Div - - - - ( -2, 4 ) Conv Global ( 1, 1 ) 0 14 ( -5, 2 ) Conv Global ( 1, 1 ) 0 28 ( 3, 5 ) Conv Global ( 1, 1 ) 0 31 ( 4, 4 ) Div - - - - 2. Fungsi Goldstein
Tabel 3 Tabel perbandingan titik awal dan nilai f Min Fungsi Goldstein untuk algoritma Rank One
Titik Awal
Sifat Jenis (x1, x2)min Fmin Iterasi
( 1, -1) Conv Global ( 0, -1 ) 3 9 ( 1, -2 ) Conv Global ( 0, -1 ) 3 9 ( 2, 3 ) Conv Global ( 0, -1 ) 3 9 ( 0, 0.05 ) Conv Global ( 0, -1 ) 3 10 ( 0, 2 ) Conv Global ( 0, -1 ) 3 10 ( 3, 5 ) Div - - - - ( 1, 6 ) Div - - - - ( -3, 4 ) Conv Global ( 0, -1 ) 3 15 ( 5, 2 ) Conv Global ( 0, -1 ) 3 14 ( -3, 3 ) Conv Global ( 0, -1 ) 3 16
Tabel 4 Tabel perbandingan titik awal dan nilai f Min Fungsi Goldstein untuk algoritma DFP
Titik Awal
Sifat Jenis (x1, x2)min Fmin Iterasi
( 1, -1) Conv Global ( 0, -1 ) 3 10 ( 1, -2 ) Conv Global ( 0, -1 ) 3 8 ( 2, 3 ) Conv Global ( 0, -1 ) 3 10 ( 0, 0.05 ) Conv Global ( 0, -1 ) 3 11 ( 0, 2 ) Conv Global ( 0, -1 ) 3 41 ( 3, 5 ) Div - - - - ( 1, 6 ) Div - - - - ( -3, 4 ) Conv Global ( 0, -1 ) 3 19 ( 5, 2 ) Conv Global ( 0, -1 ) 3 18 ( -3, 3 ) Conv Global ( 0, -1 ) 3 16
D.2 Kompleksitas Waktu Algoritma
Kompleksitas waktu dapat ditentukan dengan terlebih dahulu mengubah persamaan rekursif dari algoritma menjadi persamaan non-rekursif dengan metode analisis. Persamaan rekursif dari kedua lagoritma Quasi Newton
mempunyai bentuk yang sama yaitu :
k k k k
d
x
x
1 . Bentuk persamaan ini dapatdisederhanakan menjadi bentuk
bk
x
x
k 1 k . Persamaan homogen daripersamaan rekursif ini adalah
x
k 1x
k0
. Jika persamaan homogen ini dibagi denganx
k 1 didapat hasil : xk+1 didapat hasil : x-1= 0 . Jika f(k) = bk dimana t = 1 dan d = 1 maka diperoleh persamaan karakteritik yaitu (x -1 )( x - t )d+1 = 0 atau ( x-1 )( x-1)2 = 0. Dengandemikian untuk masing-masing algoritma
mempunyai kompleksitas waktu yang sama yaitu :
T
(
k
)
c
1c
2k
c
3k
2o
(
k
2)
. Kondisi ini bukan berarti bahwa waktu hanya memberi arti bahwa untuk masing-masing algoritma, untuk data masukan k yang besar maka pertumbuhan T ( k ) sebanding dengan k2.D.3. Efisiensi Waktu Proses
Untuk mengukur efisiensi waktu proses kedua algoritma Quasi Newton, titik awal yang digunakan dalam proses itersi adalah titik awal yang dapat mengakibatkan algoritma Quasi
Newton konvergen pada titik minimal global yaitu titik ( 1, 2 ) untuk fungsi Rosenbrock dan titik ( 1, -1 0 untuk fungsi Goldstein. Dari penerapan algoritma Quasi Newton untuk masing-masing gfungsi testing diperoleh hasil sebagai berikut :
Tabel 5 Perbandingan banyaknya Iterasi, banyaknya flops dan CPU time untuk fungsi Rosenbrock dengan titik awal ( 1, 2 )
PARAMETER Algoritma Rank One DFP Iterasi 11 15 Flops 85952 118243 CPU time 11.70 16.59
Tabel 6 Perbandingan banyaknya Iterasi, banyaknya flops dan CPU time untuk fungsi Goldstein dengan titik awal ( 1, -1 )
PARAMETER Algoritma Rank One DFP Iterasi 9 10 Flops 134961 150847 CPU time 15.76 17.08 D.4. Banyaknya Iterasi 1. Fungsi Rosenbrock
Perbandingan banyaknya iterasi dan nilai f Min yang diperoleh pada masing- masing algoritma dapat dilihat pada table 7.
Tabel .7. Tabel Perbandingan iterasi dan nilai f Min fungsi Rosenbrock
Iterasi Rank One DFP
1 1.3797e-001 1.3797e-001 2 1.3029e-001 1.3029e-001 3 9.0670e-002 9.0670e-002 4 5.6432e-0.02 6.0820e-0.02 5 3.6161e-0.02 5.5645e-0.02 6 3.6161e-0.02 3.8488e-0.02 7 2.41514e-0.04 2.6134e-0.02 8 1.2407e-0.04 1.2830e-0.02 9 1.5860e-0.07 4.1012e-0.03 10 9.7990e-0.10 1.6556e-0.03 11 5.0398e-0.15 2.3700e-0.04 12 8.9859e-0.06 13 1.2484e-0.07 14 3.7013e-0.11 15 2.3145e-0.16
Dari table 7 terlihat bahwa untuk fungsi Rosenbrock, konvergensi algoritma Rank One lebih cepat tercapai yaitu pada iterasi ke sebelas dengan nilai f Min sebesar 5.0398e-0.15. Sedangkan untuk algoritma DFP konvergensi tercapai pada iterasi ke lima belas dengan nilai fMin 2.3145e-0.16
2. Fungsi Goldstein
Tabel 8. Tabel Perbandingan iterasi dan nilai f Min fungsi Goldstein
Iterasi Rank One DFP
1 3.7202e+002 1.3797e+002 2 2.6542e+003 1.3029e+003 3 2.6491e+003 9.0670e+003 4 3.4588e-000 6.0820e+000 5 3.4483e-000 5.5645e+000 6 3.3228e-000 3.8488e+000 7 3.0029e-000 2.6134e+000 8 3.0000e-0.00 1.2830e+000 9 3.0000e-0.00 4.1012e+000 10 1.6556e+000
Dari table 8 terlihat bahwa untuk fungsi Goldstein, konvergensi algoritma Rank One lebih cepat tercapai yaitu pada iterasi ke
sembilan dengan nilai fMin sebesar
3.0000e+000, sedangkan untuk algoritma DFP tercapai pada iterasi ke sepuluh dengan nilai fMin sebesar 3.0000e+000.
Dari hasil pembahasan tentang
banyaknya iterasi diatas, dapat dikatakan bahwa untuk fungsi Rosenbrock dengan titik awal ( 1, 2 ) dan fungsi Goldstein dengan titik awal ( 1, -1 ), algoritma Rank One lebih efisien dibandingkan dengan algoritma DFP.
D.5.Banyaknya Flops
Perbandingan banyaknya flops dari tiap algoritma untuk masing-masing fungsi testing dapat dilihat pada table 9 dibawah ini.
Tabel 9 Perbandingan banyaknya flops
Fungsi Rank One DFP
Rosenbrock 85952 118243
Goldstein 60379 60204
Dari table 9 terlihat bahwa banyaknya flops minimum untuk fungsi Rosenbrock terdapat pada algoritma Rank One yaitu sebesar 85952. Untuk fungsi Goldstein, flops minimum juga terdapat pada algoritma Rank One yaitu sebesar 134961.
D.6 Waktu Proses ( CPU time )
Perbandingan lamanya waktu proses ( CPU time ) dari tiap algoritma untuk masing-masing fungsi testing dapat dilihat pada table 10 dibawah ini.
Tabel 10 Perbandingan lamanya waktu proses
Fungsi Rank One DFP
Rosenbrock 11.70 16.59
Goldstein 12.30 11.81
Dari table 10 terlihat bahwa CPU time minimum
untuk fungsi Rosenbrock terdapat pada
algoritma Rank One 11.70 detik. Untuk fungsi Goldstein, Cpu time minimum juga terdapat pada algoritma Rank One sebesar 15.76 detik
Dari hasil pembahasan tentang
banyaknya flops dan lamanya waktu proses ( CPU time ) ditas, dapat dikatakan bahwa fungsi Rosenbrock dengan titik awal ( 1, 2 ) dan fungsi Goldstein dengan titik awal ( 1, -1 ), algoritma Rank One lebih efisien dibandingkan algoritma DFP.
DAFTAR PUSTAKA
Becker, R.W. 1978. A Global Optimization
Algorithm ,Monticallo Illionis
Fletcher, R.1980. Practical Method of
Optimization , Willey, Chichester, New
York.
Edwin K.P, Chong and Stanislaw H.Zak.1996,
An Introduction to Optimization , John
Willey and Sons.Inc
Phua, P.k.H and B.W.Chew, Symetric Rank One
Update and Quasi Newton Methods in Optimization : Technique and Application,
edited by PKH Phua, CM Chang, WY Yeong,et al
Rao, SS. 1977. Optimization Theory and
Application , John Willey and Sons.Inc
Ronald, S.2001.Optimization with the Quasi
Newton Method, Aptech System.Inc,