Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Optimization with matlab dan r

Presentasi serupa


Presentasi berjudul: "Optimization with matlab dan r"β€” Transcript presentasi:

1 Optimization with matlab dan r
EXTRAS

2 Pendahuluan 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);

3 Optimasi Linier 𝑓 π‘₯ =2 π‘₯ 1 + π‘₯ 2 Fungsi obyektif Kendala
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. Fungsi obyektif 𝑓 π‘₯ =2 π‘₯ 1 + π‘₯ 2 Kendala π‘₯ 1 + π‘₯ 2 ≀1; π‘₯ 1 β‰₯0; π‘₯ 2 β‰₯0

4 Optimasi Linier 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 π‘₯ π‘₯ 3 =4

5 Non linier optimasi 𝑓 π‘₯ = π‘₯ 1 + π‘₯ 2 2 Fungsi obyektif Kendala
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. Fungsi obyektif 𝑓 π‘₯ = π‘₯ 1 + π‘₯ 2 2 Kendala π‘₯ 1 π‘₯ 2 ≀0; βˆ’2≀π‘₯ 1 ≀1; βˆ’2≀π‘₯ 2 ≀1

6 Exponential smoothing
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 𝑛 𝑖=1 𝑛 𝑦 𝑖 βˆ’ 𝑦 𝑖 2 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.

7 Levenberg-marquardt 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’

8 Levenberg-marquardt Fungsi obyektif 1 Proses optimasi

9 Contoh 1: data yang digunakan
5.1 2 4 3 6.7 5 9.2 6 7.8 7 10 8 9 10.3 11.1 Model yang digunakan adalah Holt Exponential Smoothing. Parameter hasil optimasi: Alpha : Beta :

10 Quasi-newton 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

11 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 𝑛 𝑖=1 𝑛 𝑦 𝑖 βˆ’ 𝑦 𝑖 2 Contoh data yang digunakan sama pada contoh 1; Parameter optimum yang dihasilkan adalah: Alpha : Beta :

12 Quasi-newton Fungsi obyektif 2 Proses optimasi

13 Least-square data fitting
Fungsi MATLAB yang digunakan addalah lsqnonlin Fungsi lsqnonlin: Dengan menggunakan fungsi obyektif 2, proses optimasinya: Hasil optimasi: Alpha : Beta :

14 GENETIC ALGORITHM Menggunakan optimasi dari genetic-algorithm dengan fungsi: ga Fungsi obyektif yang digunakan adalah fungsi obyektif 2; Hasil optimasi: Alpha : Beta :

15 Function ses single_es <- function(param, aktual){ n = dim(aktual)
Fo = matrix(0,n[1],1) #inisial value Fo[1] = aktual[1,1] for (i in 2:n[1]){ Fo[i] = param*aktual[i-1,1]+(1-param)*Fo[i-1] } return(Fo)

16 Fungsi MSE menjadi fungsi obyektifnya
Function brown brown <- function(par,data1) { n = dim(data1); Fo = matrix(0,n[1],1); S1 = matrix(0,n[1],1); S2 = matrix(0,n[1],1); a = matrix(0,n[1],1); b = matrix(0,n[1],1); # initial value S1 [1] = sum(data1[1:3,1])/3; S2 [1] = sum(data1[1:3,1])/3; Fo [1] = sum(data1[1:3,1])/3; for (i in 2:n[1]) S1[i] = par*data1[i,1]+(1-par)*S1[i-1]; S2[i] = par*S1[i]+(1-par)*S2[i-1]; b[i] = par/(1-par)*(S1[i]-S2[i]); a[i] = 2*S1[i]-S2[i]; Fo[i] = a[i-1]+b[i-1]; } return(c(Fo,a,b)) Fungsi MSE menjadi fungsi obyektifnya msebrown <- function(par,data) { prediksi = brown(par,data); err2 = (prediksi-data)^2 msebrown = mean(err2) }

17 library Library dalam R yang digunakan untuk optimasi adalah minpack.lm Lakukan: Install package: minpack.lm Load minpack.lm dalam library di R

18 Optimisasi coba1 = nlm(msebrown,c(0.1),data = datt)
coba2 = nls.lm(c(0.1),lower = NULL, upper = NULL, msebrown, data = datt) Nilai c(0.1) adalah nilai awal parameter yang akan diestimasi. Pilih sembarang nilai untuk nilai tersebut. Function nlm merupakan optimasi menggunakan algoritma Newton Function nls.lm merupakan optimasi menggunakan metode Levenberg-Marquardt

19 referensi Griva, I., Nash, S. G., Sofer, A., 2009, Linier and Non Linier Optimization 2nd Edition, SIAM. MATLAB non linier optimization toolbox;


Download ppt "Optimization with matlab dan r"

Presentasi serupa


Iklan oleh Google