GUROBIASL Changelog

20231208

  • Relinked with Gurobi 11.0

  • Added control solutiontarget

20230310

  • Adjusted to account for the fact that suf_sos() may change the number of range constraints

20221113

  • Relinked with Gurobi 10.0.0

  • Added controls networkalg, obbt and softmemlimit

20220706

  • Relinked with Gurobi 9.5.2, which contains bug fixes

20220423

  • Fixed spelling mistake in the -= output

  • Fixed control nlpheur

20220303

  • Relinked with Gurobi 9.5.1, which contains bug fixes

20220225

  • Fixed logical constraints names when writing problems using writeprob

20220124

  • Fix for poolignore not being considered for certain combinations of the parameter ams_mode

20220124

  • Minor changes to -= output

  • New suffixes sensrhshi2 and sensrhslo2 to capture solution sensitivity information for range constraints

  • Improved basis handling in multiple solves

  • Improved suffix sstatus report for range constraints

20211209

  • Update to Gurobi 9.5.

    • New keywords: cloudhost, presos1enc, presos2enc, nlpheur, worklimit, memlimit, liftprojectcuts, lpwarmstart

    • New input suffixes: poolignore, iisforce, iisforcelb, iisforceub, iisforce

    • New output suffixes on problem: concurrentwinmethod, maxvio, work, sensrhshi2, sensrhslo2

20211001

  • A bug that caused an incoming basis to be ignored when no constraints were in the basis.

  • Possible problem in the licencing routines for computer with many MAC addresses.

20210820

  • A bug involving a defined variable that references another defined variable and that is shared by two or more objectives or constraints.

  • Adjust the license check to be more robust when there are many solver threads.

  • Possible issue with unbounded rays computation.

20210705

  • Update to Gurobi 9.1.2, which contains many bug fixes.

20210614

  • Relink with ASL version 20210613 to fix a fault with indicator constraints.

20201230

  • Relink with Gurobi 9.1.1, which contains many bug fixes.

20201130

  • Update to Gurobi 9.1, which contains performance improvements and bug fixes.

  • New possible value (-1) to suffix lazy to specify pre-defined user cuts; there are some limitations on the functionality due to some bugs in the current version of the gurobi library.

  • Keywords integralityfocus, norelheurtime, norelheurwork (see “gurobi -=” for details).

20201107

  • Relinked with ASL 20201107, which contains various bug fixes.

  • [Windows] Relinked to avoid false positive reports from many antivirus.

20201005

  • [MacOS] Added support for older version of MacOS.

20200921

  • Fixed an error that was affecting the IIS retrieval of an unfeasible non-linear model . solved via nonconvex=2 and iisfind=1,

  • Fixed some alignment issues in the -= output.

20200914

  • Kappa suffix now returns real value.

20200905

  • Update to Gurobi 9.0.3, which has various bug fixes.

  • New keyword kappa (see “gurobi-=” for details).

20200504

  • Update to Gurobi 9.0.2, which has various bug fixes.

20191216

  • When “ams_stub=…” and “ams_mode=2” are specified and one solution is found, set npool = 1 (rather then 0).

20191211

  • Allow quadratic equality constraints when “nonconvex=2” is specified.

20191202

  • Update to Gurobi 9.0.0.

  • New keywords: bqpcuts, nonconvex, relaxliftcuts, rltcuts. See the “gurobi -=” output for details.

20190908

  • Relink to ignore any LOGWAIT keywords in the ampl.lic or ampl.netlic file.

20190430

  • Allow alternate MIP solutions to be written (when available) even if timelim is specified and is reached.

20190315

  • Relink to fix bugs with “objrep” when several objectives can be adjusted.

20181120

  • Relink to ignore HEARTBEAT lines in the ampl.lic file.

20181023

  • Adjust copyright text in “gurobi -v” output.

20181017

  • Update to Gurobi 8.1.

  • New possible value 2 for “preqlinearize”. See the “gurobi -=” output for details.

  • Fix possible trouble (e.g., a fault) when “objrep” causes one or more constraints, other then the last, to be removed.

20180601

  • For consistency with the cplex driver, add keywords poolgap, poolgapabs, and poolstub as synonyms for ams_eps, ams_epsabs, and ams_stub, respectively, and return in suffix npool the number of alternative MIP solution files written. These files have names obtained by appending “1.sol”, “2.sol”, etc., to ams_stub. Suffix npool is on the objective and problem. When ams_stub (or poolstub) is specified but ams_mode (or poolsearchmode) is not, assume ams_mode=2.

20180425

  • Update to Gurobi 8.0.

  • New keywords cloudpriority, partitionplace, server_insecure; withdrawn keyword: server_port. See the “gurobi -=” output for details.

20171218

  • Relink to fix a possible fault introduced 20171215.

20171215

  • Relink to fix possible trouble with quadratic objectives and constraints involving defined variables.

  • When multiobj=1 and there are several objectives, report the value of each objective in the solve_message.

20171211

  • Adjust treatment of multiobj=1 and its description. When asked to deal with multiple objectives, Gurobi apparently ignores the originally supplied objective, requiring it to be supplied a second time. Moreover, all objectives must be linear. An attempt to supply, say, a quadratic objective when multiobj=1 now results in new solve_result_num value 543. This update also fixes some possible (probably unlikely) trouble with quadratic objectives and constraints.

20170712

  • Update to Gurobi 7.5.

  • New keyword startnodelimit. When multiobj=1, objective-specific convergence tolerances and method values may be assigned via keywords of the form obj_n_name, such as obj_1_method for assigning a method value for the first objective.

20170707

  • Tweak so pool_* keywords should work when a suitable Gurobi Compute Server is available. New solve_result_num values 540, 541, 542 for trouble with Gurobi Compute servers.

20170503

  • Update to Gurobi 7.0.2, which has some bug fixes.

20170429

  • Relink to fix bugs converting

      var o;
      minimize O: o;
      s.t. c: o = q(x);
    

to

    minimize O: q(x);

where q(x) is quadratic. Linear and constant terms were sometimes mishandled.

20170419

  • Fix two bugs with “multiobj=1”.

20170307

  • Fix bugs setting solve_result_num values 101, 102, 103, 502, 524.

  • Add possible solve_result_num values 104 and 570.

  • Fix a fault that happened if bestbndstop or bestobjstop was reached and a solution was not available.

20170116

  • Fix a glitch with multiple objectives: the objective used was not transmitted (via the .sol file) to the AMPL session.

20161108

  • Add keywords miqcpmethod and premiqcpform. See the “gurobi -=” output for details.

20161026

  • Update to Gurobi 7.0.

  • New keywords: ams_mode, bestbndstop, bestobjstop, cloudid, cloudkey, cloudpool, degenmoves, infproofcuts, multiobj, multiobjmethod, poolsearchmode, poolsolutions. See the “gurobi -=” output for details.

20160624

  • Update to Gurobi 6.5.2, which has some bug fixes.

20160608

  • Fix a glitch with the Gurobi library accompanying the Linux binary.

20160607

  • Allow “serverlic” file to accept “computeserver” as a synonym for “server” and “password” as a synonym for “server_password”.

20160329

  • Update to Gurobi 6.5.1, which presumably has some bug fixes.

20160310

  • Try to give a better error message (than “invalid license”) when the Gurobi compute server is used and no license is available.

20160118

  • Replace solve_result_num value 600 with 405 or 415 (for interrupted with or without a feasible solution, respectively) and add new solve_result_num value 411, 412, 413 for iteration, node, and time limits without a feasible solution.

20151209

  • Relink to fix a bug with quadratic objectives or constraints with diagonal elements that sum to zero and whose rows contain nonzeros to the left but not to the right of the diagonal.

20151125

  • Fix a glitch with “warmstart”: the default and upper limit values were interchanged.

  • For Linux binaries, add the directory containing the binary to the library search rules.

20151120

  • Adjust message about Gurobi not handling free rows.

20151029

  • Update to Gurobi 6.5.

  • New possible values 2, 3, and 4 for keyword “warmstart”. See the “gurobi -=” output for details.

20151026

  • Relink to fix a bug with “objrep” when the problem has several objectives.

20151005

  • Relink to fix a fault with some quadratic objectives or constraints.

20150829

  • Relink to fix a bug with quadratic objectives and constraints in which cancellation causes fewer than the generic number of quadratic nonzeros.

20150630

  • Fix some possible trouble with a single-use license.

20150529

  • In Linux bundles, remove “gurobi” shell script and replace it with the former gurobix; the 32-bit Linux version remains at Gurobi 5.0.2. In gurbodi.doc bundles, update INSTALLING section of README.gurobi.

20150512

  • Update to Gurobi 6.0.4, which has some bug fixes. Gurobi no longer runs under Windows XP.

20150501

  • Update to Gurobi 6.0.3, which has some bug fixes.

20150427

  • Fix a bug with “objrep” on problems with quadratic constraints.

  • Fix a rarely seen licensing glitch.

20150422

  • Arrange to return iis_table (for symbolic names of .iis values) when returning an IIS that only involves constraints. Hitherto, iis_table was only returned when returning an IIS that involved some variables.

20150324

  • Correct description of keyword “threads”, which applies to the barrier algorithm as well as to MIP problems.

20150304

  • Add keyword “pool_distmip” for specifying how many machines from the server pool (if specified by pool_servers) should be used for solving each MIP instance.

20150228

  • Rework logic for suffixes absmipgap, bestbound, and relmipgap so .bestbound can be returned in more cases.

20150227

  • Update for Gurobi 6.0.2, which has some bug fixes.

20150226

  • When suffixes absmipgap, bestbound, and/or relmipgap are requested, return them (as the description of “return_mipgap” in the “gurobi -=” output says they should be) with infinite values if no integer feasible solution has yet been found. Expand the description of “bestbound” in the “gurobi -=” output.

  • Adjust MacOSX portion of README.gurobi.

20150225

  • Relink the MacOSX “gurobix” so it will find libgurobi60.so (without adjustments to $DYLD_LIBRARY_PATH) when both appear in the same directory.

20150209

  • When writeprob=… is specified and variable or constraint names are available (via option gurobi_auxfiles), pass them to Gurobi so they appear in the file or files written for writeprob keywords.

20150102

  • When server=… is specified, replay other option settings so they affect the new Gurobi environment.

20141223

  • Relink to fix a fault that was possible under unusual conditions.

20141209

  • Add scale=2 to the description of scale in the -= output.

20141204

  • Tweak to free some scratch memory on quadratic problems; should be invisible, aside perhaps from reduced memory requirements.

20141124

  • Updates for Gurobi 6.0.

  • New keywords:

    lazy
    pl_bigm
    pool_mip
    pool_password
    pool_servers
    

    See the output of “gurobi -=” for details.

  • On MIP problems, suppress returning a basis or solution sensitivities unless a feasible solution has been found. New option basisdebug: specifying basisdebug=1 restores the old behavior of trying to return a basis and/or solution sensitivities (if requested) even when the problem is infeasible or unbounded. Specifying basisdebug=2 causes the “basis” and “solnsense” keywords to be honored only if an optimal solution is found.

20141013

  • Relink macosx binary so licenses can consider both hostname and local hostname.

20140828

  • Fix a glitch seen only on a bizarre MS Windows system that got eror message “Bad LOCAL_MGR = 0.0.0.0” with a floating license. Only the MS Windows bundles are updated. If you have not seen the “Bad LOCAL_MGR” message, you do not need this update. With the updated gurobi.exe, invoking “gurobi -v” will show ASL(## 20140826).

20140528

  • Update to Gurobi 5.6.3, which has some bug fixes; “gurobi -v” should show “driver (20140508)”, and the updated downloads have names of the form gurobi..20140508..

20140324

  • Add “.rew” and “.rlp” to the possible suffixes used with “writeprob”.

20140313

  • Fix a glitch (possible fault) sometimes seen with objrep.

20140## 205

  • Update to Gurobi 5.6.2, which has some bug fixes; “20140205” is the ASL date that “gurobi -v” should show.

20131114

  • Fix a glitch, probably introduced in version 20131003, that kept “cuts” from being recognized in $gurobi_options.

20131113

  • Fix a typo in the “gurobi -=” output: change “tuneparbase” to “tunebase” (twice, in the description of “tunebase”).

20131101

  • Add keyword “objrep”, which (as now shown in the output of “gurobi -=”) tells 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) 2 = yes for v == f(x) (default) 3 = yes in both cases

For maximization problems, “>= f(x)” is changed to “<= f(x)” in the description above.

20131023

  • Ignore case in MAC addresses during license checks (an issue rarely seen). When ending execution under a floating license, try to read a reply from the license manager to circumvent bug sometimes seen in MS Windows.

20131003

  • Update to Gurobi 5.6.

  • New keywords: disconnected, pool_mip, pool_password, pool_servers, pool_tunejobs, presos1bigm, presos2bigm. See the output of “gurobi -=” for details.

20130530

  • Fix a bug with ignoring SOS1 sets of one element (specified with .sosno).

20130419

  • Correct the descriptions of “aggfill” (default value) and “cutoff” in the “-=” output. When the objective is no better than cutoff, report “objective cutoff” rather than “cutoff reached”.

20130402

  • Work around a bug in Gurobi 5.5.0 that caused a fault when a valid ampl.lic file was not found. (This does not affect course licenses.)

20130328

  • Update to Gurobi 5.5.0.

  • New keywords: concurrentmip, feasrelaxbigm, impstartnodes, numericfocus, seed, server, server_password, server_port, server_priority, server_timeout, serverlic, tunebase, tuneoutput, tuneresults, tunetimelimit, tunetrials. For details, invoke “gurobi -=”.

20130206

  • Fix a possible fault, introduced 20120504 (for Gurobi versions >= 5), with problems having a dual initial guess but no incoming basis.

20130204

  • Fix an off-by-one error in the description of sos2 in the -= output.

20130109

  • Update to Gurobi 5.1.0, which has significantly improved performance on some MIP problems, but does not have a 32-bit Linux version. For now, the 32-bit Linux version remains at Gurobi version 5.0.2, but later it will be withdrawn.

20121204

  • Update to Gurobi 5.0.2, which has some bug fixes.

20121116

  • Relink to fix a fault on problems with nonlinear piecewise-linear terms; such problems now elicit an error message.

20121101

  • Relink to fix a glitch (possible fault) with problems having both nonconvex piecewise-linear terms and quadratic constraints. (If “gurobi -v” shows “ASL(yyyymmdd)” with yyyymmdd >= ## 20121101, then you have this bug fix.)

  • Fix a bug with problems involving both nonconvex piecewise-linear terms and range constraints. The adjustments for ranges were wrong, resulting in the error message “Index is out of range” or other trouble.

20121012

  • Relink macosx64 version in hopes of working with MacOSX versions as old as 10.4.

20121006

  • Add “version” keyword (a single-word phrase), which causes version details to be printed before the problem is solved.

20121005

  • Fix a glitch with discarding SOS1 sets of size 1 and SOS2 sets of size 2 when explicitly specified by suffixes sosno and ref (a bad idea – it is much less error prone to use AMPL’s <<…>> notation for piecewise-linear terms).

20120828

  • On MIP problems, when basis >= 2 (the default) and method >= 2 (explicitly specified in $gurobi_options), avoid an unnecessary barrier-solver call when trying to return the requested basis. Adjust the description of “method” and remove “rootmethod”, which went away in Gurobi 4.0.

20120713

  • Update to Gurobi 5.0.1, which has some bug fixes.

20120606

  • Fix a bug in providing a dual initial guess (when available from a previous solve) in problems with quadratic constraints. The bug led to the message “Index out of range for attribute ‘DStart’.”

20120524

  • Fix a typo in the “gurobi -=” output.

20120511

  • Fix a bug (fault) in supplying a warm start.

20120504

  • Update to Gurobi 5.0, which handles quadratic constraints and runs faster on some problems.

20120320

  • Adjust license-check in Linux versions for use with FreeBSD.

20111209

  • Update to Gurobi 4.6.1. No new functionality, but internal changes may affect performance on some problems.

20111120

  • Relink to fix a possible fault with piece-wise linear terms. Absent a fault, the bug was harmless.

20111109

  • Update to Gurobi 4.6.

  • New keywords for $gurobi_options are presparsity, priorities, sifting, siftmethod, and zeroobjnodes. Invoke “gurobi -=” for details.

20111107

  • Permit use of single-user licenses.

20111011

  • Relink the MS Windows gurobi.exe files so on systems that can use multiple threads, the solve times reported with, e.g., timing=1 will be summed over the threads used, as they are on other systems.

20111003

  • When processing ampl.lic, ignore new keywords for ampl.netlic. Some platforms remain at 20110928, as their binaries already ignore the new keywords.

20110928

  • Relink to fix a bug with piece-wise linear terms (introduced 20110920).

20110920

  • Add “method” as a synonym for “lpmethod”, and linke with Gurobi 4.5.1 libraries, which have some (obscure) bug fixes. Invoking “gurobi -v” will show driver version ## 20110907.

20110826

  • Fix trouble handling piecewise-linar terms ( <<…;…>> v) accidentally introduced 20110814 (in update to “20110728”).

20110728

  • Fix a glitch with sos=1 in $gurobi_options that prevented .sosno and .ref from being used in problems with only continuous variables.

20110527

  • Relink to permit a quoted “hostname” for MGR_IP in the ampl.lic file for a floating license.

20110427

  • Correct compilation of mswin64 gurobi.exe; yesterday’s version omitted new functionality for Gurobi 4.5.

20110426

  • Update to Gurobi 4.5.

  • Tweak license checker to correct a rare problem on MS Windows systems.

20110322

  • Fix a bug in handling problems with integer variables (including binary variables) and piecewise-linear terms: the wrong variables were likely treated as integer.

  • Fix a bug with “writeprob” that could occur in problems with piecewise-linear terms: a call on GRBupdatemodel() was missing, which could affect, e.g., a *.lp file specified by writeprob.

20110117

  • Mention “gurobi” in the “No license for this machine” message.

20101207

  • Set solve_result_num = 567 if the problem has complementarity constraints.

20101115

  • Fix a bug (introduced in adjustments for Gurobi 4) that sometimes caused the constant term in objectives to be treated as 0. This affected the objective value reported.

20101105

  • Update to Gurobi 4.0.