51 Distribution
Table of Contents
51.0.0 Beta release (August 30, 2025)
- Attention
- This and forthcoming GAMS versions require a license in the new 8 lines format. License files with less than 8 lines are not accepted by the GAMS system anymore. A GAMS distributor can provide a new license free of charge to users with a valid older license file.
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 Bruce McCarl and Uwe Schneider.
Platforms
- We plan to drop support for Windows 10 with the next major release.
- We plan to drop support for macOS 13 with the next major release.
GAMS System
GAMS
- As announced, the use of
=C=
equations triggers an error now. For now, this can be turned into a warning, but with an upcoming major release, this will not be possible anymore. In case of concerns, contact support@gams.com. - Extended the dollar control options $show, $showMacros, and $showVariables to support an optional suffix
.sorted
. If that is used, the list of compile-time variables and/or macros is printed in alphabetical order. - Improved the dollar control options $show, $showFiles, $showMacros, and $showVariables to add a message to the log which can be clicked in GAMS Studio to jump to the right place in the
.lst
file. - Smarter sparse execution detection for improved performance: GAMS can now automatically apply sparse execution to a broader set of simple parameter-constant comparisons, such as >, >=, <, or <= with positive or negative constants.
- Improved error message in case of a redefinition error.
- Using a Singleton Set as a domain for another symbol no longer raises an error.
GAMS Connect
- As announced, the ExcelWriter option
tableOfContents::emptySymbols
has been removed.
GMSPython
- Python has been upgraded to version 3.12.11.
Documentation
- Updated the GAMS Studio Tutorial from Bruce A. McCarl.
- Added instructions on how to install GAMS using Homebrew.
Installer
- Windows installer:
- Added support for self-hosted on-premises license servers.
- Changed the installer to recognize 8-line licenses from the clipboard only.
- No longer register
.gpr
file associations.
Solvers
BARON
- BARON is now also available for Linux on arm64.
CONOPT
- New libraries 4.38.0.
GUROBI
- The GAMS/GUROBI link has been rewritten and may behave differently in some cases. Please contact support@gams.com if there is any issue. As an immediate workaround, the old GAMS/GUROBI link is available as the hidden solver
GUROBIOLD
. It will be removed in a future release. - Removed support of deprecated dot option
.genConstrType
.
HiGHS
- New libraries 1.11.0.
- New MIP primal heuristic Feasibility Jump. New option mip_heuristic_run_feasibility_jump.
- New MIP primal heuristic shifting (off by default). New option mip_heuristic_run_shifting.
- New MIP primal heuristic ZI rounding (off by default). New option mip_heuristic_run_zi_round.
- New options mip_heuristic_run_rens, mip_heuristic_run_rins, and mip_heuristic_run_root_reduced_cost to control use of RENS, RINS, and root reduced costs primal heuristics.
- Improved CMIR cut generation.
- New options optimality_tolerance and kkt_tolerance to assess solutions from interior point and PDLP solvers.
- New option write_basis_file.
- Removed options
write_model_to_file
andwrite_solution_to_file
and changed default of options write_model_file and solution_file to be the empty string. Model instance and solution is now written ifwrite_model_file
andsolution_file
, respectively, is set to non-empty string. - Renamed option
pdlp_d_gap_tol
to pdlp_optimality_tolerance. - Removed option
pdlp_native_termination
. - Default of option simplex_scale_strategy changed from 1 ("choose") to 2 ("equilibration") and choices 4 ("max value 0") and 5 ("max value 1") were merged into choice 4 ("max value").
KNITRO
- New libraries 15.0.1.
- New Augmented Lagrangian (AL) algorithm for nonlinear optimization models. This new algorithm uses the nonlinearly constrained (i.e. NCL) approach and may still make use of second derivatives. It may be preferable for difficult problems with degenerate constraints where the Linear Independence Constraint Qualification (LICQ) is not satisfied. This algorithm can be selected by setting the user option nlp_algorithm = 6 (al).
- New Primal-Dual Hybrid Gradient algorithm for linear programming (LP) problems. This new algorithm uses only first order information to converge and avoids matrix factorizations. It may be preferable for extremely large-scale models when the default interior-point method struggles. This algorithm can be selected by setting the new user option lp_algorithm = 4 (pdlp).
- Significant performance improvements when using the limited-memory BFGS Hessian approximation (hessopt = 6), particularly on large-scale problems.
- Updated Intel MKL and OpenMP to version 2024.2 on Windows and Linux x86_64 systems.
- Performance improvements from presolve (bound propagation, reduced cost fixing, coefficient strengthening, parallel row detection), particularly for MINLPs with linear structures.
- New option lp_algorithm: Indicates which algorithm to use to solve LPs.
- New option nlp_algorithm: Indicates which algorithm to use to solve nonlinear problems (NLP and QCP).
- New option mip_cutoff_abs: This value specifies the absolute improvement cutoff value for MIP.
- New option mip_cutoff_rel: This value specifies the relative improvement cutoff value for MIP.
- New option mip_node_lpalg: Specifies which algorithm to use for standard node LP subproblem solves in MIP (same values as lp_algorithm).
- New option mip_node_nlpalg: Specifies which algorithm to use for standard node NLP subproblem solves in MIP (same values as nlp_algorithm).
- New option mip_root_lpalg: Specifies which algorithm to use for root node LP subproblem solves in MIP (same values as lp_algorithm).
- New option mip_root_nlpalg: Specifies which algorithm to use for root node NLP solves in MIP (same values as nlp_algorithm).
- New option al_initpenalty: Specifies the initial penalty parameter value used in the Augmented Lagrangian (AL) algorithm.
- New option al_maxpenalty: Specifies the maximum allowable penalty parameter value used in the Augmented Lagrangian (AL) algorithm.
- New option value 9 of linsolver on macOS: Use parallel, non-deterministic Apple Sparse Solver.
- New lower bound and default -1 of feastol, feastol_abs, opttol, and opttol_abs.
- Fixed option bounds of delta, bar_conic_enable, bar_maxmu, bar_murule, mip_branchrule, and mip_terminate.
- Changed options with type boolean to integer.
- Deprecated option
algorithm
. - Removed options
mip_lpalg
,mip_nodealg
, andmip_rootalg
.
ReSHOP
- New libraries 0.4.4.
XPRESS
- The GAMS/XPRESS link has been rewritten and may behave differently in some cases. Please contact support@gams.com if there is any issue. As an immediate workaround, the old GAMS/XPRESS link is available as the hidden solver
XPRESSOLD
. It will be removed in a future release. - Removed option
knitroOptFile
: Use supported KNITRO options in the XPRESS options file instead. These new options are prefixed withknitro_
, see also Knitro Options. - Changed behaviour of solnPoolMerge: Before, the model name got prefixed in addition to solnpoolPrefix. The new behaviour now matches the one of other solvers that support this feature.
Tools
FINDTHISGAMS
- Dropped
ide
argument and no longer register.gpr
file associations.
GAMS IDE
- As announced the classic GAMS IDE was dropped from the system.
GAMS Studio
- New version 1.22.0:
- Added the
gamsprobe
output to the Copy System Information output of the GAMS Licensing dialog. - Added dynamic main file functionality. This will automatically set the current
gms
file as the project's main file when running the model. - Added additional system log messages in case a GAMS executable, like
gams
orgamsgetkey
, is missing. - Added import functionality for project files from the classic GAMS IDE (
*.gpr
). - Added warnings for missing files when loading a Studio project.
- Added On-Prem license server support.
- Improved error messages for license installations via ALP.
- Ignore old style GAMS licenses.
- Improved Reference File Viewer with key navigation through symbols and references.
- Fixed crash when reading a Studio project and the main
gms
file is missing. - Fixed tab menu to show only files of the focused project (when focused).
- Fixed a crash when a project with an extension number, i.e., two projects having the same display name, is edited in the project options.
- Fixed empty FileUsed Tab in Reference File Viewer when the file has been updated and reloaded.
- Fixed a crash when opening a file containing an unknown schema data name in Connect Editor.
- Added the
GDXDIFF, GDXDUMP, GDXMERGE
- Fixed bug with handling of long absolute paths (>260 characters) on Windows and also make long relative paths work by automatically converting them into absolute paths internally.
MPS2GMS
- Option
CEQUATIONS
is now deprecated and will be removed in a future version.
APIs
GAMS Transfer Python
- Do not raise an error anymore when a Singleton Set is used as a domain for another symbol.
GDX
- New libraries 7.11.17.
- Include path to file that cannot be opened in error message of
gdxOpenRead*
. - Changed function signatures of
gdxGetDLLVersion
(to static method) andgdxErrorStr
(to object method).
- Include path to file that cannot be opened in error message of
GEV
- Add function
gevGetLSCBInfo
to extract and return the log/status write callback and its associated callback data pointer from thelshandle
returned bygevSwitchLogStat
.
GMO
- Added function
gmoUpdateJac
: This function updates the value of linear Jacobian entries created bygmoAddRow
orgmoAddCol
.
Python
- As Python Python "announced", support for numpy 1, and pandas before 2.2.2 has been dropped.
- Added preliminary support for Python 3.14. As Python 3.14 has not yet been officially released, full compatibility cannot be guaranteed.
Solver links
- Library initialization and finalization functions (
xyzInitialize
andxyzFinalize
) of solver link libraries are deprecated, because they were not called as expected if the same solver link library was used by several CFG objects simultaneously. Instead, it is advised to use proper library initialization/finalization mechanism, e.g.,__attribute(constructor/destructor)__
andDllMain
. CFG currently prints a warning if these methods are found, but will still call them. In a future GAMS version, this warning will be changed to an error.
Model Libraries
GAMS Model Library
- Removed
chartdat
(313).
GAMS Test Library
- Added assign3.gms : Test assignment with relop operator
- Removed tests
gurobi02
,gurobi03
,gurobi05
andgurobi06
.