OPTIMIZATION WITH MATLABModel optimasi berusaha untuk menjelaskan, secara matematis, tujuan ......
Transcript of OPTIMIZATION WITH MATLABModel optimasi berusaha untuk menjelaskan, secara matematis, tujuan ......
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
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
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