NEOS Server Home

NEOS Interfaces to LRAMBO

Sample Submissions
WWW Form - Email - XML-RPC


The NEOS Server offers LRAMBO for the solution of nonlinear optimization problems with equality and inequality constraints.

The approach to solve nonlinear constrained optimization problems in LRAMBO is 'total quasi-Newton' with linesearch and a working set strategy. The 'total quasi-Newton' approach combines the selective evaluation of cheaply available derivatives via Algorithmic Differentiation (AD) with the approximation of the Jacobian and Hessian matrices by new, linearly invariant update formulas. As a result the linear algebra cost per iteration is only quadratic with respect to n+m, and the evaluation effort is bounded by a small multiple of that needed to compute the objective and derivative values by themselves. Due to the heredity property of the updates equality constrained quadratic programs are solved exactly in n steps for almost all initializations of primal and dual variables as well as Jacobian and Hessian approximations.

LRAMBO is being developed as part of the research project "General purpose, Linearly Invariant Algorithm for Large-Scale Nonlinear Programming".

The authors of LRAMBO are: Andreas Griewank, Stefan Körkel, Kshitij Kulshreshtha, Torsten Bosse, Volker Schloßhauer, and Lars Sadau. For details please contact Torsten Bosse.

It is based on previous work by: Andrea Walther, Andrej Ponomarenko, Maciek Korzec, Sascha Eichstädt, and Susanne Kreiterling.

The solver requires the input of evaluation routines for the objective, an initial point, and the constraints. First and second order derivatives can be computed by automatic differentiation with ADOL-C.

The solver setup was last updated by J.Utke on Nov/29/2012.

Using the NEOS Server for LRAMBO

To solve a problem, the user must submit to the server:

Web Submission Form
Number of dimensions
How many variables are in your problem
Number of equality constraints
How many equality contraints do you have
Number of all constraints
How many contraints do you have altogether
Epsilon (cannot be smaller than 1.0e-20)
Convergence is achieved if the L2 Norm of active constrains and the sqaure of the L2 norm of the gradient of the Lagrangian are less than or equal to epsilon, When setting epsilon too small the algorithm may stop in unconverged state after the maximal number of iterations.
Maximal number of iterations (cannot be larger than 5000)
After the set number of iterations the algorithm stops if convergence has not been achieved earlier. Note that the server also uses a timer to kill runaway jobs.
AD tool
Evaluate function (local file)
In what file is the function to evaluate the objective? Your function must have the following prototype.

void fcn(int ndim, double *x, double *f)

  • int ndim -- # of dimensions in the problem
  • double *x -- variables
  • double *f -- scalar function value
Set constraints (local file)
In what file is the function to set the constraints? Your constraint function must have the following prototype:

void constrs(int ndim, double *x, int meq, int mup, double *c)

  • int ndim -- # of dimensions in the problem
  • double *x -- variables
  • int meq -- # of equality constraints
  • int mup -- # of all constraints (equality and inequality)
  • double *c -- constraints (array of size mup)
Note: The constraint values in the output c should be ordered such that the first meq values are equality constraint values and the remaining mup-meq values correspond to the inequalities.
Initial Value Function
In what file is the function to set the initial vector? Your initial poiot function must have the following prototype:

void initpt(int ndim, double *x)

  • int ndim -- # of dimensions in the problem
  • double *x -- the initial vector
Additional Settings

E-Mail address:
Please do not click the 'Submit to NEOS' button more than once.