SNOPT Changelog#
Sun May 11 18:35:33 EDT 1997#
Tweak things to reflect changes to SNOPT since 19970318.
Fri Jul 11 02:06:00 EDT 1997#
Trivial tweak to snopt.c; bring xsum0.out up to date (it was wrong).
Fri Oct 17 01:17:15 EDT 1997#
Report numbers of nonlinear objective and constraint evaluations (when positive), and the numbers of gradient (and Jacobian) evaluations. Give default 99999999 to the iteration limit “iterations”. This stuff still pertains to SNOPT 5.1.2; a driver for 5.3 is coming.
Thu Oct 23 21:07:31 EDT 1997#
Update to version 5.3.
Fri Oct 24 11:34:08 EDT 1997#
Fix glitch with “snopt -v”, which erroneously mentioned “March 1997”.
Thu Oct 30 11:52:40 EST 1997#
Make outlev > 1 work as described by “snopt -?”.
Thu Nov 6 09:01:26 EST 1997#
snopt.c: tweak for -DKR_headers; snoptver.c0 not changed.
Fri Nov 7 12:45:25 EST 1997#
snopt.c: fix typo in snopt -=; invoke xknowne (added last night to amplsolver.a) rather than xknown.
Wed Nov 12 17:01:39 EST 1997#
README makefile: tweak to reflect libamplsnopt.a that can now be created by the makefile in Philip Gill’s snopt.tar.gz.
Fri Nov 14 07:47:44 EST 1997#
snopt.c snoptver.c0: correct calling seq. of funcon and funobj (the change should be invisible, as it involves arguments that are never referenced); change MINOS to SNOPT in the output of “snopt -?”.
Mon Nov 24 08:45:44 EST 1997#
snopt.c snoptver.c0: supply problem name (based on stub), as it appears in output generated by outlev >= 2.
Tue Feb 3 13:28:01 EST 1998#
snopt.c snoptver.c0: recognize return (not documented in the SNOPT source) for “Primal feasible solution; could not satisfy dual feasibility”.
Sun Apr 19 21:40:42 EDT 1998#
makefile: omit \(S/funcadd0.o; on most systems, \)S/amplsolver.a now provides a recommended default funcadd: see ampl/solvers/funclink/README for details.
Tue May 26 23:11:20 EDT 1998#
Update to SNOPT 5.3-2.
Fri Jun 5 15:04:15 EDT 1998#
Adjust returned status values so nonbasic slacks for equality constraints will have .status value “equ”.
Tue Jul 28 22:36:04 EDT 1998#
README: add table of possible solve_result_num values.
Wed Oct 14 00:31:19 EDT 1998#
snopt.c: updated to fix a bug with problems having a nonlinear objective and some purely linear constraint variables that do not appear in the objective. Too much of the gradient was zeroed in this case, possibly corrupting memory. The fix involves an update of the AMPL/solver interface library (amplsolver.a or amplsolv.lib), which must be recompiled.
Thu Nov 19 16:07:42 EST 1998#
snopt.c: correct an off-by-one bug in the numbers of objective and constraint evaluations reported in the solution message: the numbers were high by one. snoptver.c0: reflect version 5.3-4.
Mon Nov 23 15:18:58 EST 1998#
snopt.c: change default superbasics_limit (which must be known too soon for the usual default computation by the SNOPT routines) to min(500, nnL+1), where nnL is the number of nonlinear variables. makefile: pout out CFLAGS comments in $S/makefile.
Tue Nov 24 17:21:22 EST 1998#
snopt.c: call snMem() rather than s8Mem() to get memory estimates. This changes should be invisible, but makes the code a bit simpler and more readable.
Sat Feb 26 15:25:26 EST 2000#
snopt.c: remove assignment “Plinfy = Infinity” to keep SNOPT’s scaling routine from generating NaNs (under rare conditions).
Mon Feb 28 13:22:45 EST 2000#
snopt.c: recant yesterday’s change; something else was amiss in the example that led to the change.
Thu May 11 12:58:46 EDT 2000#
snopt.c: zero memory passed to sninit_().
Wed May 23 13:38:49 EDT 2001#
snopt.c: Adjust so outlev=n for n > 1 will report SNOPT’s function evaluation times by default (unless timing_=0 is specified). On some systems, these times are less accurate than those produced when ftimes=1 is specified. snopt.c: updated for version 6.1-1; the previous snopt.c (for version 5.3.5) is now snopt535.c. README updated. makefile renamed makefile.u; new makefile.vc and subdirectory src (with its own Unix and Microsoft makefile variants).
Wed Jun 20 16:52:59 EDT 2001#
Minor tweaks… snopt.c: fix glitch on line 942 (change = to ==) and add #ifdef Finite_Plinfy for machines with buggy Infinity arithmetic. Add src/makefile.fu. Add student snopt binaries to subdirectories of /ampl/student.
Wed Apr 10 14:02:46 EDT 2002#
snopt.c: upon SIGINT (which may be caused on some systems by typing control-C or Del), return with solve_result_num = 401 and give solve_message “SIGINT treated as iteration limit”.
Tue Apr 30 18:35:10 EDT 2002#
snopt.c: show less version information by default: rather than, “SNOPT 6.1-1(4)(Jun 2001):”, print just “SNOPT 6.1-1:”. More detail is still available with the command-line invocation “snopt -v” or with “version=1” in $snopt_options.
Mon Oct 22 01:20:56 MDT 2007#
Update to SNOPT version 7.2-5. Add simple configure and configurehere scripts.
Thu Nov 29 02:06:53 MST 2007#
snopt.c, README: when the objective cannot be evaluated initially, report this (with new solve_result_num value 515) rather than that the constraints cannot be evaluated at the starting point. snopt_.c: update for SNOPT 7.*.
Sun Apr 6 22:26:59 MDT 2008#
snopt.c: adjust get_Title to ensure Oinfo.version is null-terminated.
Wed Jun 1 13:17:17 MDT 2011#
snopt.c: fix an (apparently so-far harmless) out-of-bounds array reference on QP problems.
20140313#
snopt.c: new keyword objrep: Whether to replace
minimize obj: v;
with
minimize obj: f(x) when variable v appears linearly in exactly one constraint of the form s.t. c: v >= f(x); or s.t. c: v == f(x); Possible objrep values: 0 = no 1 = yes for v >= f(x) (default) 2 = yes for v == f(x) 3 = yes in both cases
snopt.c and README: new solve_result_num value 530 for “Indefinite Hessian”, which is possible with the default qpcheck = 1 when the objective is quadratic and the constraints are linear.
20140324#
snopt.c: correct last argument passed to sninit_. This change should be invisible.
20140828#
snopt.c: omit unnecessary include “f2c.h”.
20150217#
snopt.c: fix a possible fault with “objrep” on problems with nonlinear constraints and a linear objective; change objrep default to 3.
20150525#
snopt.c: fix a bug that caused keyword meminc to be ignored, and arrange for “snopt stub meminc=? …” to show the default meminc value (which is 20*(M + N), where M = number of constraints and N = number of variables).
20150821#
snopt.c: changes sntitl_ to sntitle_ (for SNOPT 7.5).
20151025#
snopt.c: fix incorrect handling of “objno” keyword.
20181101#
snopt.c: fix a glitch with a starting point where a derivative cannot be evaluated.
Instead of saying, e.g.,SNOPT 7.5-1.2 : Bug: "scream" called. -11111 iterations
say
SNOPT 7.5-1.2 : Derivative evaluation error. 0 iterations, infeasibility sum 0
snopt.c, README.snopt: add some solve_result_num values for unlikely errors:
517 Bad "nn=filename" assignment 561 Bug: "scream" called 562 Evaluation error 563 Derivative evaluation error 564 Bug: surprise setjmp() return 565 Floating-point error
20190314#
snopt.c: fix a bug with “objrep” with “var v; minimize c*v;” for c values other than 1, and relink to fix objrep bugs with several adjustable objectives.
20201018#
Relinked with an updated ASL2, fixing a bug affecting Hessian computations.
20201030#
Relinked with and updated ASL2, which fixes some minor problems.
20201030.1#
Fixed a possible problem in the licencing routines for computer with many MAC addresses.
20211109#
Relinked with ASL 20211109, which allows the use of functions with output arguments in the AMPL session.