Saturday, November 13, 2010

Contoh Tugas Optimasi

Tugas 3/10/2009


SOAL

Gunakan titik awal [6,6],[6,-6],[-6,6],[-6,-6]. Gunakan dua stopping criteria yaitu  abs(sum(grad(xk)))=epsilon dan

deltax=xk-(xk-1)=epsilon.

Epsilon=10e-8.

Fungsi Himmelblau adalah f(x)=(x12+x2-11)2+(x1+x22-7)2

JAWABAN

Penggunaan metode Newton Raphson untuk fungsi Himmelblau menghasilkan output sebagai berikut:

































































Titikawal (x)



abs(sum(grad(xk)))=epsilon



deltax=xk-(xk-1)=epsilon


iterasi

Xopt


Fungsi xiterasi

Xopt


Fungsi x
[6,6]7[3.0000    2.0000]1.3960e-0208[3     2]0
[-6,6]6[-2.8051    3.1313]4.8548e-0187[-2.8051    3.1313]7.8886e-031
[6,-6]7[3.5844

-1.8481]
1.5139e-0188[3.5844

-1.8481]
0
[-6,-6]6[-3.7793

-3.2832]
4.1806e-0247[-3.7793

-3.2832]
7.8886e-031

Sedangkan, penggunaan metode Steepest Descent untuk fungsi Himmelblau menghasilkan output sebagai berikut:































































Titik

awal (x)

abs(sum(grad(xk)))=epsilon



deltax=xk-(xk-1)=epsilon


iterasi

Xopt


Fungsi xiterasi

Xopt


Fungsi x
[6,6]20[-3.7793

-3.2832]
1.5924e-01717[-3.7793

-3.2832]
2.3117e-014
[-6,6]79[3.0000    2.0000]6.3002e-01664[3.0000    2.0000]4.7038e-012
[6,-6]67[3.0000    2.0000]6.3587e-01652[3.0000    2.0000]4.7475e-012
[-6,-6]24[-3.7793

-3.2832]
3.0874e-01721[-3.7793

-3.2832]
4.8928e-014

Dapat disimpulkan:

  1. Jadi, pada Metode Newton Raphson, stopping criteria (abs(sum(grad(xk)))=epsilon) menyebabkan iterasi menjadi lebih sedikit daripada stopping criteria (deltax=xk-(xk-1)=epsilon).

  2. Sedangkan, pada metode Steepest Decent, stopping criteria (abs(sum(grad(xk)))=epsilon) menyebabkan iterasinya menjadi banyak daripada dengan stopping criteria (deltax=xk-(xk-1)=epsilon).

  3. Metode Newton Raphson menghasilkan iterasi lebih sedikit daripada Steepest Decent.

  4. Metode Newton Raphson menghasilkan solusi yang lebih optimal (nilai fungsi (x) kecil) dibandingkan dengan Steepest Decent.


M-file yang digunakan:

1.M-file fungsi Newton dengan stopping criterion 1, abs(sum(himmel1(x)))>10e-8

function xopt=newtonrap(x)
%program untuk Newton-raphson
hasil1=[];
i=1;
while abs(sum(himmel1(x)))>10e-8
xk=x-himmel1(x)*inv(himmel2(x));
x=xk;
hasil=[i xk himmel(xk)];
hasil1=[hasil1;hasil];
i=i+1;
end
xopt=xk
hasil1

2.M-file fungsi Newton dengan stopping criterion 2, deltax=xk-(xk-1)=10e-8

function xopt=newtonrap2(x)
%program untuk Newton-raphson
deltax=[200 200];
hasil1=[];
i=1;
while abs(deltax)>10e-8
xk=x-himmel1(x)*inv(himmel2(x));
deltax=xk-x;
x=xk;
hasil=[i xk himmel(xk)];
hasil1=[hasil1;hasil];
i=i+1;
end
xopt=xk
hasil1

3.M-file fungsi Steepest Decent dengan stopping criterion 1, abs(sum(himmel1(x)))>10e-8

function xopt=steepest(x)
%program untuk Steepest-decent
hasil1=[];
i=1;
alpha=0.01;
while abs(sum(himmel1(x)))>10e-8
xk=x-alpha*himmel1(x);
x=xk;
hasil=[i xk himmel(xk)];
hasil1=[hasil1;hasil];
i=i+1;
end
xopt=xk
hasil1

4.M-file fungsi Steepest Decent dengan stopping criterion 2, deltax=xk-(xk-1)=10e-8

function xopt=steepest2(x)
%program untuk Steepest-decent
deltax=[200 200];
hasil1=[];
i=1;
alpha=0.01;
while abs(deltax)>10e-8
xk=x-alpha*himmel1(x);
deltax=xk-x;
x=xk;
hasil=[i xk himmel(xk)];
hasil1=[hasil1;hasil];
i=i+1;
end
xopt=xk
hasil1

5.M-file fungsi Himmelblau 1

function y = himmel(x)
y = (x(1)^2+x(2)-11)^2+(x(1)+x(2)^2-7)^2

6.M-file fungsi Himmelblau 2

function f = himmel1(x)
f = [4*x(1)^3+4*x(1)*x(2)-42*x(1)+2*x(2)^2-14 2*x(1)^2-26*x(2)+4*x(1)*x(2)+4*x(2)^3-22];

7.M-file fungsi Himmelblau 3

function g = himmel2(x)
g = [12*x(1)^2+4*x(2)-42 4*x(1)+4*x(2); 4*x(1)+4*x(2) 4*x(1)+12*x(2)^2-26];

0 komentar:

Post a Comment

thanks for stopping by

 
catatan Miss Putri Blogger Template by Ipietoon Blogger Template