NEOS Server Home

NEOS Interfaces to BLMVM-test

WWW Form & Sample Submissions
E-mail
XML-RPC

BLMVM-test



The NEOS Server offers BLMVM for the solution of nonlinear optimization problems with simple bounds on the variables.

This solver is a limited memory, variable metric method. It assumes that the variable bounds are fixed and the gradient of the objective function can be computed. This solver creates a quadratic model function in the full space of variables using projected gradients. This gradient information is stored in such a way that the storage required is linear in number of variables. Since the algorithm does not require second derivatives, the method can be applied when the Hessian is not available or not practical to compute.

If it is desired, BLMVM can solve the minimization problem without requiring the user to provide any gradient evaluations. The user only needs to provide a subroutine to calculate the function. Derivatives are computed by the automatic differentiation tools ADIC or ADOL-C for C code.

To use BLMVM with AMPL files, try the BLMVM (AMPL input) page. To use BLMVM with Fortran files, try the BLMVM (Fortran input) page.

BLMVM was developed by Steve Benson and Jorge Moré. The algorithm can be found in the Toolkit for Advanced Optimization.


Using the NEOS Server for BLMVM

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

How many variables are in your problem
Number of dimensions:


Are you providing a subroutine that calculates both function and gradient evaluations or a subroutine that only provides function evaluations. The second choice will invoke Automatic Differentiation using the AD tool of your choice.
Derivative Method:



AD tool:


If your function is in partially separable form, then enter the number of function elements
Number of function elements:


In what file is the function to evaluate function and gradient? If you are using the function/gradient option, then your function must be called 'fcn' and have this prototype:

C:
void fcn(int ndim, double *x, double *f, double *g)

If you are using the function/automatic differentiation option, then your function must be called 'fcn' and have this prototype.

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


Evaluate function/gradient(local file):


In what file is the function to set the variable bounds? The default values are +,- infinity, insert only the boundary values that are not at infinity. If you do not want any variable bounds, then you can leave this entry blank. Otherwise, the function must be called 'xbound' and have this prototype:

void xbound(int ndim, double *l, double *u)


Set variable bounds (local file):


In what file is the function to set the initial vector? The function must be called 'initpt' and have this prototype:

void initpt(int ndim, double *x)


Initial Value Function:


Enter optional command-line arguments. Below are selected options. See TAO User Manual for details and a complete listing.
Enter any (optional) TAO options:



Comments:


e-mail address:

Please do not click the 'Submit to NEOS' button more than once.


NEOS Server Home
Submit comments and questions


DOE disclaimer
DOE Web privacy policy