Page 196 - Compact Numerical Methods For Computers
P. 196
Direct search methods 185
Algorithm 27. Hooke and Jeeves minimiser (cont.)
if samepoint then
begin {STEP HJ8}
stepsize := stepsize*stepredn; {to reduce stepsize. The reduction
factor (0.2) should be chosen to reduce the stepsize
reasonably rapidly when the initial point is close to
the solution, but not so small that progress cannot
still be made towards a solution point which is not
nearby.}
{writeln;} {Needed if indicator output ON}
write(‘stepsize now ‘,stepsize:10,’ Best fn value=‘,Fmin);
writeln(‘ after ‘,ifn);
for i := l to n do
begin
write(B[i]:10:5,’’);
if (7 * (i div 7) = i) and (i<n) then writeln;
end;
writeln;
end
else {not the same point -- return to old basepoint}
begin {STEP HJ7}
for i := 1 to n do B[i] := X[i];
{writeln;} {Needed if indicator output ON}
writeln(‘Return to old base point’);
end; { reset basepoint}
end; {if Fmin<fold}
end; {while stepsize>intol} {STEP HJ10}
writeln(‘Converged to Fmin=’ ,Fmin,’ after ‘,ifn,’ evaluations’);
{Fmin has lowest function value, X[] has parameters.}
end; {if notcomp on first function evaluation}
end; {alg27.pas == hjmin}
In the next two chapters, considerable attention is paid to calculating sets of
mutually conjugate directions. Direct search techniques parallelling these develop-
ments have been attempted. The most successful is probably that of M J D Powell.
This is discussed at length by Brent (1973). These algorithms are more elaborate than
any in this monograph, though it is possible they could be simplified. Alternatively,
numerical approximation of derivatives ($18.2) can be used in algorithms 21 or 22.
Out of this range of methods I have chosen to present the Nelder-Mead procedure
and Hooke and Jeeves method because I feel they are the most easily understood.
There is no calculus or linear algebra to explain and for two-dimensional problems
the progress of algorithm 19 can be clearly visualised.
The software diskette includes driver programs DR1920.PAS to allow the Nelder-
Mead minimiser to be used in conjunction with algorithm 20. Driver DR27.PAS will
allow the Hooke and Jeeves minimiser to be used, but this driver does not invoke
algorithm 20 since a major part of the minimiser is an axial search.