29 Distribution

29.1.0 Major release (November 15, 2019)

Acknowledgments

We would like to thank all of our users who have reported problems and made suggestions for improving this release. In particular, we thank Marcel Adenauer, David Bernal Neira, Erwin Kalvelagen, and Scolan Simon.

Platforms

  • As announced, dropped support for macOS 10.12 (Sierra).
  • After more than 20 years we plan to drop support for 32-bit MS Windows with the next major release. Some components, e.g., GAMS IDE and gdxxrw, will remain 32-bit executables in the 64-bit MS Windows GAMS distribution.
  • We plan to drop support for MS Windows 7 with the next major release.

GAMS System

GAMS

Installer

  • The DMG installer for macOS has been reorganized and is now notarized, so that it should work on macOS 10.15.
  • The selfextracting archive for macOS is now a 64-bit application.

Solvers

ANTIGONE, Bonmin, Couenne, Ipopt, SCIP

  • Updated Intel MKL libraries to version 2019.5 on Linux and macOS.
  • Updated Intel MKL libraries to version 2018.4 on Windows 64-bit again.

CBC

  • New libraries.

CONOPT

  • New library 4.15 with bug fixes.
  • Option DF_Method has been replaced by the options Tol_Def_Mult and Tol_Def_Ini.

Convert

  • Fixed a bug that caused a crash with option nlp2mcp selected.

DICOPT

  • Fixed so called "integer cuts" when both binary and integer variables are present. DICOPT generated two integer cuts in this case, one that excluded the current values of binary variables and another one that excluded the current values of integer values. Now a single combined cut is generated, which allows that the values of the binary variables can repeat if the values of the integer values change and vice versa.
  • Setting option weight to a value larger 1020 now disables the augmented penaly relaxation, that is, linearizations of nonlinear equations are added as hard constraints to the MIP relaxation instead of soft constraints.
  • Enabling option convex now changes the default for option weight to maxdouble.

Examiner

  • Added option objvarAutoAdjust to adjust objective variable to make objective equation feasible for models that allow objective reformulation.

Lindo/LindoGlobal

  • New libraries 12.0.169.
  • Added support for function signPower.

LocalSolver

  • New libraries 9.0 (20191004) for Linux, macOS, and 64-bit Windows.
    • Performance improvements on packing, routing, and scheduling problems as well as on nonlinear continuous problems.

LGO

  • Fixed a bug in the computation of the best feasible solution - an uninitialized variable was used.

MOSEK

  • New libraries 9.1.1.
  • Correct rejection of problems with non-quadratic nonlinear objective function when constraints are linear.

SoPlex

  • New libraries 4.0 (083219e0).

SCIP

  • New libraries 6.0 (a15f6c41).

Tools

GAMS Studio

  • New version 0.13.2
    • Stability and performance improvements.
    • Allow to adjust the numerical precision in the GDX Viewer.
    • Added dialog to create/update license file (pops up when a license is in the user's clipboard and "About GAMS" is opened).
    • Added full screen mode (shortcut on Windows and Linux: ALT+Return, shortcut on macOS: META+CMD+F).
    • Added auto-resizing of columns when opening the Reference File Viewer.
    • Reworked process log to better handle long and fast output.
    • Improved behavior of F1 (Help) Key: Studio now opens widget specific help if available.
    • Renamed "Output View" to "Process Log".
  • Added a tutorial about the usage of GAMS Studio to the documentation.
  • As announced, dropped Studio for 32-bit Windows.

Object Oriented APIs

Python

  • Added support for Python 3.7 on Windows 64-bit, Linux, and macOS.
  • We plan to drop support for Python 3.4 with the next major release.
  • Support for Python 2.7 officially stops January 1, 2020. We plan to drop support for Python 2.7 with some future release. If you rely heavily on the availability and support of the GAMS API for Python 2.7 please contact support@gams.com to discuss your options.

Java

  • Increase the minimum version requirement of the Java Runtime Environment to Java SE 8.
  • The remove operation GAMSDatabaseIterator.remove is no longer supported. The method now throws an instance of java.lang.UnsupportedOperationException and performs no other actions. (To remove all records of the current iterating symbol, use the method GAMSSymbol.clear instead.)
  • Fixed the behavior of the remove operation GAMSSymbolIterator.remove. The method now removes all records of the last GAMSSymbol element returned by an instance of GAMSSymbolIterator and can be called only once per call to GAMSSymbolIterator.next. The behavior of an iterator is unspecified if the underlying collection is modified while iterating.

Expert Level APIs

  • Added support for Python 3.7 on Windows 64-bit, Linux, and macOS.
  • We plan to drop support for Python 3.4 with the next major release.
  • We plan to drop support for Python 2.7 with some future release.

Model Libraries

GAMS Model Library

GAMS Test Library

  • Extrinsic function test models: Upgraded query-library generation code ql.py to Python 3. The default for property "description" has been changed to be an empty string.

Solver/Platform availability matrix

x86 32bit
MS Windows
x86 64bit
MS Windows
x86 64bit
Linux
x86 64bit
macOS
Sparc 64bit
SOLARIS
IBM Power 64bit
AIX
ALPHAECP
ANTIGONE 1.1
BARON 18.5.8
BDMLP
BONMIN 1.8
CBC 2.10
CONOPT 3
CONOPT 4
COUENNE 0.5
CPLEX 12.9 12.6 12.6
DECIS
DICOPT
GLOMIQO 2.3
GUROBI 8.1 7.5
GUSS
IPOPT 3.12
KESTREL
KNITRO 11.1 11.0
LGO
LINDO 12.0
LINDOGLOBAL 12.0
LOCALSOLVER 9.0 8.5
MILES
MINOS
MOSEK 9
MSNLP
NLPEC
ODHCPLEX 4
PATH
SBB
SCIP 6.0
SNOPT
SOLVEENGINE
SOPLEX 4.0
XA
XPRESS 33.01 32.01 29.01