Algoritam Hooke-Jeeves postupka
x0 - pocetna tocka
xB
- bazna tocka
xP - pocetna tocka
pretrazivanja
xN - tocka dobivena
pretrazivanjem
postavi x0;
xP = xB = x0;
ponavljaj
{
xN = istrazi(xP, Dx);
// definiran je potprogram
ako F(xN)<F(xB)
// prihvacamo baznu tocku
{ xP
= 2xN - xB; // definiramo novu
tocku pretrazivanja
xB
= xN;
}
inace
{ smanji Dx;
xP = xB;
// vracamo se na zadnju baznu tocku
}
}
dok nije zadovoljen uvjet zaustavljanja
rjesenje = xB;
procedura istrazi(xP,
Dx)
{
x = xP;
za i=1 do n
{ P = F(x);
xi = xi
+ Dx;
// povecamo za Dx
N = F(x);
ako N>P
// ne valja pozitivni pomak
{
xi = xi - 2Dx;
// smanjimo za Dx
N = F(x);
ako N>P
// ne valja ni negativni
xi = xi + Dx;
// vratimo na staro
}
}
vrati x;
}