Table of Contents
- 44.1.0 Major release (July 20, 2023)
- 44.1.1 Maintenance release (August 03, 2023)
- 44.2.0 Minor release (August 17, 2023)
- 44.3.0 Minor release (September 01, 2023)
- 44.4.0 Minor release (September 19, 2023)
44.1.0 Major release (July 20, 2023)
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, Wolfgang Britz, Rob Davies, Michael Ferris, Bruce McCarl, and Thomas Rutherford.
GAMS System
GAMS
- Added new function gdxLoad to have a flexible way of loading from GDX files at execution time. The load behavior can be modified using the new options filtered and replace. This new function can be used for both, explicit loading of single symbols but also a bulk load of all symbols in the GDX file that match the declaration in the model.
- The requirements for logic equations have been relaxed to make them more useful in future releases. For example, continuous variables and non-boolean functions/operators can now be present in logic equations. This relaxed use of algebra in logic equations prevents some simple preprocessing steps, e.g.
not not x
is onlyx
ifx
is either 0 or 1. Since this is not the case anymore, such preprocessing has been disabled. This might impact some (linear) reformulation of pure boolean logic equations done by LOGMip. - Added new command line parameter solveOpt to initialize the already existing option
solveOpt
. - Added new command line parameter MIIMode.
- As announced, the command line parameter logOption was changed.
LogOption=1
was marked as deprecated and became a synonym for the defaultlogOption=3
, which sends the log output to the standard output. - PreviousWork now writes a workfile compatible with GAMS 43 and newer.
- Fixed a potential bug with $save and put_utility save.
GAMS Connect
- As announced, the
debug
option of theOptions
agent has been dropped. - The CSVReader now supports using the symbolic constant
lastCol
without aheader
ornames
. If noheader
ornames
is provided,lastCol
will be determined by the first line of data. - The CSVReader now supports reading multi-row headers for parameters.
- Added LabelManipulator agent to Connect.
Installer
- Docker images with a pre-installed GAMS distribution for linux/amd64 are now available at Docker Hub.
Licensing
- A GAMS demo license is now included in the GAMS distribution. It is valid for approximately 5 months.
Documentation
- The HTML documentation now uses a new style based on Doxygen Awesome.
Solvers
BARON
- New libraries 23.6.22.
- Improved continuous and integer presolve and facilities for quadratic programs.
- New reformulator.
- Added options AllowCbc, AllowCplex, AllowHsl, AllowXpress to adjust which solvers can be picked by automatic LP/MIP/QP solver selection.
- Added support for macOS on ARM64 CPUs. Ipopt and Xpress cannot be used as NLP and LP/MIP/QP solver, respectively, by BARON on this platform so far, that is, options AllowIpopt and AllowXpress are 0 by default.
Gurobi
- New libraries 10.0.2.
HiGHS
- New libraries 1.5.3.
- New option presolve_reduction_limit.
- New option ipx_dualize_strategy.
- Renamed option
simplex_dualise_strategy
to simplex_dualize_strategy.
IPOPT
- New libraries MUMPS 5.6.1.
LINDO/LINDOGLOBAL
- New libraries 14.0.279.
Mosek
- New libraries 10.0.46.
Octeract
- We plan to drop Octeract with one of the following major releases.
SCIP Optimization Suite
- New libraries SCIP 8.0 (bf58b8fcd5).
- Removed non-default values for option propagating/symmetry/recomputerestart, that is, recomputing symmetry information after a restart can no longer be enabled (as this can produce wrong results).
- New libraries PaPILO 2.1 (2ed99c46).
SELKIE
- As announced, the research solver SELKIE has been dropped from the GAMS distribution. It is expected that it will be made available directly from the authors.
Tools
GAMS Studio
- New version 1.15.1.
- New feature GAMS Debugger: This allows to pause the execution at the beginning of execution statements and review the current data in a temporary GDX file.
- Improvements for the GDX Viewer:
- Added search facility to the data view.
- Added settings to specify default numerical formatting options and show/hide attributes.
- Disable preferences menu for sets and aliases.
- Improvements for the GAMS Configuration Editor:
- Move tab selection from bottom to top.
- Fixed status in definition section when editing a
Key
.
- Improvements for the GAMS Configuration Editor / Parameter File Edior / Extended Parameter Editor:
- Add
group
in parameter/option definition. - List all available solvers for
Solver
parameter/option definition.
- Add
- Stability improvements, bug fixes, and minor enhancements, e.g.:
- Fixed OpenSSL issue for Manjaro, Ubuntu 22.04 LTS and similar Linux distributions.
- Fixed a bug where
precision=Full
was not restored properly in the GDX Viewer. - Fixed path issue for project files: existing projects with a path starting with "." can be fixed manually using "Move Project File..."
GDX2ACCESS
- Fixed gdx2access for systems where both 32-bit Office and 64-bit Access runtime are installed.
MDB2GMS
- Fixed mdb2gms for systems where both 32-bit Office and 64-bit Access runtime are installed.
- Made table browser in MDB2GMS not crash when field sizes for memo or long binary fields cannot be queried (now showing
???
instead).
APIs
C
- File
apifiles/C/api/gcmt.c
does no longer need to compiled to use C or Fortran API files. Filesgcmt.c
andgcmt.h
are now empty and will be removed in a future version. - File
apifiles/C/api/gclgms.c
does no longer need to compiled to have the arrays and functions fromgclgms.h
defined (they are inlined now). Filegclgms.c
is now empty and will be removed in a future version. - File
apifiles/C/api/gcdllinit.h
is now empty and will be removed in a future version. - The definitions
GAMSVERSION
,GAMSMAJOR
,GAMSMINOR
, andGAMSGOLD
ingclgms.h
are deprecated and will be removed in a future version.
Delphi
- The Delphi API files in
apifiles/Delphi
will be removed with a future major release.
Fortran
- The Fortran API files in
apifiles/Fortran
will be removed with a future major release.
GAMS Transfer Python
- Breaking: Dropped
ConstContainer
and allConst*
symbols – users should only useContainer
and accompanying symbols. - Method
setRecords
(and therecords
argument) now supports setting records withpandas.Series
andDataFrames
withIndex
orMultiIndex
axes (must setuels_on_axes=True
). - Method
toDense
now requires domain sets to have self-consistent ordering (i.e., record data order and category order must be equal). - Method
reorderUELs
now reorders UELs to data order (and append unused categories) ifuels
isNone
(the default). - Fixed bug when attempting to load libraries from different GAMS versions with the
system_directory
argument.
GAMS Transfer R
- New libraries 2.2.0
- Fixed bug with library unload upon read or write.
- Performance improvement in setting records for symbols.
- Note:
ConstContainer
and the corresponding symbols will be dropped with the next major GAMS version. Users are advised to useContainer
and accompanying symbols.
GDX
- The dynamic library file on Linux (.so), macOS (.dylib), and Windows (.DLL) has been changed from
(lib)gdxdclib64
to(lib)gdxcclib64
after porting the GDX codebase from Delphi to C++. While the GDX API remains compatible, the underlying shared library is very different and cannot be renamed back. Therefore, a copy of the old(lib)gdxdclib64.{so,dylib,DLL}
is still distributed with GAMS for now. Eventually the Delphi library will be dropped, hence it is sensible to compile existing user applications against the new C++-based GDX library and corresponding API files. - Modified function
gdxDataReadRawFastEx
to allow the callback function to stop the reading after each record. The callback must now return an integer indicating if reading should be continued (>=1) or stopped (=0).
GMD
- Fixed a problem that resulted in a crash when retrieving the domain list with an alias of symbol (
gmdGetDomain
).
GMO
- As announced, the functions
gmoEvalFuncNLCluster
andgmoEvalFuncNLCluster_MT
have been removed.
Java
- Added method
runEngine
toGAMSJob
class to run jobs on GAMS Engine, only for classes that work with Java SE 11 or later. - Changed minimum requirement of Java SE to compile and run a Java program using the latest GAMS Java API:
- All classes in
[Path/To/GAMS]/apifiles/Java/api/GAMSJavaAPI.jar
require Java SE 11 or later to run. GAMSJavaAPI.jar
has an additional dependency on JSON.simple, located in[Path/To/GAMS]/apifiles/Java/api/json-simple-1.1.1.jar
.GAMSJavaAPI.jar
andjson-simple-1.1.1.jar
are required to be in the same directory to run.
- All classes in
- Changed GAMS Java API name for a Java program that still requires Java SE 8 to compile and run:
- All classes that target Java SE 8 are in
[Path/To/GAMS]/apifiles/Java/api/GAMSJavaAPI-8.jar
. - New or updated functionalities may not be made available in this version, only corrective maintenance support will be provided in the future.
GAMSJavaAPI-8.jar
has no additional dependency.
- All classes that target Java SE 8 are in
Python
- We plan to drop support for Python 3.7 in a future GAMS release.
Model Libraries
GAMS Test Library
- Dropped
SELKIE
test modelsselkie01
throughselkie19
. - Added load18.gms : Test gdxLoad.
- Added calabelm.gms : Test Connect agent LabelManipulator.
- Added solveopt01.gms : Test solveopt option and command line parameter.
Solver/Platform availability matrix
x86 64bit MS Windows | x86 64bit Linux | x86 64bit macOS | arm 64bit macOS | |
---|---|---|---|---|
ALPHAECP 2.11 | ✔ | ✔ | ✔ | ✔ |
ANTIGONE 1.1 | ✔ | ✔ | ✔ | ✔ |
BARON | ✔ | ✔ | ✔ | ✔ |
CBC 2.10 | ✔ | ✔ | ✔ | ✔ |
CONOPT 3 | ✔ | ✔ | ✔ | ✔ |
CONOPT 4 | ✔ | ✔ | ✔ | ✔ |
COPT 6.5 | ✔ | ✔ | ✔ | ✔ |
CPLEX 22.1 | ✔ | ✔ | ✔ | ✔ |
DECIS | ✔ | ✔ | ✔ | ✔ |
DICOPT 2 | ✔ | ✔ | ✔ | ✔ |
GUROBI 10.0 | ✔ | ✔ | ✔ | ✔ |
GUSS | ✔ | ✔ | ✔ | ✔ |
IPOPT 3.14 | ✔ | ✔ | ✔ | ✔ |
HiGHS 1.5 | ✔ | ✔ | ✔ | ✔ |
KESTREL | ✔ | ✔ | ✔ | ✔ |
KNITRO 13.2 | ✔ | ✔ | ✔ | ✔ |
LINDO 14.0 | ✔ | ✔ | ✔ | ✔ |
LINDOGLOBAL 14.0 | ✔ | ✔ | ✔ | ✔ |
MILES | ✔ | ✔ | ✔ | ✔ |
MINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
MOSEK 10 | ✔ | ✔ | ✔ | ✔ |
NLPEC | ✔ | ✔ | ✔ | ✔ |
OCTERACT 4 | ✔ | ✔ | ||
ODHCPLEX 7 | ✔ | ✔ | ||
PATH | ✔ | ✔ | ✔ | ✔ |
QUADMINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
SBB | ✔ | ✔ | ✔ | ✔ |
SCIP 8.0 | ✔ | ✔ | ✔ | ✔ |
SHOT 1.1 | ✔ | ✔ | ✔ | ✔ |
SNOPT 7.7 | ✔ | ✔ | ✔ | ✔ |
SOPLEX 6.0 | ✔ | ✔ | ✔ | ✔ |
XPRESS 41.01 | ✔ | ✔ | ✔ |
44.1.1 Maintenance release (August 03, 2023)
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 Hugo Joudrier-Faure.
Solvers
COPT
- New libraries 6.5.7.
HiGHS
- New libraries 1.5.4.
NLPEC
- Fixed that the setting of option NCPBounds was not being honored for doubly-bounded variables.
- Fixed implementation of reformulation type
FB_neg
. - Fixed implementation of reformulation type
min
for the case of upper-bounded variables and no slack variables.
APIs
GAMS Transfer Matlab
- Fixed bug when using more than 255 UELs.
GAMS Transfer R
- New libraries 2.4.0.
- Fixed read for
Variable
andEquation
classes where thelower
andupper
attributes were interchanged.
- Fixed read for
44.2.0 Minor release (August 17, 2023)
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, Mogens B. Laursen, Orenzo Porporino, and Hannes Wornig.
GAMS System
GAMS
- Fixed errors with $declareAndLoad and $gdxLoadAll which could have caused problems when dealing with aliases.
- Fixed a memory leak with the Multi-Threading Solve Facility (
solveLink=6/7
).
Embedded Python Code Facility
- Fixed a problem when command line parameter
pyMultInst
has been set to 1. Please note that the interrupt signal (e.g., from Ctrl-C) in embedded Python code does not work withpyMultInst=1
.
GAMS Connect
- Allow the LabelManipulator agent to convert multiple labels to the same target label.
Installer
- Fixed a bug of the Windows installer overwriting an existing license file from a previous installation with the demo license.
Solvers
SoPlex
- Improved performance for passing the LP to SoPlex.
Tools
GAMS Studio
- New version 1.15.3 with some bug fixes and minor enhancements:
- Fixed missing OpenSSL library on Linux.
- Fixed missing projects when a project path is missing.
- Fixed a bug in the GDX Viewer where restoring a symbol state of a partially loaded symbol resulted in a crash.
- Fixed crash on closing a GDX Viewer instance while symbol data is loading.
- Fixed GAMS process not terminating when closing Studio.
- Improved handling of interrupt and stop.
44.3.0 Minor release (September 01, 2023)
Acknowledgments
We would like to thank all of our users who have reported problems and made suggestions for improving this release.
Solvers
BARON
- Fixed that setting GAMS option threads to a negative value did not enable parallelization in MIP solver.
CBC
- Fixed that solver did not stop on interrupt signal.
CPLEX
- Fixed model status for CPLEX's termination
CPXMIP_OPTIMAL_POPULATED_TOL
and incorrect infeasibility warning forCPXMIP_OPTIMAL_POPULATED
andCPXMIP_OPTIMAL_POPULATED_TOL
.
HiGHS
- Fixed issue when running HiGHS more than once in the same process with multiple threads enabled.
NLPEC
- Fixed an incorrect reformulation (required equations were omitted from the reformulated model) that occured when aggregate was set to
partial none
. - Fixed case where an invalid option combination (aggregate set to
full
but different reformulation type set for single and double) was allowed: this is now shifted to a valid option combination.
SHOT
- Fixed use of multiple threads with CBC as MIP solver.
Tools
GAMS Studio
- New version 1.15.4 with some bug fixes and a minor enhancement:
- Added tab key support for filter widgets in GDX Viewer.
- Fixed the GDX Viewer not displaying symbol data with too many records by only showing about the first 107 million entries.
- Fixed path selection for GAMS license installation.
Model Libraries
GAMS Test Library
- Updated casqlr.gms : Test Connect agent SQLReader.
- Updated casqlw.gms : Test Connect agent SQLWriter.
- Added nlpec03.gms : NLPEC test suite - loop over option combos.
44.4.0 Minor release (September 19, 2023)
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 Alan Fox, Erwin Kalvelagen, and Nick Sahinidis.
GAMS System
GAMS
- Fixed potential problem with $declareAndLoad when loading symbols with name clash for internal symbols or functions.
Solvers
CONOPT 3
- New libraries 3.17O.
CONVERT
- Fixed equation type in
=B=
and=X=
equations in GAMS format.
Tools
GAMS Studio
- New version 1.15.5 with a bug fix and a minor enhancement:
- Fixed crash in Reference File Viewer when searching for a symbol in
FileUsed
tab. - Removed the obsolete studio command line option
--help-all
.
- Fixed crash in Reference File Viewer when searching for a symbol in
APIs
GDX
- Fixed a bug causing large GDX files to be read incorrectly due to storing the number of remaining bytes (in the file) in a variable of wrong (not wide enough) type.