Algoritma Golden Section Search

Algoritma Golden Section
Search untuk Mencari
Solusi Optimal pada
Eni Sumarminingsih
Pemrograman
Non Linear
Jurusan Matematika
Fakultas
MIPA
Tanpa
Kendala
UNIVERSITAS BRAWIJAYA

PENDAHULUAN
Secara umum masalah pemrograman
nonlinear dapat dinyatakan sebagai berikut:
Tentukan nilai variabel keputusan
x1 , x2 ,..., xn
untuk permasalahan
max (atau min) z  f  x1 , x 2 ,..., x n 
dengan kendala


g1  x1 , x 2 ,..., x n  , , b1
g 2  x1 , x 2 ,..., x n  , , b2


di mana f dan g adalah
nonlinear
g m  x1 , xfungsi
2 ,..., x n  , , bm

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

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
b

x2


Algoritma Golden Section
Search
Panduan mempersempit selang
• Jika f ( x1 )  f ( x2 ) ,persempit selang menjadi

[ x1 , b]

• Jika f ( x1 )  f ( x2 ),persempit selang menjadi [
a, ]x2
• Jika f ( x1 )  f ( x2 ) ,persempit selang menjadi [
a, ]x2
Selang [
] atau
di mana x* mungkin
[
x
,
b
]

a, xdinamakan
1 selang ketidakpastian (SK)
2
berada

Algoritma Golden Section
Search
Algoritma :
1. Tetapkan I k = Interval (selang ketidakpastian) pada
iterasi k. selang ketidakpastian untuk iterasi 0 adalah
f ( x2 )
f ( x1 ) evaluasi
[a,b]. Kemudian
dan
di mana :
x1 b  r (b  a ) b  rLk
x2 a  r (b  a) a  rLk

DenganLk = panjang selang ketidakpastian pada iterasi
k.

Untuk iterasi 0 L, 0 = |a – b|.
2
r
 r 1
r adalah akar dari persamaan
atau
r = 0.618.
a = batas bawah selang ketidakpastian
b = batas atas selang ketidakpastian.

Algoritma Golden Section
Search
( I k 1 )
2. Tentukan Selang Ketidakpastian baru
berdasar panduan yang telah dijelaskan
sebelumnya.
3. Kembali ke langkah 1 sampai didapat
Lk  
yang cukup kecil


Algoritma Golden Section
Search
Alasan dipilihnya r yang merupakan akar dari
persamaan r 2  r 1adalah masalah efisiensi.
Bukti
• Jika f ( x )  f ( x ,)selang dipersempit menjadi

[ x1 , b]

1

2

sehingga x3 dan x4 dapat diperoleh
x3 b  r (b  x1 )
dari
b  r[r (b  a)] b  r 2 (b  a)

b  (1  r )(b  a) b  b  a  rb  ra


a  r (b  a )  x2

x4  x1  r (b  a )

Algoritma Golden Section
Search
• Jika f ( x1 )  f ( x2 ) , selang dipersempit menjadi[a, x2 ]
sehingga x3 dan x4 dapat diperoleh dari

x3  x2  r  x2  a 

x4 a  r ( x2  a ) a  r[r (b  a )]

a  r 2 (b  a) a  (1  r )(b  a)

a  b  a  rb  ra b  r (b  a)
 x1

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 k b  a r k L0
k
k
L

r
b

a

r
L0  

Iterasi akan berhenti bilak

r k   / L0

ln r k  ln  / L0
k ln r  ln  / L0

karena nilai ln r adalah negatif maka didapat

ln( / L0 )
k
ln r

Contoh aplikasi
Max f ( x)  x  e x
s.t -1  x  3
Iterasi 0
I 0 = [-1,3]
L0 = |-1 – 3 | = 4


x1 b  r (b  a ) b  rL0 = 3 – 0.618 (4) =
x20.528
a  r (b  a) a  rL0
0.528
f ( x1 )  x1  e x1 0.=
528-1
 e+
 1.1675 = 1.472
0.618(4)

f ( x 2 )  x 2  e x2 1.472  e1.472  2.886

f ( x1 )  f ( x 2 )



I 1  [ a , x2 ]

= [-1, 1.472]

Contoh aplikasi
Iterasi 1
I1 = [-1, 1.472]
L1 =| -1 – 1.472 | = 2.472

x1 b  r (b  a ) b  rL1 = 1.472- 0.618(2.472) =
x2-0.0557
a  r (b  a ) a  rL1
= -1 0+
0.618(2.472) =
.0557

x1

f ( x1 )  x1  e  0.0557  e
0.5277

 1.00152

f ( x 2 )  x 2  e x2 0.5277  e 0.5277  1.1673
f ( x1 )  f ( x 2 )



I1  [a, x2 ] [ 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