Optimization with matlab dan r

Slides:



Advertisements
Presentasi serupa
Optimasi Non-Linier Metode Numeris.
Advertisements

BAB II Program Linier.
PENGANTAR PROGRAM LINIER & SOLUSI GRAFIK
MANAJEMEN SAINS BAB III METODE GRAFIK.
Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks Optimasi Jaringan.
Representasi program linier dengan grafik
Abstraksi Suatu perencanaan yang tepat di segala bidang sangat diperlukan oleh suatu perusahaan agar mampu bersaing dan dapat berkembang di era global.
REGRESI LINIER SEDERHANA
Algoritma Golden Section Search untuk Mencari Solusi Optimal pada Pemrograman Non Linear Tanpa Kendala Eni Sumarminingsih Jurusan Matematika Fakultas MIPA.
Aplikasi Matlab untuk Jaringan Syaraf Tiruan
Bab 2 PROGRAN LINIER.
Defining Problem for LP Properties Objective: Maximize or minimize? Objective: Maximize or minimize? Constraints Constraints Other alternative? Other alternative?
Pertemuan ke – 4 Non-Linier Equation.
Model Transportasi 2 Mei 2011 Rahma Fitriani, S.Si., M.Sc,
Design and Analysis Algorithm
Algoritma Pemotongan Algoritma Gomory Langkah 1 x3* = 11/2 x2* = 1
Oleh : Devie Rosa Anamisa
Fuzzy Clustering Logika Fuzzy Materi Kuliah Prodi Teknik Informatika
Fuzzy Integer Transportation Pertemuan 14 :
Dr. Rahma Fitriani, S.Si., M.Sc
Model Transportasi.
Linear Programming (Pemrograman Linier) Program Studi Statistika Semester Ganjil 2011/2012 DR. Rahma Fitriani, S.Si., M.Sc.
ANALISIS PRIMAL-DUAL.
Analisa Algoritma Greedy Algorithm
Program Linier Dengan Grafik
Penyelidikan Operasi Penyelesaian Numerik
PENDAHULUAN PROGRAMASI LINEAR
LINEAR PROGRAMMING.
REGRESI LINIER SEDERHANA
LINEAR PROGRAMING (Bagian 2)
Optimasi Dengan Metode Newton Rhapson
Linier Programming Manajemen Operasional.
METODE SIMPLEKS MINIMALISASI. METODE SIMPLEKS MINIMALISASI.
Operations Management
Algoritma Greedy Team Fasilkom.
PERCABANGAN DAN PEMBATASAN
Bahan Kuliah IF2211 Strategi Algoritma
Linear Programming Formulasi Masalah dan Pemodelan
Greedy Pertemuan 7.
Branch and Bound Lecture 12 CS3024.
REGRESI NON LINIER Gangga Anuraga, M.Si.
Pemrograman Linier.
PROGRAM LINIER PENDAHULUAN
METODE SIMPLEKS Pertemuan 2
Program Linier Dengan Grafik
Exponential Smoothing
PEMROGRAMAN LINIER Tujuan : Memahami prinsip dan asumsi model LP
BAB 2 PROGRAM LINEAR Next Home.
CSG3F3/ Desain dan Analisis Algoritma
Exponential Smoothing
BAB II PEMODELAN MATEMATIKA
Operations Management
M. Double Moving Average
Universitas Ahmad Dahlan Yogyakarta
Analisa Jaringan Teori Optimasi Teori Optimasi.
Pertemuan 7-8 Metode pemulusan eksponensial ganda
Algoritma Greedy Wahyul Wahidah Maulida, ST., M.Eng.
PEMODELAN.
METODE DUAL SIMPLEKS Oleh Choirudin, M.Pd
Optimasi dengan Algoritma simpleks
Algoritma Genetika.
Oleh : Devie Rosa Anamisa
Pertemuan II Linear Programming.
Saint Manajemen LINEAR PROGRAMMING
Asosiasi Pola Kuliah 8.
Solusi Program Linier dengan Metode Grafik
PROGRAM LINIER Abdul Karim. Pengertian Program Linier Program linear merupakan salah satu teknik penelitian operasional yang digunakan paling luas dan.
Operations Research Linear Programming (LP)
Algoritma Genetika. Melakukan Optimasi Fitness Contoh Fungsi Fitnes Y = - (x 2 - 1) GA akan melakukan optimasi terhadap fungsi tersebut.
BAB II Program Linier Oleh : Devie Rosa Anamisa. Pembahasan Pengertian Umum Pengertian Umum Formulasi Model Matematika Formulasi Model Matematika.
Transcript presentasi:

Optimization with matlab dan r EXTRAS

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

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

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 π‘₯ 2 +25 π‘₯ 3 =4

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

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.

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’

Levenberg-marquardt Fungsi obyektif 1 Proses optimasi

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 : 0.4050 Beta : 0.5221

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

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 : 0.4049 Beta : 0.5203

Quasi-newton Fungsi obyektif 2 Proses optimasi

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

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

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)

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) }

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

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

referensi 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