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.