Vous êtes sur la page 1sur 17

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]

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 )

, selang dipersempit menjadi[a, x2 ]


sehingga x3 dan x4 dapat diperoleh dari
f ( x2 )

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

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
= -10+
0.618(2.472) =
.0557

f ( x1 ) x1 e 0.0557 e
0.5277

x1

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

Vous aimerez peut-être aussi