Anda di halaman 1dari 19

08/11/2014

Optimisasi
Optimis
asi Single Variable

Contoh fungsi single variable


(i) a discrete function

(ii) a discontinuous function


10 0

80

5
60

4
3

40

20

1
0

0
0

0.5

1.5

2.5

-20

-40

0. 5

1.5

2.5

3.5

4. 5

(iii) a continuous function


Y

08/11/2014

Fungsi unimodal kontinyu


f(x)

Prinsip-prinsip dasar Metoda kalkulus


Single-variable optimization

f(x)

A2

A1

A3

A1, A2, A3 : Relative maxima


A2 : Global maximum
B1, B 2 : Relative minima
B1 : Global minimum

B2

.
B1
x
a

Gambar 2.1 titik Local and global optimum pada fungsi multimodal

08/11/2014

Single-variable optimization kriteria


optimalitas
Theorem 1: syarat perlu
Syarat perlu untuk x* untuk menjadi local minimum atau
maximum suatu fungsi f(x) pada interval (a, b) adalah
(2.1)

f '(x*) 0

Jika persamaan. (2.1) dipenuhi, maka x* adalah stationary


point dari f(x), yang bisa diklasifikasikan sebagai suatu
minimum, maximum atau suatu inflection point. Suatu
titik yang menjadi kandidat optimum harus memenuhi
syarat perlu

Single-variable optimization

f(x)
global maximum

inflection point

local minimum
global minimum

x
Gambar 2.2. Stationary points.

08/11/2014

Contoh saddle point f(x)=x3

80

x=0, adalah stationary point


yang menjadi saddle point
atau inflection point bukan
local optimum

60
40

f(x)=x3

20
0
-20
-40
-60
-80

0
x

Single-variable optimization
Theorem 2: Syarat Cukup.
Misalkan semua turunan suatu fungsi sampai dengan order (n-1) sama
dengan nol dan turunan order ke n tidak sama dengan nol:
f '(x*) f ''(x*) ... f (n 1) (x*) 0

dimana

f (n ) (x)

f (n ) (x*) 0

d n f (x)
dx n

(2.2)
(2.3)

Jika n ganjil maka x* adalah saddle point atau inflection point.


Jika n genap, maka x* adalah local optimum, yaitu:
Jika f (n ) (x*) 0 , maka x* adalah a local minimum.
Jika

f (n ) (x*) 0 , maka x* adalah a local maximum.

08/11/2014

Catatan
Syarat perlu dan syarat cukup, mensyaratkan bahwa
fungsi yang dievaluasi harus twice differentiable.
Jika fungsi tersebut tidak differentiable maka syarat
cukup dan perlu tadi tidak bisa diterapkan, dan perlu
digunakan metoda lain (bukan kalkulus) untuk
menyelesaikannya.

Contoh
f ( x) x3
df
0, x 0
dx
d2 f
0, x 0
dx 2
d3 f
6
dx 3
Karena n=3 (ganjil), maka x=0 adalah titik infleksi.

08/11/2014

Contoh
165 4
f(x) 5 x 6 36 x 5
x 60 x 3 36
2
df
5
4
30 x 180 x 330 x 3 180x 2
dx
30 x 2 ( x 1)( x 2)( x 3)
Turunan pertama ini bernilai 0 pada x = 0, 1, 2, dan 3,
sehingga titik-titik ini diklasifikasikan sebagai titik stasioner.

d2f
150 x 4 720 x 3 990 x 2 360 x
2
dx

lanjutan
x

f(x)

d2f/dx2

36

27.5

60

44

-120

-4.5

540

Pada x=1,3 fungsi mencapai local minima dan pada


x=2, fungsi mencapai local maximum.

08/11/2014

Pada x=0, didapat

d3 f
600 x 3 2160 x 2 1980 x 360 360
3
dx
Sehingga x=0 adalah titik infleksi.

Fungsi Convex
Suatu fungsi dengan n variabel f(x) didefinisikan dalam
set convex D dikatakan Convex jika dan hanya jika untuk
sembarang dua titik x(1) dan x(2) dalam D dan 01,
f( x(1) + (1 - ) x(2)) f(x(1))+ (1- )f(x(2))

08/11/2014

Properti fungsi convex


Garis yang menghubungkan dua titik sembarang yang
terletak dalam kurva selalu berada pada atau di atas
kurva diantara dua titik tersebut.
Slope atau turunan pertama dari f(x) increasing atau
tidak decreasing ketika x increase.
Turunan kedua dari f(x) selalu nonnegative untuk semua
x dalam interval
Linear approximation dari f(x) pada sembarang titik di
dalam interval tersebut selalu underestimate nilai fungsi
aslinya.
Untuk suatu fungsi convex, suatu local minimum
selalu sekaligus menjadi global minimum

Fungsi convex
f(x2)

f(x1)+(1-)f(x2)
f(x)
f(x1)

f[x1+(1-)x2]

x1

x1+(1-)x2

x2

Garis yang menghubungkan dua titik sembarang yang


terletak dalam kurva selalu berada pada atau di atas kurva
diantara dua titik tersebut.

08/11/2014

f(x)
f(x)
f(x0)
f(x0)+ f(x0)(x-x0)

x0

Linear approximation dari f(x) pada sembarang titik di


dalam interval tersebut selalu underestimate nilai fungsi
aslinya.

Contoh: Polynomial Problem


Misal: max f ( x ) x 3 3 x 2 9 x 10
pada interval of [-2,4].

df
dx

x x*

3 x 2 6 x 9 0 x* 3,1
40

and f(3)=37, f(-1)=5


3 adalah optimum point.

35

30

f(x)

25

20

15

10

5
-2

-1

x*

08/11/2014

2. Example- Continued
Carilah nilai minimum dari f(x)=3x2+12/x-5
df/dx=6x-12/x2=0

Solutions Methods (1)


Analytical Approach

Problem:
min f x
x

s.t. a x b

Algorithm
Step 1: Set df/dx=0 and solve all stationary points.
Step 2: Select all stationary point x1, x2,,xN in [a,b].
Step 3: Compare function values f(x1), f(x2),,f(xN) and
find global minimum.

10

08/11/2014

Example: Polynomial Problem


max f ( x) x 3 3x 2 9 x 10

Example:
In the interval of [-2,4].

df
dx

x x*

3 x 2 6 x 9 0 x* 3,1
40

and f(3)=37, f(-1)=5

35

3 is the optimum point.

30

f(x)

25

20

15

10

5
-2

-1

x*

Problems
Cost function harus dinyatakan secara eksplisit
Turunan dari fungsi ongkos harus dituliskan
secara eksplisit
Selesaiakn persamaan turunan
Dalam banyak kasus persamaan turunan tidak
diselesaikan secara analitik tetapi secara
numerik, misalnya menggunakan metoda
Newtons yang lebih mudah dibanding
menggunakan cara analitik

11

08/11/2014

Problems - Continued

x*
a

Location of global
minimum

Metoda Search single variable


Min f(x), st a x b
Masalah yang sering kita hadapi
Untuk sembarang titik x mungkin f(x) tidak eksis
jadi kita tidak bisa menggunakan metoda kalkulus. Perlu
suatu metoda yang tidak memerlukan f(x).
f(x)=0, sulit dicari solusinya
Untuk fungsi tertentu, kadang-kadang f(x) = 0 tidak mudah
dicari solusinya. Apalagi kalau f(x) mempunyai pangkat
pecahan. Untuk itu perlu dicari cara bagaimana menemukan
titik optimal yang tidak memakai turunan.
Metodanya antara lain: Interval halving, Golden section

12

08/11/2014

Interval halving (tidak memakai gradien)

Kita asumsikan fungsi f(x) adalah fungsi


minimasi unimodal dalam selang [a,b]. Dalam
interval halving kita bagi interval pencarian
menjadi empat bagian yang sama dan dalam
setiap iterasi kita kurangi intervalnya menjadi
separuh dari interval semula.

Interval Halving
f(x)

Minimum terletak antara (a,x2)

f2
f1
fm
x
a

x1

xm

x2

Situasi dimana f(x1)<f(x2)

13

08/11/2014

Interval Halving
f(x)

Minimum terletak antara (x1,b)

f1

f2
fm

a x1

x
xm

x2

Situasi dimana f(x1)>f(x2)

Algoritma Interval halving

Ulangi sampai kriteria penghentian dipenuhi


L=b-a;
xm=(a+b)/2;
x1=a+L/4;
x2=b-L/4;
Hitung f(x1), f(x2) dan f(xm)
Jika f(x1)<= f(xm)
maka eliminasi (xm,b) dan set b=xm;
jika f(x2)<= f(xm)
maka eliminasi (a,xm) dan set a=xm;
jika f(xm) f(x1) dan f(xm) f(x2)
maka eliminasi (a,x1) dan set a=x1;
eliminasi (x2,b) dan set b=x2;
Selesai

14

08/11/2014

Contoh

Carilah minimum dari f(x)=(100-x)2,


80 x 110, dengan interval halving
a=80, b=110, L=110-80=30
xm=0.5(80+110)=140
x1=80+(1/4) 30=87.5, x2=110-(1/4) 30=102.5
f(x1)=(100-87.5)2=
f(x2)=(100-102.5)2= dst

30

Golden Section
Golden section search, salah satu metoda untuk mencari titik
optimal pada single variabel jika diketahui interval awal b-a

f(x)

Golden section ratio:

(1-)L0

L0

L0

x3

1 5
0,61803...
2

1-

(1-)L0

x1

x2

2L0
L0

15

08/11/2014

Ide dasar
(untuk kasus minimasi fungsi)
Kita ambil 2 titik x1 < x2 dalam L=[a,b], bandingkan
f(x1) dan f(x2), jika
kasus 1
Dalam kasus minimasi jika f(x1) < f(x2) maka kita
eliminasi area x > x2 sehingga x*[a,x2].
kasus 2
f(x1) = f(x2) maka eliminasi area x < x1 dan x > x2 ,
sehingga x*[x1,x2].
kasus 3
f(x1) > f(x2) maka eliminasi area x < x1 sehingga
x*[x1,b]

16

08/11/2014

Dalam hal ini berlaku prinsip L1=L2+L3

L2=L3+L4 dan
jika L2 = rL1 dan L3= rL2 = r2L1 ,
dimasukkan ke dalam L1=L2+L3, maka akan
didapat
L1= rL1+ r2L1 r+r2-1=0
Dengan menyelesaikan persamaan kuadrat ini
ditemukan r=0.618.

34

Golden section search


Panjang interval awal mencakup titik optimal:
L0 = b a
Fungsi f(x) dievaluasi pada 2 titik:

x1 a (1 )L0
x 2 a L 0
jika f(x1) < f(x2), maka x* terletak dalam interval (a, x2).
jika f(x1) f(x2), maka x terletak dalam interval (x1, b).
Panjang interval baru: L1 x 2 a b x1 = L0

17

08/11/2014

35

Golden section search


Panjang dari interval of uncertainty setelah N iterasi:

L N N L0
jumlah iterasi yang diperlukan untuk suatu interval of
uncertainty, LN:
N

n L N L0

n
Convergence criteria:
(i)
N N max

(ii)

L N 1

(iii)

f x N 1 f x N 2

Algoritma: Golden-Search

Tentukan a, b
Lakukan sampai stopping criteria tercapai (jumlah
iterasi)
r=0.618;
x1= a+(1-r)*(b-a);
x2= a-r*(b-a);
jika f(x1) > f(x2), a=x1;
jika f(x1)=f(x2), a=x1,b=x2;
Untuk lainnya (f(x1)<f(x2))
b=x2;

end

18

08/11/2014

Contoh f(x)=(100-x)2 60<=x<=110


Gunakan a=60, b=110, r=0.618

19

Anda mungkin juga menyukai