30 Distribution
Table of Contents
30.1.0 Major release (January 10, 2020)
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 Todd Munson, Suguru Otani, Nick Sahinidis, and Dimitri Tomanos.
Platforms
- As announced, dropped support for Windows 7. The minimal required Windows version is now 8.1.
- Moved platform 32-bit MS Windows to peripheral platforms. We will completely drop support for 32-bit MS Windows with GAMS 31 (which was originally announced for GAMS 30).
Licensing and Demo Limits
- The GAMS demo limits have been increased. GAMS will generate linear (LP, RMIP, MIP) models up to 2000 constraints and 2000 variables and up to 1000 constraints and 1000 variables for all other model types. No other limits apply (e.g. non-zeros or discrete variables). Some solvers (e.g., the global solvers ANTIGONE, BARON, and LindoGlobal) might enforce additional restrictions.
- GAMS provides a free community license for users on request. This community license allows generating even larger models: up to 5000 constraint and variables for linear and 2500 constraints and variables for other model types. These free licenses are for demonstration and evaluation but not for commercial and production work, see the GAMS End User License Agreement.
- Starting with this release, GAMS requires a valid license even for the free demo system. Free demo licenses (time-limited for 12 months) can be generated at the download page. The free demo and community licenses require also a recent version (not older than 18 months) of GAMS to run. Please check the license documentation for details.
- GAMS Beta versions will stop working 90 days after their release. This is to prevent accidental use of beta software.
GAMS System
GAMS
- Added system suffix MACAddress, which contains the MAC address of the first network adapter.
- Allow to declare more than one parameter as table on a single line.
- Added new dollar control options $(on|off)Filtered: These control how GAMS loads data from GDX with $load, $loadR, and $loadM as well as from $offEmbeddedCode.
- Added new dollar control options $loadFiltered, $loadFilteredM, and $loadFilteredR to load data from GDX in filtered mode explicitly.
- Added new dollar control options $(on|off)ExternalInput to load data implicitly from an external source and $(on|off)ExternalOutput to save data implicitly to an external target.
- Added new command line parameters IDCGDXInput, IDCGDXOutput, IDCGenerateGDX, IDCGenerateGDXInput, IDCGenerateGDXOutput, IDCGenerateJSON, and IDCJSON.
- Embedded Python Code:
- Changed the optional boolean argument
domCheck
to an enumerated optionDomainCheckType
in the gams.set method in embedded code. This might break existing code. Even if thedomCheck
argument was not used, the default behavior at execution time changes. In previous versions the content was domain checked, now it is read filtered. - The argument
mergeType
was documented incorrectly. With typeMergeType.DEFAULT
(or no argument given) GAMS merged the content, in contrast to what the documentation said (here replace was mentioned).
- Changed the optional boolean argument
- Terminate with a proper error message if lines in the EMP info file exceed the maximum line length of 1020 characters.
- Fixed a problem where the order of a semicolon and certain dollar control options changed the behavior of the compiler.
Installer
- In addition to
.gms
files, the Windows installer also associates.gdx
files with either the GAMS IDE or GAMS Studio.
Solvers
BARON
- New libraries 19.12.7.
- Performance improvements for large-scale and mixed-integer quadratic problems.
- Improvements in interface to IPOPT.
CBC
- New libraries.
CONOPT
- New library 4.16 with bug fixes.
- Improvement in the transition from Phase 0 to Phase 1 and in the one-dimensional search close to optimality.
CPLEX
- New libraries 12.10.0.0.
- New options epLin and heuristicEffort.
GUROBI
- New libraries 9.0.0.
- Gurobi 9 comes with a new bilinear solver, which allows to solve non-convex quadratic programming problems. The new parameter nonConvex needs to be set.
- New general constraint types have been added to model functions like log, exp, sin, cos, and tan. New options funcPieces, funcPieceError, funcPieceRatio, funcPieceLength, and funcMaxVal have been added to control the piece-wise-linear discretization. The dot options doFuncPieces, doFuncPieceError, doFuncPieceRatio, and doFuncPieceLength allow control on an individual constraint basis.
- New parameters for new cutting planes: BQPCuts, relaxLiftCuts, and RLTCuts.
- Fixed a problem when reporting the primal solution only.
- Report the dual bound for continuous non-convex QP and QCP problems.
JAMS/LogMIP
- New option userPFFile to provide additional GAMS command line parameters for the GAMS run of the reformulated model.
LocalSolver
- New libraries 9.0 (20191219).
MOSEK
- New libraries 9.1.9.
ODHCPLEX
- New libraries 4.3.2 with bug fixes and performance improvements.
PATH
- New library 5.0.01 with bug fixes.
- Fix seg fault when using the hidden option output_hidden_options.
SCIP
- New libraries 6.0 (90a56e0b).
- Default for option heuristics/rins/nodesquot changed from 0.1 to 0.3.
Tools
GAMS Studio
- New version 0.14.1.
- Stability improvements.
- Added GDX Diff dialog to compare two GDX files. It can be opened by choosing
Tools > GDX Diff
from the menu or through the context menu off a GDX file in the Project Explorer. - Allow to open OS specific terminal in current working directory (
Tools
>Terminal
) or in working directory of a specific group (using the context menu in the Project Explorer)- Note: This feature does not work on all Linux distributions, e.g., Ubuntu, yet.
- Added basic integration of GAMS MIRO .
- Note: This requires a separate installation of the GAMS MIRO package.
- Improved GDX Viewer layout to optimize used screen space.
- Adjusted layout of Reference File Viewer.
- Added clear button to filter input field in GDX Viewer and Reference File Viewer.
Object Oriented APIs
C++
- We plan to drop support for Microsoft Visual Studio 2013 and maybe also 2015 with the next major release.
Python
- Added support for Python 3.8.
- As announced, dropped support for Python 3.4.
Expert Level APIs
- Added support for Python 3.8.
- As announced, dropped support for Python 3.4.
Model Libraries
GAMS Data Library
New models:
- pickstock.gms : Stock selection problem with MIRO (133)
- transport.gms : Classical transportation problem with MIRO (134)
GAMS Test Library
New models:
- embpy05.gms : Test merge/replace when loading data from embedded code (804)
- embpy06.gms : Test domain check/filtered when loading data from embedded code (805)
- load12.gms : Tests filtered load (806)
- idc01.gms : Implicit Data Contract Test (807)
- gurobi05.gms : GUROBI test suite - general constraints sin/cos (808)
- studio01.gms : Test Studio Startup (809)
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.10 | 12.6 | ✔ | ✔ | ✔ | 12.6 | ✔ |
DECIS | ✔ | ✔ | ✔ | ✔ | ✔ | |
DICOPT | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
GLOMIQO 2.3 | ✔ | ✔ | ✔ | ✔ | ||
GUROBI 9.0 | 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 |
30.2.0 Minor release (February 07, 2020)
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 Wolfgang Britz, Iswar Radhakrishnan, Simon Scolan, and Kirk Yost.
GAMS System
GAMS
- Fixed a problem when writing implicit data contract in JSON format (IDCGenerateJSON) with symbols that use a set more than once in its domain.
- Fixed a potential wrong domain violation error for symbols declared under $onExternalInput.
- Fixed
gamsinst
and the IDE to give better messages in case a license file is absent. - GAMS incorrectly removed indexed semi-integer and semi-continuous variables that have been fixed at a level other than zero with holdFixed set to 1. This has been fixed.
- GAMS also removes scalar semi-integer and semi-continuous variables now, when they have been fixed at zero with holdFixed set to 1.
- Fixed an issue where protected symbols could be changed using certain option statements.
- Added new command line parameter IDCProtect to control assignment behavior of external input symbols at execution time:
0
allows assignment,1
(default) protects external input symbols from being changed. - Adjusted reading of GAMS command-line arguments on non-Windows platforms to allow for empty arguments and arguments with preceding and trailing blanks. Windows users will not be affected by this change, nor will users who do not use quotes to protect arguments. But these invocations will now work differently on Unix, and will give the same result as on Windows:
gams main.gms –myPrefix "" user1 " four blanks here "
$call gams subjob.gms –cityA Tokyo –cityB ""
Solvers
CONOPT
- New library 4.17 with bug fixes.
- Fixed a problem where small infeasibilities were not correctly reported back to GAMS.
DICOPT
- Fixed a possible crash during exit when having used Ipopt as NLP solver.
GUROBI
- New libraries 9.0.1.
- Fixed a problem with tuning of lp/mps files. In contrast to the documention, the tuning suite contained the model generated by GAMS when providing a list of models in lp/mps files to tune.
- Made value 3 available for Gurobi option scaleFlag, available since Gurobi 7.5.
MOSEK
- New libraries 9.1.11.
PATH
- New library 5.0.02.
- Fix to two preprocessor issues: wrong solutions were being returned.
Tools
GAMS Studio
- New version 0.14.3.
- Stability improvements.
- New icon design.
- Added filter facility for value columns in GDX Viewer.
30.3.0 Minor release (March 06, 2020)
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 Andres J. Calderon, Antti Lehtila, Grégoire Pichenot, and Karlo Šepetanc.
GAMS System
GAMS
- Allow to create a secure work file on any platform for any target license platform.
- Fixed a bug which could have caused wrong domain violation errors with $offEmbeddedCode.
- Symbols set in embedded Python code via the GAMS Python object oriented API (i.e.
gams.db[sym]
) were imported withMergeType
"replace" andDomainCheckType
"filtered". This has been adjusted to bothMergeType
andDomainCheckType
set to "default". - Fixed a problem which was introduced with GAMS 30.1: The default for $(on|off)Filtered should always be
$onFiltered
. This was not the case when restarting from an old work file.
Solvers
Antigone, Bonmin, Cbc, Couenne, Ipopt, SCIP
- The number of threads as specified by option threads was disregarded. This has been fixed.
CONOPT
- New library 4.18 with bug fixes.
- The degeneracy-breaking logic has been improved for numerically difficult models and the interaction between defined variables and initialized variables has been improved.
JAMS/LogMIP
- The maximum length of the directory name plus file name that GAMS can execute is 255. JAMS and LogMIP stopped working earlier. This has been fixed.
LocalSolver
- Added missing
lskeygen
tool for Linux system.
MOSEK
- New libraries 9.1.13.
Tools
GAMS Studio
- New version 0.14.4.
- Stability improvements.
- Introduced Dark Mode support for macOS.