OPTIMIZATION WITH MATLABModel optimasi berusaha untuk menjelaskan, secara matematis, tujuan ......

15
EXTRAS OPTIMIZATION WITH MATLAB

Transcript of OPTIMIZATION WITH MATLABModel optimasi berusaha untuk menjelaskan, secara matematis, tujuan ......

EXTRAS OPTIMIZATION WITH

MATLAB

Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik.

Misalkan dalam bisnis: problem untuk memaksimalkan keuntungan, meminimalkan kerugian, memaksimalkan efisiensi, atau meminimalkan resiko;

Problem optimasi secara tipikal akan memaksimalkan atau meminimalkan suatu fungsi yang disebut fungsi obyektif (objective function) pada himpunan titik-titik S (feasible set).

Secara umum feasible set didefinisikan dalam variabel kendala (constraints);

2

PENDAHULUAN

Apabila fungsi obyektif dan variabel kendala yang akan dioptimalkan linier, maka optimasinya adalah optimasi linier;

Contoh 1:

Problem: menemukan nilai 𝑥1 dan 𝑥2 sedemikian sehingga fungsi obyektif menjadi optimal.

3

OPTIMASI LINIER

Fungsi obyektif 𝑓 𝑥 = 2𝑥1 + 𝑥2

Kendala 𝑥1 + 𝑥2 ≤ 1; 𝑥1 ≥ 0; 𝑥2≥ 0

Contoh 2: persamaan linier

Dimana 𝑥1, 𝑥2, 𝑥3 adalah tiga parameter yang tidak diketahui yang menentukan persamaan kuadratik tersebut. Tiga titik yang mendefinisikan persamaan tersebut adalah:

𝑥1 + 2𝑥2 + 4𝑥3 = 1

𝑥1 + 3𝑥2 + 9𝑥3 = 6

𝑥1 + 5𝑥2 + 25𝑥3 = 4

4

OPTIMASI LINIER

2

1 2 3( )b t x x t x t

Apabila salah satu dari fungsi obyektif atau variabel kendala yang akan dioptimalkan non-linier, maka optimasinya adalah optimasi non linier.

Contoh:

Problem: menemukan nilai 𝑥1 dan 𝑥2 sedemikian sehingga fungsi obyektif menjadi optimal.

5

NON LINIER OPTIMASI

Fungsi obyektif 𝑓 𝑥 = 𝑥1 + 𝑥22

Kendala 𝑥1𝑥2 ≤ 0;−2 ≤ 𝑥1≤ 1;

−2 ≤ 𝑥2≤ 1

Apa yang dioptimalkan dalam exponential smoothing?

Parameter smoothing sedemikian sehingga model exponential smoothing memiliki MSE terkecil

Siapa yang menjadi fungsi obyektif?

Fungsi MSE yaitu 𝑀𝑆𝐸 =1

𝑛 𝑦𝑖 − 𝑦𝑖

2𝑛𝑖=1

Siapa yang menjadi kendalan (constraints)?

Syarat dari nilai-nilai parameter yaitu nilai parameter yang berada diantara 0 hingga 1.

Termasuk ke dalam optimasi linier atau non linier? Mengapa?

Optimasi non linier, karena data dibobot secara eksponensial sehingga menyebabkan parameter pembobot tidak linier.

6

EXPONENTIAL SMOOTHING

Fungsi dalam MATLAB: lsqcurvefit dengan option: algoritma “levenberg-marquardt”

Fungsi lsqcurvefit:

Sintak: [x, resnorm] = lsqcurvefit (fun, x0, xdata, ydata, lb, ub, options) Output:

X : hasil parameter optimum Resnorm : residual

Input Fun : fungsi obyektifnya; x0 : nilai awal parameter yang akan dioptimasi; lb, ub : lower bound, upper bound untuk parameter yang akan dioptimasi;

Dimana options dapat diisi dengan: TolFun : toleransi fungsi untuk menghentikan iterasi, ketik: ‘TolFun’, 1e-4 MaxIter : maksimum iterasi yang diinginkan, ketik: ‘MaxIter’, 200 Algorithm : ketik ‘Algorithm’, ‘levenberg-marquardt’

7

LEVENBERG-MARQUARDT

8

LEVENBERG-MARQUARDT

Fungsi obyektif 1

Proses optimasi

Contoh 1: data yang digunakan

9

t data

1 5.1

2 4

3 6.7

4 5

5 9.2

6 7.8

7 10

8 5

9 10.3

10 11.1

Model yang digunakan adalah Holt Exponential Smoothing. Parameter hasil optimasi: Alpha : 0.4050 Beta : 0.5221

0

5

10

15

data

Fungsi MATLAB lain yang dapat digunakan untuk optimasi non-linier adalah: fmincon

Fungsi fmincon: menemukan minimum dari suatu fungsi obyektif yang memiliki kendala (constraint);

Sintak:

[x, fval] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, options)

Output:

x : parameter

Fval : nilai dari fungsi obyektif

10

QUASI-NEWTON

Sedikit berbeda dengan lsqcurvefit, fungsi obyektif yang akan diminimalkan menggunakan fungsi fmincon adalah fungsi MSE; sehingga kita harus mendefinisikan fungsi MSE-nya terlebih dahulu.

Fungsi MSE 𝑀𝑆𝐸 =1

𝑛 𝑦𝑖 − 𝑦𝑖

2𝑛𝑖=1

Contoh data yang digunakan sama pada contoh 1;

Parameter optimum yang dihasilkan adalah:

Alpha : 0.4049

Beta : 0.5203

11

QUASI-NEWTON

12

QUASI-NEWTON

Fungsi obyektif 2

Proses optimasi

Fungsi MATLAB yang digunakan addalah lsqnonlin

Fungsi lsqnonlin:

Dengan menggunakan fungsi obyektif 2, proses optimasinya:

Hasil optimasi:

Alpha : 0.4064

Beta : 0.5187

13

LEAST-SQUARE DATA FITTING

Menggunakan optimasi dari genetic-algorithm dengan fungsi: ga

Fungsi obyektif yang digunakan adalah fungsi obyektif 2;

Hasil optimasi:

Alpha : 0.4024

Beta : 0.5259

14

GENETIC ALGORITHM

Griva, I., Nash, S. G., Sofer, A., 2009, Linier and Non Linier Optimization 2nd Edition, SIAM.

MATLAB non linier optimization toolbox;

www.mathworks.com/help

15

REFERENSI