Sie sind auf Seite 1von 18

OPTIMIZE YOUR LIFE !

MATLAB FOR
OPTIMIZATION
TYPE OF OPTIMIZATION

ANALYTICAL NUMERICAL

Calculus Method Pendekatan angka

Optimize Your Life !!


MATLAB FOR ANALYTICAL OPTIMIZATION

f(x)
global maximum

inflection point

local minimum
global minimum

3
MATLAB FOR ANALYTICAL OPTIMIZATION

• Syarat perlu : f’(x*) = 0 -> stationery

• Syarat cukup :
𝑛
𝑑𝑛 𝑓(𝑥) ′ 𝑥 ∗ = 𝑓" 𝑥 ∗ = 𝑓 (𝑛−1) 𝑥 ∗ = 0
𝑓 𝑥 = ↔ 𝑓
𝑑𝑥 𝑛
𝑓 (𝑛) 𝑥 ∗ ≠ 0
n = ganjil -> X* = saddle point
n = genap -> X* = local optimum
If 𝑓 (𝑛) 𝑥 ∗ > 0 -> local minima
If 𝑓 (𝑛) 𝑥 ∗ < 0 -> local maxima
MATLAB FOR DIFFERENTIAL

• Definisikan variabel dulu, syntaxnya :


>> syms x % definisi ada variabel x

• Kemudian ketik fungsi

• Lakukan differensial, syntaxnya :


>> diff (fungsi, variabel)
MATLAB FOR NUMERICAL OPTIMIZATION

MATLAB Algorithm OPTIMTOOL


Function

Unconstrained Gradient Based


OPTIMTOOL
Constrained Metaheuristik

Optimize Your Life !!


MATLAB FUNCTION

- Unconstrained Programming -

Optimize Your Life !!


SYNTAX MATLAB (Unconstrained Programming)

• SINGLE VARIABLE

>> fminbnd(@(x) f(x), upperbound, lowerbound)

• MULTI VARIABLE

>> fminunc(@(x) f(x), [initialpoint])


MATLAB FUNCTION

- Constrained Programming -

Optimize Your Life !!


SYNTAX MATLAB (Constrained Programming)

• LINEAR PROGRAMMING (bentuk baku) :

MIN fT x
s.t. Ax <= b % Inequalities
Aeqx = beq % Equalities
LB <= x <= UB

>> linprog(f,A,b,Aeq,beq,LB,UB)
SYNTAX MATLAB (Constrained Programming)

• NON-LINEAR PROGRAMMING (bentuk baku) :

MIN f (x)
s.t. Ax <= b % Linear Inequalities
Aeqx = beq % Linear Equalities
C(x) <= 0 % NonLinear Inequalities
Ceq(x) = 0 % NonLinear Equalities
LB <= x <= UB

>> fmincon(f,X0,A,b,Aeq,beq,LB,UB,NONLCON) %umum


>> QUADPROG(H,f,A,b,Aeq,beq,LB,UB) %khusus ordo 2
ALGORITHM

- Gradient Based Search -

Optimize Your Life !!


Contoh : Algoritma Interval Halving
PSEUDOCODE :
• Ulangi sampai kriteria penghentian
f(x)
dipenuhi:
– Hitung interval utama
• L=b-a;
• xm=(a+b)/2;
• x1=a+L/4;
• x2=b-L/4;
f1 – Hitung f(x1), f(x2) dan f(xm)
– Komparasi f(x1), f(x2) dan f(xm)
• Jika f(x1)<= f(xm), maka eliminasi
f2 (xm,b) dan set b=xm;
fm • jika f(x2)<= f(xm), maka eliminasi
(a,xm) dan set a=xm;
x • jika f(x1) >f(xm) dan f(x2)> f(xm),
a x1 xm x2 b maka eliminasi (a,x1) dan set a=x1
serta eliminasi (x2,b) dan set b=x2;
• Selesai
ALGORITHM

- Metaheuristik -

Optimize Your Life !!


OPTIMTOOL

% langsung ke Matlab ae yo

Optimize Your Life !!


VISUALISASI

Optimize Your Life !!


CONTOH VISUALISASI

• Coba ketik di matlab syntax ini :

>> [x,y] = meshgrid(-5:.01:5);


>> f = himel (x);
>> [j,g] = contour(x,y,f,[1 2 5 10 15 20 30 40 100 200]
>> mesh(x,y,f)
TERIMA KASIH
Ada Pertanyaan ?

Das könnte Ihnen auch gefallen