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
Top Related