Extras din laborator
Tema: ALGORITMUL HOOKE si JEVEES
Acest algoritm face parte din categoria algoritmilor de cautare a minimului functiilor de mai multe variabile in absenta restrictiilor. Algoritmul HOOKE si JEVEES reprezinta o varianta evoluata a unui algoritm de cautare ciclica cu pas accelerat.
Etapa de initializare: se impune e > 0 conditia de STOP. Impunem punctul de initializare x1 Î Rn. Facem y1 = x1 , k=j=1 si trecem la etapa de baza.
Etapa de baza:
Pas 1: calculam lj=argmin f(yj + ldj) cu l Î R1 si yj+1 = yj + lj dj . Daca j<n, facem j=j+1 si reluam pasul 1. Daca j=n facem xk+1=yn+1 . Daca || xk+1 – xk ||< e ne oprim si xk+1 constituie optimul. In caz contrar trecem la pasul 2.
Pas 2: consideram directia d=xk+1 – xk . Se determina l1=argmin f(xk+1 + ld) cu l Î R1. Facem y1 = xk+1 + l1d, j=1 si k=k+1 si reluam pasul 1.
Functia matlab care implementeaza acest algoritm are urmatorul cod:
function [A,y]=hooke(F,x0,eps)
[n,m]=size(x0);
D=eye(n);
x(:,1)=x0;
y(:,1)=x0;
for k=1:n
Preview document
Conținut arhivă zip
- Algoritmul Hooke si Jevees.doc