Peralatan Optimisasi

14
Optimisasi Toolbox Contoh: Meminimalkan Nonlinier yang Dibatasi Rumusan Masalah: Fungsi Rosenbrock Mempertimbangkan masalah dari meminimalkan fungsi Rosenbrock. Unit disk yang lebih, dengan kata lain jarak disk adalah 1 di pertengahan pada jarak aslinya. Dengan kata lain, menemukan x berarti meminimalkan fungsi f(x) dari persamaan x 1 2 + x 2 2 1. masalah ini adalah meminimalkan fungsi nonlinier dengan pembatas nonlinier. Catatan: fungsi Rosenbrock adalah standar fungsi tes pada optimisasi. Fungsi Rosenbrock memiliki nilai minimum yang unik dari 0 mencapai titik (1,1). Menemukan minimumnya adalah tantangan untuk beberapa algoritma sejak fungsi Rosenbrock memiliki nilai minimum yang dangkal di dalam lembah kurva. Ini adalah dua gambar dari fungsi Rosenbrock dalam unit disk. Vertikal axis adalah skala log; dengan kata lain, plot menunjukkan log(1+f(x)). Garis kontur lie dibawah permukaan plot. Fungsi Rosenbrock, skala-log: dua gambar (2-D)

description

peralatan untuk optimisasi

Transcript of Peralatan Optimisasi

Page 1: Peralatan Optimisasi

Optimisasi Toolbox

Contoh: Meminimalkan Nonlinier yang Dibatasi

Rumusan Masalah: Fungsi Rosenbrock

Mempertimbangkan masalah dari meminimalkan fungsi Rosenbrock.

Unit disk yang lebih, dengan kata lain jarak disk adalah 1 di pertengahan pada jarak aslinya.

Dengan kata lain, menemukan x berarti meminimalkan fungsi f(x) dari persamaan x12+ x2

2≤1.

masalah ini adalah meminimalkan fungsi nonlinier dengan pembatas nonlinier.

Catatan: fungsi Rosenbrock adalah standar fungsi tes pada optimisasi. Fungsi Rosenbrock

memiliki nilai minimum yang unik dari 0 mencapai titik (1,1). Menemukan minimumnya adalah

tantangan untuk beberapa algoritma sejak fungsi Rosenbrock memiliki nilai minimum yang

dangkal di dalam lembah kurva.

Ini adalah dua gambar dari fungsi Rosenbrock dalam unit disk. Vertikal axis adalah skala log;

dengan kata lain, plot menunjukkan log(1+f(x)). Garis kontur lie dibawah permukaan plot.

Fungsi Rosenbrock, skala-log: dua gambar (2-D)

Page 2: Peralatan Optimisasi

Kode untuk memunculkan gambar

function create figure

% Create figurefigure1 = figure('Position',[1 400 1200 600]);colormap('gray');axis square;R=0:.002:1;TH=2*pi*(0:.002:1); X=R'*cos(TH); Y=R'*sin(TH); Z=log(1+vrosenbrock(X,Y));

% Create subplotsubplot1 = subplot(1,2,1,'Parent',figure1);view([124 34]);grid('on');hold('all');

% Create surfacesurf(X,Y,Z,'Parent',subplot1,'LineStyle','none');

% Create contourcontour(X,Y,Z,'Parent',subplot1);

% Create subplotsubplot2 = subplot(1,2,2,'Parent',figure1);view([234 34]);grid('on');hold('all');

% Create surfacesurf(X,Y,Z,'Parent',subplot2,'LineStyle','none');

% Create contourcontour(X,Y,Z,'Parent',subplot2);

Fungsi Rosenbrock, digunakan dalam createfigure, menghitung fungsi Rosenbrock pada

keseluruhan titik vector:

function z=vrosenbrock(x,y)

z=100*(y - x.^2).^2 + (1-x).^2;

Page 3: Peralatan Optimisasi

fungsi f(x) disebut fungsi objektif. Ini adalah fungsi yang diharapkan untuk meminimalkan.

Pertidaksamaan x12+ x2

2≤1 disebut constraint atau pembatas. Batas pembatas dari sekumpulan x

yang mana anda cari untuk nilai minimum. Anda mungkin memiliki banyak angka untuk

pembatas,yang mungkin menjadi pertidaksamaan atau persamaan. Semua optimisasi toolbox,

fungsi optimisasi meminimalkan sebuah fungsi objektif. Untuk memaksimalkan sebuah fungsi f,

gunakan sebuah optimisasi rutin untuk meminimalkan –f.

Menjelaskan masalah pada sintaks toolbox

Untuk menggunakan software Optimisasi Toolbox, anda membutuhkan:

1. Menjelaskan fungsi objektif anda pada bahasa MATLAB, sebagai M-file atau fungsi

anonym. Contoh ini akan menggunakan M-file.

2. Menjelaskan pembatas anda sebagai sebuah M-file tersendiri atau fungsi anonim.

M-file untuk Fungsi Objektif.

Sebuah M-file adalah file teks yang mengandung perintah MATLAB dengan extension.m.

Membuat sebuah M-file baru di beberapa teks editor, atau menggunakan membuat pada

MATLAB Editor seperti berikut:

1. Pada tipe command line

Edit rosenbrock

MATLAB Editor terbuka.

2. Pada tipe editor:

Function f = rosenbrock(x)

f = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;

3. Simpan file dengan memilih File > Save.

M-file untuk Fungsi Pembatas

Fungsi pembatas harus dirumuskan sehingga mereka pada bentuk c ( x )≤0atau ceq ( x )=0.

Pembatas x12+ x2

2≤1 membutuhkan dirumuskan kembali sebagai x12+ x2

2≤0 sesuai perintah untuk

mendapatkan sintaks yang benar.

Page 4: Peralatan Optimisasi

Lagipula, fungsi toolbox yang menerima pembatas nonlinier diperlukan memiliki persamaan dan

pertidaksamaan atau keduanya yang telah ditetapkan. Pada contoh ini, hanya ada pembatas

pertidaksamaan, sehingga anda harus memberi nilai pada kolom kosong [] sebagai fungsi

pembatas persamaan ceq.

Dengan pertimbangan ini, tulislah sebuah fungsi M-file untuk pembatas nonlinier:

1. Buat sebuah file dengan nama unitdisk.m yang berisi kode berikut:

Function [c, ceq] = unitdisk(x)

c = x(1)^2 + x(2)^2 – 1;

ceq = [ ];

2. Simpan file unitdisk.m.

Menjalankan Optimisasi

Ada dua cara untuk menjalankan optimisasi:

- Menggunakan Optimisasi Tool Graphical User Interface (GUI).

- Menggunakan fungsi command line; lihat meminimalkan pada command line.

Optimisasi Tool

1. Mulai Optimisasi Tool dengan mengetik optimtool pada command line. GUI pun terbuka.

Page 5: Peralatan Optimisasi

Untuk informasi lebih lanjut tentang tool ini, lihat Optimization Tool.

2. Default Solver fmincon – dipilih Constrained nonliniear

minimization. Solver ini tepat untuk masalah ini, sejak fungsi Rosenbrock adalah

nonlinier, dan masalahnya terdapat pembatas. Untuk informasi lebih lanjut bagaimana

untuk memilih sebuah solver, lihat Choosing a Solver.

3. Pada menu pop-up Algorithm pilih Active set-default solver Trust region

reflective tidak akan menangani pembatas nonlinier.

Page 6: Peralatan Optimisasi

4. Untuk Objective Function jenis @rosenbrock. Karakter @ mengindikasi bahwa ini

adalah function handle dari M-file rosenbrock.m.

5. Untuk jenis Start Point [0 0]. Ini adalah titik inisial dimana fmincon memulai

mencari untuk nilai minimum.

6. Untuk Nonliniear constraint function jenis @unitdisk, fungsi handle dari unitdisk.m.

Jendela Problem Setup and Result anda harus cocok dengan gambar ini.

7. Pada jendela Options (center bottom), pilih iterative pada Level of Display menu pop-up.

(Seandainya anda tidak melihat pilihan itu, klik [+] Display to command window). Ini

menunjukkan kemajuan dari fmincon pada command window.

8. Klik Start dibawah Run solver and view results.

Page 7: Peralatan Optimisasi

Pesan akan muncul pada kotak dibawah tombol Start.

Optimization running.

Optimization terminated.

Objective function value :0.04567480869296667

Local minimum possible. Constraints satisfied.

Fmincon stopped because the predicted change in the objective

function is less than the default value of the function tolerance

and constraints were satisfied to within the default value of the

constraints tolerance. (Fmincon berhenti karena diperkirakan ada

perubahan pada fungsi objektif dimana kurang dari nilai default

dari fungsi toleransi dan pembatas yang diyakini tak lebih dari

nilai default dari toleransi pembatas).

Nilai fungsi objektif mungkin sedikit berbeda, tergantung pada sistem komputer anda dan versi

software Optimisasi Toolbox.

Perintahnya memberitahu bahwa:

Pencarian untuk jumlah pembatas maksimum berakhir karena fungsi objektif yang

dikarang mendekati 0 pada arah pembatas yang diizinkan.

Pembatas mendekati nilai terpenuhi.

Minimize x muncul dibawah Final point.

Page 8: Peralatan Optimisasi

Memperkecil pada command line

Anda dapat menjalankan optimisasi yang sama dari command line, caranya sebagai berikut:

1. Buat sebuah struktur plihan untuk memilih display iterative dan algoritma active-set:

Options = optimset(‘Display’, ‘iter’, ‘Algorithm’,’active-set’);

2. Jalankan solver fmincon dengan struktur options, memberitahu lokasi x dari

minimizer, dan nilai fval dicapai oleh fungsi objektif:

[x,fval] = fmincon(@rosenbrock,[0 0],…

[],[],[],[],[],[],@unitdisk,options)

Kumpulan dari enam tanda kurung kosong menunjukkan pembatas pilihan yang tidak

digunakan pada contoh ini. Lihat halaman referensi fungsi fmincon untuk sintaks.

Output MATLAB adalah sebuah tabel yang berulang, dan hasilnya dari optimisasi.

Local minimum possible. Constraints satisfied.

fmincon stopped because the predicted change in the objective

function is less than the default value of the function tolerance

and constraints were satisfied to within the default value of the

constraints tolerance. (Fmincon berhenti karena diperkirakan ada

perubahan pada fungsi objektif dimana kurang dari nilai default

dari fungsi toleransi dan pembatas yang diyakini tak lebih dari

nilai default dari toleransi pembatas).

<stopping criteria details> (menghentikan detil kriteria)

Active inequalities (to within options.TolCon = 1e-006):

Lower upper ineqlin ineqnonlin

1x =

0.7864 0.6177

fval =

0.0457

Page 9: Peralatan Optimisasi

Perintah ini memberitahu anda bahwa pencarian untuk pembatasan jumlah maksimal berakhir

karena fungsi objektif yang dikarang mendekati 0 pada arah yang diizinkan oleh pembatas, dan

pembatas itu sangat mendekati sempurna. Beberapa frase pada perintah mengandung hubungan

yang memberi anda informasi lebih banyak tentang istilah yang digunakan pada perintah. Untuk

detil lebih lanjut tentang hubungan ini, lihat Enhanced Exit Messages.

Menginterpretasikan Hasil

Tabel iterasi pada command window menunjukkan bagaiman MATLAB mencari nilai minimum

dari fungsi Rosenbrock pada unit disk. Tabel ini adalah sama ketika anda menggunakan

Optimisasi Tool atau command line. MATLAB memberitahu minimisasi sebagai berikut:

Max Line search Directional First-order Iter F-count f(x) constraint steplength derivative optimality Procedure

0 3 1 -1 1 9 0.953127 -0.9375 0.125 -2 12.5 2 16 0.808446 -0.8601 0.0625 -2.41 12.4 3 21 0.462347 -0.836 0.25 -12.5 5.15 4 24 0.340677 -0.7969 1 -4.07 0.811 5 27 0.300877 -0.7193 1 -0.912 3.72 6 30 0.261949 -0.6783 1 -1.07 3.02 7 33 0.164971 -0.4972 1 -0.908 2.29 8 36 0.110766 -0.3427 1 -0.833 2 9 40 0.0750939 -0.1592 0.5 -0.5 2.41 10 43 0.0580974 -0.007618 1 -0.284 3.19 11 47 0.048247 -0.003788 0.5 -2.96 1.41 12 51 0.0464333 -0.00189 0.5 -1.23 0.725 13 55 0.0459218 -0.0009443 0.5 -0.679 0.362 14 59 0.0457652 -0.0004719 0.5 -0.4 0.181 15 63 0.0457117 -0.0002359 0.5 -0.261 0.0905 Hessian modified

16 67 0.0456912 -0.0001179 0.5 -0.191 0.0453 Hessian modified 17 71 0.0456825 -5.897e-005 0.5 -0.156 0.0226 Hessian modified 18 75 0.0456785 -2.948e-005 0.5 -0.139 0.0113 Hessian modified 19 79 0.0456766 -1.474e-005 0.5 -0.13 0.00566 Hessian modified

Tabel ini mungkin berbeda dari milik anda tergantung pada versi toolbox dan program komputer

anda. Deskripsi yang diizinkan digunakan pada tabel seperti digambarkan.

Kolom pertama, dengan nama Iter, adalah angka iterasi dari 0 sampai 19. fmincon

mengambil 19 iterasi untuk berkumpul.

Kolom kedua, dengan nama F-count, memperlihatkan angka kumulatif dari waktu fungsi

Rosenbrock yang telah dievaluasi. Baris terakhir menunjukkan sebuah F-count dari 79,

mengindikasikan bahwa fmincon mengevaluasi fungsi Roseonbrock 79 kali dalam proses

menemukan nilai minimum.

Page 10: Peralatan Optimisasi

Kolom ketiga, dengan nama f(x), menunjukkan nilai dari fungsi objektif. Nilai akhir,

0.0456766, adalah nilai minimum yang dilaporkan pada Optimisasi Tool Run solver and view

results box, dan akhirnya perintah keluar pada command window.

Kolom keempat, max constraint, berawal dari nilai -1 pada nilai inisial, sampai

mendekati 0, -1.474e-005, pada iterasi akhir. Kolom ini menunjukkan nilai dari fungsi pembatas

unit disk di setiap iterasi. Karena nilai dari unitdisk mendekati 0 pada iterasi akhir,

ada x12+ x2

2=1.

Kolom lain dari tabel iterasi dijelaskan di Displaying Iterative Output.

Page 11: Peralatan Optimisasi

PAPER SISTEM ADAPTIF

OPTIMIZATION TOOLBOX

EXAMPLE: NONLINIEAR CONSTRAINED MINIMIZATION

Oleh:

Alunanda S (095514030)

S1 ELKOM 3/2009

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

UNIVERSITAS NEGERI SURABAYA

2012