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
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