DONLP2

Minimization of smooth nonlinear functions subject to smooth constraints


DONLP2 is a Fortran package designed to solve the nonlinear programming problem: the minimization of a smooth nonlinear function subject to a set of constraints on the variables. The problem is assumed to be stated in the following form:

minimize f(x)

subject to h(x)=0

and g(x) >= 0 ,

where f(x) is a smooth (nonlinear) function, h(x) is a vector of p smooth constraint functions and g(x) is m-vector of smooth nonlinear constraint functions. Among the g's there may be any lower or upper bounds on the variables. These are identified by a special indicator array.

The user must supply an initial estimate of the solution of the problem, subroutines that evaluate f(x), h(x), g(x) and their first partial derivatives. She (he) may use finite differences to achieve this and may tell this to the code via a parameter epsdif, the discretization stepsize and by setting analyt to false.

If the problem is large and sparse, the package should not be used, since DONLP2 treats all matrices as dense.

DONLP2 is a sequential quadratic programming method incorporating the exact l1- merit function and a special BFGS quasi-Newton approximation to the Hessian . As long as the gradients of the equality constraints and of the inequalities which are near their boundaries are linearly independent, the method uses an equality constrained subproblem only which makes it especially fast. If there are no nonlinear constraints, the gradients of the bound and linear constraints are never recomputed, and DONLP2 will function as a specialized algorithm for linearly constrained optimization, allowing infeasible iterates.

All problem functions are evaluated only at points that are feasible with respect to the bounds.

Availability

DONLP2 can be used freely for any kind of research purposes. For-profit-use requires licensing from P. Spellucci. The source code and example programs , make-utility etc. are available from

plato@asu(US), Darmstadt(Germany), and from Netlib

There exists also an AMPL interface for DONLP2 which automatically translates the problem given by the user in AMPL format into DONLP2's internal format. This interface is part of DONLP2's implementation in the NEOS-Server.

DONLP2 is written in ANSI Fortran 77 with MILSTD 1753 extensions and should run without much alteration on any machine with a Fortran 77 compiler. Maintainance and modification of the code is especially easy due to the use of structured INCLUDE files. System dependence is isolated in two functions computing date, time and users cpu-time, which may be altered or removed without any influence on the remaining code. The code has been installed on PC's, workstations, and mainframes.

Need more info?

Visit Peter Spellucci's homepage , or send him e-mail

References:

P. Spellucci: A SQP method for general nonlinear programs using only equality constrained subproblems. To appear in Math. Prog. 1998

P. Spellucci: A new technique for inconsistent QP problems in the SQP method . To appear in Math. Meth. Oper. Res., Vol. 47, (1998)


[ Optimization Software Guide | OTC Home Page | NEOS Server | NEOS Guide ]