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 Mac OS X 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

Solvers

ANTIGONE, Bonmin, Couenne, Ipopt, SCIP

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

CBC

  • New libraries.

CONOPT

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, Mac OS X, 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 Mac OS X: 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 Mac OS X.
  • 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 suppo.nosp@m.rt@g.nosp@m.ams.c.nosp@m.om 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 Mac OS X.
  • 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.