DONLP2 is a general nonlinear programming code by
Prof. Dr. Peter Spellucci
e-mail: spellucci@mathematik.th-darmstadt.de
It uses an SQP algorithm and dense-matrix linear algebra.
Source for DONLP2 is available from
ftp://ftp.mathematik.tu-darmstadt.de/pub/department/software/opti/DONLP2
File donlp2.o (mentioned in the makefile) is an object form of DONLP2
source file donlp2.f . See the DONLP2 source for documentation.
For a summary of using solver "donlp2", execute
donlp2 '-?'
Donlp2 reads keywords and values from the environment (shell) variable
donlp2_options (known in an AMPL session as option donlp2_options) and
from the command line. Execute
donlp2 -=
for a summary of keywords that donlp2 recognizes.
Possible solve_result_num values for donlp2:
0 Success! KKT conditions satisfied
100 nearly feasible with small directional deriv.
101 relaxed KKT conditions satisfied: singular point
101 small QP correction: nearly feasible and singular
200 tiny correction from QP at infeasible point
400 reached maxit steps
500 N too large (the Fortran donlp2 routines must be recompiled)
501 unknown termination reason
510 cannot evaluate constraints
511 cannot evaluate objective
520 dual extended QP failure: singular working set
521 infeasible QP
522 no descent in QP
523 tiny QP step from infeasible point
524 nondescent direction from QP
525 no acceptable step size
527 tiny step
528 more than NRESET small primal corrections
529 max(N,10) small penalty function differences
540 slow primal progress: singular or ill-conditioned problem?
Scaling (new 19980606): in an AMPL session, if you declare
option suffix vsclog10;
then variable.vsclog10 (default 0) is passed to donlp2, which scales
the variable internally by 10^-variable.vsclog10. Thus if variables x
and y are distances in meters that have typical values of a few
centimeters and a few kilometers, respectively, then
let x.vsclog10 := -2;
let y.vsclog10 := 3;
woudl probably be appropriate, since it would give the internal
variables typical values around 1.