I have downloaded the following public domain codes for solving optimization problems.
Minpack routines are Fortran codes for Levenberg-Marquardt for nonlinear least-squares problems. They differ in terms of gradient and Jacobian evaluation and number of user-provided parameters.
Comments on Minpack routines:
(1) Before using, check out the settings in the DPMPAR function; uncomment those statements which apply to your machine.
(2) These routines make far too many tests of equality between a real number (about to be used as a divisor) and zero. These should be replaced by tests of whether a number is less than machine epsilon; otherwise overflow is a danger.
LMDIF Allows the user to provide only the objective and then computes the gradient and Jacobian by finite-difference formulas.
LMDIF1 A simpler driver for HYBRD
LMDER Assumes that the user provides gradient and Jacobian routines as well as the objective.
LMDER1 A simpler driver for HYBRDJ
Chris Sims offers matlab code for implementing BFGS.
TENMIN generalizes Newton's method to include some nonquadratic terms. The result is code which is better behaved on problems which have nearly singular Hessians near the solution.
Box constrained optimization code. This file contains a TeX paper and Fortran code.
STENMIN applies the ideas in Tenmin to problems with sparse Hessians. This file contains both a postscript users manual as well as the Fortran code.
http://math.nist.gov/cgi-bin/gams-serve/class/G1b1a.html
http://math.nist.gov/cgi-bin/gams-serve/class/G1b1b.html
http://math.nist.gov/cgi-bin/gams-serve/class/G1b1c.html
http://math.nist.gov/cgi-bin/gams-serve/class/G1b2.html
http://math.nist.gov/cgi-bin/gams-serve/class/G2.html
CONMAX http://math.nist.gov/cgi-bin/gams-serve/list-module-components/OPT/CONMAX/13181.html
NETLIB programs http://math.nist.gov/cgi-bin/gams-serve/list-modules-in-package/OPT.html
DONLP http://math.nist.gov/cgi-bin/gams-serve/list-module-components/OPT/DONLP/11763.html
GAMS optimization http://math.nist.gov/cgi-bin/gams-serve/class/G.html
08/22/02