15
EXTRAS OPTIMIZATION WITH MATLAB

OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

  • Upload
    hanhu

  • View
    225

  • Download
    2

Embed Size (px)

Citation preview

Page 1: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

EXTRAS OPTIMIZATION WITH

MATLAB

Page 2: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 3: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 4: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 5: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 6: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 7: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 8: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

8

LEVENBERG-MARQUARDT

Fungsi obyektif 1

Proses optimasi

Page 9: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 10: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 11: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 12: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

12

QUASI-NEWTON

Fungsi obyektif 2

Proses optimasi

Page 13: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 14: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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

Page 15: OPTIMIZATION WITH MATLAB - … · Model optimasi berusaha untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik. Misalkan dalam bisnis: problem untuk

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