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 x iterasi

Xopt

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

-1.8481]

1.5139e-018 8 [3.5844

-1.8481]

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

-3.2832]

4.1806e-024 7 [-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 x iterasi

Xopt

Fungsi x
[6,6] 20 [-3.7793

-3.2832]

1.5924e-017 17 [-3.7793

-3.2832]

2.3117e-014
[-6,6] 79 [3.0000    2.0000] 6.3002e-016 64 [3.0000    2.0000] 4.7038e-012
[6,-6] 67 [3.0000    2.0000] 6.3587e-016 52 [3.0000    2.0000] 4.7475e-012
[-6,-6] 24 [-3.7793

-3.2832]

3.0874e-017 21 [-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];

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s