Interface to unconstrained minimization algorithms for multivariate functions. See the ‘Powell’ method in particular.

Notes

Uses a modification of Powell’s method to find the minimum of
a function of N variables. Powell’s method is a conjugate
direction method.

The algorithm has two loops. The outer loop
merely iterates over the inner loop. The inner loop minimizes
over each current direction in the direction set. At the end
of the inner loop, if certain conditions are met, the direction
that gave the largest decrease is dropped and replaced with
the difference between the current estimated x and the estimated
x from the beginning of the inner-loop.

The technical conditions for replacing the direction of greatest
increase amount to checking that

No further gain can be made along the direction of greatest increase
from that iteration.

The direction of greatest increase accounted for a large sufficient
fraction of the decrease in the function value from that iteration of
the inner loop.

References

Powell M.J.D. (1964) An efficient method for finding the minimum of a
function of several variables without calculating derivatives,
Computer Journal, 7 (2):155-162.