Optimal Methods
Our Specialty is Software for Nonlinear Optimization
LSGRG2 Generalized Reduced Gradient

LSGRG2 solves smooth nonlinear programs of any form. It is one of the most widely used programs of its type, with a long record of successful applications. An older version of LSGRG2 is currently included in every copy of the leading spreadsheet, Microsoft Excel, and has been since release 3.0 in 1991. It solves nonlinear problems as a component of Excel's "Solver," which appears in the list of add-ins as "Solver add-in,".

LSGRG2 uses the Generalized Reduced Gradient Algorithm. It has the ability to solve large sparse problems. It accepts problem data by passing it via a subroutine or function that calls the routines that perform the optimization. The objective and constraint functions are computed in a user provided routine. First partial derivatives of all problem functions are required, but these may be approximated by built-in finite differencing routines.

Extensive tests indicate that LSGRG2 is one of the most reliable codes available, both for smaller problems and for cases where there are hundreds or thousands of constraints and variables. Both Fortan and C versions are available.

SQP Successive Quadratic Programming

SQP solves smooth nonlinear programs of any form. It is often faster than LSGRG2 when the problem functions take a long time to evaluate. It is used by many oil and chemical companies in their real-time optimization systems. It also has the ability to solve large sparse problems, with hundreds or thousands of constraints and variables. A Fortran version is available.

SLP Successive Linear Programming

SLP solves general nonlinear programs by solving a sequence of approximating linear programs. SLP is especially good for large problems with relatively few nonlinear variables and/or constraints, i.e., "mostly linear" problems. It also works very well for problems which have nearly or exactly as many active constraints at the optimum as there are variables, i.e., "highly constrained" problems. The SLP algorithm is widely used in the oil and chemical industry to solve large production planning models. A Fortran version is available, and a C version is under development.

MSNLP Multistart Global Optimization

MSNLP is a C system for finding globally optimal solutions to smooth nonlinear programs. It does this by generating many starting points, and calling a local nonlinear solver from a subset of them, those which have good enough objective values and which are not too close to any local solution found so far. The built-in local solver is LSGRG2, but other solvers could be substituted. MSNLP is available as a callable C program. It is also available from GAMS Development Company as a solver interfaced with the GAMS modeling language. For more information, see www.gams.com.