TOMS178 is a FORTRAN90 library which uses the Hooke-Jeeves direct search algorithm to seek the minimizing point of a function F(X) of several variables.
The Hooke_Jeeves algorithm does not required the function F(X) to be differentiable. It does not even require the function to be continuous, although it should probably only be "weakly discontinuous", like a step function, with finitely many well-separated jumps. In any case, the algorithm only examines function values, never derivatives, remembers the location of the best value encountered, and seeks to improve this value by a clever pattern search.
The user supplies a quantity rho, between 0 and 1, which controls how cautious or daring the search is, as well as a routine to evaluate the function, and a few input parameters.
The first publication of code for the algorithm was an Algol formulation by Arthur Kaupe.
A C version of the algorithm, as written by Mark Johnson, is available at http://www.netlib.org/opt/hooke.c
ASA047 is a FORTRAN90 library which minimizes a scalar function of several variables using the Nelder-Mead algorithm.
DQED a FORTRAN90 library which solves constrained least squares problems.
COORDINATE_SEARCH is an executable MATLAB program which minimizes a scalar function of several variables using the coordinate search algorithm.
ENTRUST is an executable MATLAB program which minimizes a scalar function of several variables using trust region methods.
fminsearch is a MATLAB built in command which minimizes a scalar function of several variables using the Nelder-Mead algorithm.
MINPACK a FORTRAN90 library which solves systems of nonlinear equations, or the least squares minimization of the residual of a set of linear or nonlinear equations.
NELDER_MEAD an executable MATLAB program which minimizes a scalar function of multiple variables using the Nelder-Mead algorithm.
NL2SOL a FORTRAN90 library which implements an adaptive nonlinear least-squares algorithm.
PRAXIS a FORTRAN90 library which minimizes a scalar function of several variables, without derivative information.
TEST_NLS a FORTRAN90 library which defines test problems requiring the least squares minimization of a set of nonlinear functions.
TEST_OPT a FORTRAN90 library which defines test problems requiring the minimization of a scalar function of several variables.
TOMS178 is also available in a C version and a C++ version and a FORTRAN77 version and a MATLAB version.
TOMS611 a FORTRAN90 library which optimizes a scalar functional of multiple variables.
UNCMIN is a FORTRAN77 library which can be used to seek the minimizer of a scalar functional of multiple variables.
You can go up one level to the FORTRAN90 source codes.