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

6 80

5
60
4

3 40

2
20
1
0
0
0 0.5 1 1.5 2 2.5 3 -20

-40
0 0. 5 1 1.5 2 2.5 3 3.5 4 4. 5 5

(iii) a continuous function

1
08/11/2014

Fungsi unimodal kontinyu

f(x)

Prinsip-prinsip dasar Metoda kalkulus


f(x) Single-variable optimization
A1, A2, A3 : Relative maxima
.
A2 A2 : Global maximum
B1, B 2 : Relative minima
B1 : Global minimum
.
A1 A3
.
.
B2

.
B1
x
a b

Gambar 2.1 titik Local and global optimum pada fungsi multimodal

2
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

f '(x*) 0 (2.1)

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

Gambar 2.2. Stationary points.

3
08/11/2014

Contoh saddle point f(x)=x3

80
x=0, adalah stationary point
60 yang menjadi saddle point
atau inflection point bukan
40
local optimum
20
f(x)=x3

-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 f (n ) (x*) 0 (2.2)

d n f (x)
dimana f (n ) (x) (2.3)
dx n

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.

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

5
08/11/2014

Contoh
165 4
f(x) 5 x 6 36 x 5 x 60 x 3 36
2
df
30 x 180 x 330 x 3 180x 2
5 4

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
2
150 x 4 720 x 3 990 x 2 360 x
dx

lanjutan
x f(x) d2f/dx2
0 36 0
1 27.5 60
2 44 -120
3 -4.5 540

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


x=2, fungsi mencapai local maximum.

6
08/11/2014

Pada x=0, didapat

d3 f
3
600 x 3 2160 x 2 1980 x 360 360
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))

7
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(x1)+(1-)f(x2) 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.

8
08/11/2014

f(x)

f(x)
f(x0)

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

x0 x

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
x x* 3 x 2 6 x 9 0 x* 3,1
dx
40

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

3 adalah optimum point. 30

f(x) 25

20

15

10

5
-2 -1 0 1 2 3 4

x x*

9
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

min f x
Problem:
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
x x* 3 x 2 6 x 9 0 x* 3,1
dx 40

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

3 is the optimum point. 30

f(x) 25

20

15

10

5
-2 -1 0 1 2 3 4

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

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 b
Situasi dimana f(x1)<f(x2)

13
08/11/2014

Interval Halving
f(x) Minimum terletak antara (x1,b)

f1

f2
fm

x
a x1 xm x2 b
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 5
0,61803...
2

(1-)L0 L0 1-
L0 (1-)L0

a x3 x1 x2 b x

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 L N L0
N
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