Algoritma Golden Section Search

Download Report

Transcript Algoritma Golden Section Search

Algoritma Golden Section
Search untuk Mencari Solusi
Optimal pada Pemrograman
Non Linear Tanpa Kendala
Eni Sumarminingsih
Jurusan Matematika
Fakultas MIPA
UNIVERSITAS BRAWIJAYA
PENDAHULUAN
Secara umum masalah pemrograman nonlinear
dapat dinyatakan sebagai berikut:
Tentukan nilai variabel keputusan x , x ,..., x untuk
permasalahan
max (atau min) z  f  x1 , x 2 ,..., x n 
1
dengan kendala
2
g 1  x 1 , x 2 ,..., x n  ,  ,  b1
g 2  x 1 , x 2 ,..., x n  ,  ,  b 2

g m  x 1 , x 2 ,..., x n  ,  ,  b m
di mana f dan g adalah fungsi nonlinear
n
PENDAHULUAN
Pemrograman nonlinear tanpa kendala dengan satu
peubah :
max (atau min)
f x 
x  a , b 
1.Tentukan semua maksimum (minimum) lokal
2.Tentukan nilai f(x) untuk semua maksimum (minimum)
lokal.
3.Nilai f(x) terbesar (terkecil) merupakan solusi optimal
Mencari Ekstremum
(Maksimum atau Minimum)
Lokal
Terdapat tiga kasus di mana calon titik
optimal dapat ditemukan, yaitu
1. Titik x* yang terletak pada [a,b] bila
f’(x*) = 0
2. Titik x* ketika f’(x*) tidak didefinisikan.
3. Titik batas a dan b.
• Masalah akan muncul bila f’(x*) = 0 sulit
dievaluasi
Algoritma Golden Section
Search (kasus maksimisasi)
Syarat : f(x) harus bersifat unimodal pada
[a,b], artinya jika x* adalah titik optimal
pada [a,b] maka
• f(x) adalah fungsi monoton naik pada
interval [a,x*]
• f(x) adalah fungsi monoton turun pada
interval [x*,b]
Algoritma Golden Section
Search
Konsep Dasar :
Penyempitan selang
a
x1
x3 x* x4
x2
b
Algoritma Golden Section
Search
Panduan mempersempit selang
• Jika f ( x1 )  f ( x 2 ) ,persempit selang menjadi
[ x1 , b ]
• Jika f ( x1 )  f ( x 2 ) ,persempit selang menjadi
[a , x 2]
• Jika f ( x1 )  f ( x 2 ) ,persempit selang menjadi
[a , x 2]
Selang [a , x 2] atau [ x 1 , b ] di mana x* mungkin
berada dinamakan selang ketidakpastian (SK)
Algoritma Golden Section
Search
Algoritma :
1. Tetapkan I k = Interval (selang ketidakpastian) pada iterasi k.
selang ketidakpastian untuk iterasi 0 adalah [a,b]. Kemudian
evaluasi f ( x 1 ) dan f ( x 2 ) di mana :
x1  b  r ( b  a )  b  rL k
x 2  a  r ( b  a )  a  rL k
Dengan L k = panjang selang ketidakpastian pada iterasi
k.
Untuk iterasi 0 , L 0 = |a – b|.
r adalah akar dari persamaan r 2  r  1 atau
r = 0.618.
a = batas bawah selang ketidakpastian
b = batas atas selang ketidakpastian.
Algoritma Golden Section
Search
2. Tentukan Selang Ketidakpastian baru ( I k 1 )
berdasar panduan yang telah dijelaskan
sebelumnya.
3. Kembali ke langkah 1 sampai didapat L k 
yang cukup kecil

Algoritma Golden Section
Search
Alasan dipilihnya r yang merupakan akar dari
persamaan r 2  r  1 adalah masalah efisiensi.
Bukti
• Jika f ( x1 )  f ( x 2 ) , selang dipersempit menjadi
[ x 1 , b ] sehingga x3 dan x4 dapat diperoleh dari
x 3  b  r ( b  x1 )
2
 b  r [ r ( b  a )]  b  r ( b  a )
 b  (1  r )( b  a )  b  b  a  rb  ra
 a  r (b  a )  x 2
x 4  x1  r ( b  a )
Algoritma Golden Section
Search
• Jika f ( x ) 
, selang dipersempit menjadi
sehingga x3 dan x4 dapat diperoleh dari
1
f ( x2 )
x3  x 2  r  x 2  a 
x 4  a  r ( x 2  a )  a  r [ r ( b  a )]
 a  r ( b  a )  a  (1  r )( b  a )
2
 a  b  a  rb  ra  b  r ( b  a )
 x1
[a, x2 ]
Algoritma Golden Section
Search
• keistimewaan lainnya adalah dapat
diketahuinya banyak iterasi yang akan
dilakukan bila diketahui nilai  yang
dikehendaki
Algoritma Golden Section
Search
Lk  r b  a  r L0
k
k
Iterasi akan berhenti bila
Lk  r b  a  r L0  
k
k
r   / L0
k
ln r  ln  / L 0
k
k ln r  ln  / L 0
karena nilai ln r adalah negatif maka didapat
k 
ln(  / L 0 )
ln r
Contoh aplikasi
Max f ( x )  x  e x
s.t -1  x  3
Iterasi 0
I 0 = [-1,3]
L 0 = |-1 – 3 | = 4
x1  b  r ( b  a )  b  rL 0 = 3 – 0.618 (4) = 0.528
x 2  a  r ( b  a )  a  rL 0 = -1 + 0.618(4) = 1.472
f ( x1 )  x1  e
x1
f (x2 )  x2  e
 0 . 528  e
x2
f ( x1 )  f ( x 2 )
0 . 528
 1 . 472  e

1 . 472
  1 . 1675
  2 . 886
I1  [a, x2 ]
= [-1, 1.472]
Contoh aplikasi
Iterasi 1
I 1 = [-1, 1.472]
L 1 =| -1 – 1.472 | = 2.472
x1  b  r ( b  a )  b  rL 1 = 1.472- 0.618(2.472) = -0.0557
x 2  a  r ( b  a )  a  rL 1 = -1 + 0.618(2.472) = 0.5277
f ( x1 )  x1  e
x1
f (x2 )  x2  e
f ( x1 )  f ( x 2 )
  0 . 0557  e
x2
 0 . 0557
 0 . 5277  e

0 . 5277
  1 . 00152
  1 . 1673
I 1  [ a , x 2 ]  [  1, 0 . 5277 ]
Penutup
• Algoritma Golden Section Search dapat
digunakan untuk mencari solusi optimal
pada Pemrograman Nonlinear Tanpa
Kendala dengan Satu Peubah.
• Algoritma ini efisien
TERIMA KASIH