Table of Contents
New Features & Highlights
GAMS Studio
Improved Project Explorer
The Studio Project Explorer now has a filter and sort function to help you quickly find the files or projects you are looking for. This is great when you work with a large number of projects or files.
Automatic saving of project options
In previous versions of Studio, you had to explicitly save the project options by selecting "File > Save" or pressing Ctrl-S to make them stick; now these are automatically saved (as long as the paths for the working directory and base directory exist).
GAMS System
LimCol and LimRow
LimCol controls the number of columns that are listed for each variable in the column listing, and limRow controls the number of rows that are listed for each equation in the equation listing in the listing file. We have changed the command line parameters, options, and the model attributes for both limCol and limRow to now accept a value of -1. This new value indicates that there should be no limit on the number of columns or rows printed to the respective listings.
Performance of writing Equation Listing to the output file
The performance has been improved when writing the Equation Listing to the output file. This improvement is particularly noticeable for equations that include a large number of identifiers. The screenshots show the speedup when comparing GAMS 51 and GAMS 52 performance in this regard using the Studio Profiler.
GAMS Connect
We strongly recommend that all users transition to GAMS Connect. However, we understand that some users had to continue using GDXXRW because the EXCELREADER agent could not process Excel binary workbooks (.xlsb). This limitation has been addressed: reading .xlsb files is now supported on Windows, provided an Excel installation is present.
Solvers
GPU based LP solving
Things have been moving fast in the world of solver technology lately, with GPU acceleration being a really hot topic. Now, keep in mind that for any solver, GPU acceleration isn't quite ready for primetime production use yet, but it definitely looks like it's going to deliver some big performance boosts down the road using high end GPUs. Solvers to watch in this space are Copt, Gurobi, HiGHS, and Xpress.
Also, we've teamed up with NVIDIA to integrate their still rapidly developing open-source cuOpt solver within GAMS. Just a heads-up: you'll need to install the required NVIDIA libraries manually because they are quite large to download. You can get all the extra details for the NVIDIA part on our blog.
If you would like to read more about solvers and how we can help you make the most out of them, have a look at this blog post.
Gurobi is coming back to GAMS
Gurobi has been absent from the list of solvers you can purchase with GAMS for a few years. This is changing! Beginning with GAMS 52.1.0 you can once again add GAMS/Gurobi to your GAMS license and enjoy easy access to one of the best performing solvers around. Furthermore, you can now test and evaluate GAMS/Gurobi with demo-sized models even without purchasing a license, as the solver is once again included in the GAMS demo license.
Just in time for this, the version of the Gurobi library shipping with GAMS has been updated to 13.0.0. This release is the first to bring Primal-Dual Hybrid Gradient (PDHG) for solving LPs, which can optionally run on GPUs. This requires a modified Gurobi library, which we are happy to provide. Contact us at support@gams.com if you would like to give this a spin.
Apart from this major update, Gurobi 13 also includes a preview of a new nonlinear barrier method to find local optima for nonconvex continuous models more quickly than the global solver.
52.1.0 Major release (November 28, 2025)
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 Scott McDonald.
Platforms
GAMS System
GAMS
- The End User License Agreement (eula.pdf in the GAMS system directory) has been updated to version 11/2025.
- Adjusted command line parameters, options, and the model attributes limCol and limRow to now accept a value of -1. This new value indicates that there should be no limit on the number of columns or rows printed to the respective listings.
- Improved performance when writing the Equation Listing to the output file, particularly for equations that contain a large number of identifiers.
- Extended the Include File Summary to list the include level of a file explicitly.
- As announced, this release completely drops the support of
=C=equations. They are not recognized as valid syntax anymore. - Better handling for UTF-16 file and path names on Windows.
- The solution report for MCP models has been corrected for cases involving flipped equations (e.g.,
model m / -myEqu.x /). Previously, the solution listing for such equations could show inconsistent.LOWER,.LEVEL, and.UPPERvalues, mixing attributes from both the original and the negated form. The report now consistently reflects the attributes of the flipped equation as it was passed to the solver. - The error message for assigning a command-line parameter to a value outside of their valid range has been enhanced. These values are ignored now and not projected into the valid range.
- Fixed a bug in the GAMS execution system for set assignments that use the target set itself as a controlling domain subset on the RHS (e.g.,
SetA(i) = sum(SetA(j)$cond, ...)). - Fixed problem with $if UelExist 'label' if
labelstarts with blanks.
Embedded ReSHOP Code Facility
- Fixed a rare crash when ReSHOP was used in different context (e.g., in an embeddedCode python) and an error message were to be issued before the full initialization.
GAMS Connect
- Added support for reading Excel binary workbooks (
.xlsb) to the ExcelReader agent. This feature is available on Windows only and requires an Excel installation.
GMSPython
- Added the package
xlwingsto GMSPython on Windows.
Solvers
ANTIGONE, CBC, HiGHS, Ipopt, SCIP, SHOT
- New Intel MKL libraries 2025.3 for Linux/x86_64.
- New ARM Performance libraries 25.07.1 for Linux/arm64.
BARON
- New libraries 25.11.17.
- Marginal values can be computed for more problem classes.
- Improved algorithms for integer programs and quadratic programs.
COPT
- New libraries 8.0.1.
- New global nonconvex (MI)QCP solver. Set option NonConvex to new value 2 to force use of global solver.
- New options LogLevel, PreRootHeurLevel, MipRepair, and MipNLPIterLimit.
CPLEX
- Fixed incorrect check for number of quadratic equations, which could have lead to a crash (very unlikely cases).
GUROBI
- New libraries 13.0.0.
- Performance improvements across a variety of model families, notably on MIP and MINLP.
- A new nonlinear barrier method is included as a preview feature. This solver makes it possible to find local optima for nonconvex continuous models more quickly than the global solver.
- Primal-Dual Hybrid Gradient (PDHG) has been added to our suite of algorithms for solving linear programs (LPs). By default, it will run on the CPU, but it has optional GPU acceleration. For the latter, a different Gurobi library is required. GAMS can provide this library on request (support@gams.com).
- Added support of
tanhandsignpowerin nonlinear constraints. - In addition to MIP starts, the tuner now considers branching priorities.
- New option nlbariterlimit: NL barrier iteration limit.
- New option pdhgiterlimit: PDHG iteration limit.
- New option nlbarcfeastol: NL barrier complementarity tolerance.
- New option nlbardfeastol: NL barrier dual feasibility tolerance.
- New option nlbarpfeastol: NL barrier primal feasibility tolerance.
- New option pdhgabstol: PDHG absolute feasibility tolerance.
- New option pdhgconvtol: PDHG convergence tolerance.
- New option pdhgreltol: PDHG relative feasibility tolerance.
- New option fixvarsinindicators: Controls conversion of indicator constraints in the fixed model.
- New option improvestartwork: Trigger solution improvement.
- New option starttimelimit: Time limit for MIP start sub-MIP (in seconds).
- New option startworklimit: Work limit for MIP start sub-MIP (in work units).
- New option masterknapsackcuts: Master Knapsack Polytope cut generation.
- New option norelheursolutions: Limits the number of solutions found by the NoRel heuristic.
- New option optimalitytarget: Controls the strategy to solve continuous nonlinear nonconvex models.
- Changed lower bound and default of option lpwarmstart to -1 (auto).
- Changed option nlpheur from boolean to integer with values -1, 0, 1, 2, 3.
- Changed default of option tunetimelimit to 86400.
- Added value -1 to option Threads.
- Fixed possible failure when adding nonlinear constraints.
- GAMS/Gurobi is available for demo-sized models without any additional (license) setup.
- Fixed overwrite of mipgap and mipgapabs by value of optcr or optca, respectively.
- Fixed model size of nonlinear models (less auxiliary variables and constraints).
- Fixed race condition that could lead to a crash in asynchronous solves.
HiGHS
- New libraries 1.12.0.
- Added new multi-threaded interior point solver HiPO. New values
ipx, andhipofor option solver: Settingsolver=ipmwill now choose between the interior-point solvers IPX and HiPO. New options hipo_block_size, hipo_parallel_type, and hipo_system. - New options mip_lp_solver and mip_ipm_solver to determine the solver for LPs in the MIP solver.
- IIS now detects when the bounds on a constraints activity (implied by variable bounds) are incompatible with the constraint sides. Options iis_strategy now takes 3 values: 0 is the new light strategy that only checks for incompatibility of constraint activities and sides and is the new default, 1 priorities rows (previously 0 and previously the default), 2 priorities columns (previously 1).
- New option write_iis_model_file to write the LP solved by IIS to a file.
- Trivial MIP primal heuristic now runs before Feasibility Jump. Feasibility Jump may use a known feasible solution as starting point.
- Basis files are now written in a new format (v2) that contains made-up column and row names.
- Improved logging for the interior-point and PDLP solvers.
- Added new multi-threaded interior point solver HiPO. New values
- The number of iterations spend for interior-point, crossover, or PDLP algorithms are now also returned in the iterUsd model attribute.
LINDO/LINDOGLOBAL
- New libraries 15.0.238.
MOSEK
- New libraries 11.0.30.
XPRESS
- New libraries 46.01.01:
- Optimizer:
- The GPU port of the Primal-Dual Hybrid Gradient (PDHG) algorithm is now available as a beta.
- The default solver for linear optimization problems has been changed to the concurrent solver. The default behavior is to always run the barrier and dual simplex algorithms, with the primal simplex algorithm run only if the problem looks suitable. If only a single thread is available or a starting basis is present, it will instead default to dual simplex.
- Performance improvements:
- The default number of background threads at the root node was reduced in order to reduce the memory consumption on machines with large core counts. To force a specific number of background threads, use the backgroundMaxThreads control.
- Improved management of duplicated and dominated cutting planes.
- Improved strategies to measure the progress of cutting planes at the root node.
- Background tasks running in parallel at the root node are now also used to improve the dual bound of the overall solution process.
- Improved performance of several default heuristics on instances with indicator constraints.
- Introduced a new infeasibility reduction strategy in preroot parallel heuristics.
- Introduced an adaptive learning of infeasibility reduction strategies in preroot parallel heuristics.
- Nonlinear:
- Knitro has been upgraded to the latest version, 15.0.1.
- Performance improvements:
- Continuous nonlinear problems solved to local optimality now go through the full linear presolve.
- \(x^k\) for binary \(x\) and \(k > 0\) is now simplified to \(x\).
- Global:
- Added a special branching rule in case a denominator becomes zero. In this case, the denominator will be branched more than the feasibility tolerance away from zero to ensure validity of calculations. In case solutions with a denominator within the default feasibility tolerance are sought, the feasibility tolerance needs to be adjusted accordingly.
- Performance improvements:
- Added SDP-cuts. These can be influenced by the new sdpCutStrategy control.
- Added Optimization-Based Bound Tightening (OBBT), a bound reduction technique based on the initial linear relaxation of a mixed-integer nonlinear optimization problem; it can be used with the new control globalPresolveOBBT (default value -1: automatic), with values from 0 (off) to 3 (aggressive). Currently, due to its computational cost, the user must explicitly set values 1 to 3 to enable it.
- Reduced memory consumption by restricting the total number of cuts to be added to branching candidates in extreme cases.
- Improved RLT cuts for squared columns.
- New option deterministicLog: Suppress non-deterministic log information in the standard MIP log.
- New option gpuPlatform: Controls what kind of GPU support is enabled overall in Xpress.
- New option sdpCutStrategy: Level of SDP cutting planes separation: How aggressively SDP cuts should be separated.
- New option globalPresolveOBBT: Controls the amount of work performed by Optimization-Based Bound Tightening (OBBT).
- New option barHGOps_restartL2 (bit 4 of barHGOps): Use L2 norm to measure solution quality.
- New option barHGRelTol: Relative feasibility tolerance for the hybrid gradient algorithm.
- New option barHGGPU: Whether to use a GPU for the hybrid gradient algorithm.
- New option barHGPrecision: Whether to use single or double precision floating-point arithmetic in the hybrid gardient algorithm.
- New option barHGGPUBlockSize: Size of CUDA blocks to use for the GPU calculations.
- Changed default and lower bound of knitro_feastol to -1 (auto).
- Changed default and lower bound of knitro_opttol to -1 (auto).
- Changed upper bound of knitro_linsolver to 9.
- Changed default of knitro_lmsize to 8.
- Optimizer:
- Added support of multi-objective optimzation (experimental). It can be controlled using the new options multobj, objnabstol and objnreltol.
- Added support of Xpress options multiObjOps, multiObjOps_enabled, multiObjOps_presolve, multiObjOps_rcFixing, multiObjLog.
- Fixed overwrite of mipRelStop and mipAbsStop by value of optcr or optca, respectively.
- Fixed race condition that could lead to a crash in asynchronous solves.
- Fixed mapping of option xslp_solver to
localSolver(previously incorrectly tonlpSolver).
Tools
GAMS Studio
- New version 1.23.1:
- Added storing of the fold state for known source files.
- Added keyboard navigation and selection to the tables of the model library explorer.
- Added filter and search capability to the Project Explorer.
- Added switching of the default working directory when switching the project.
- Added instant save to the project options as long as the paths for working directory and base directory exist.
- Added release overview page to the GAMS Studio welcome page.
- Improved Connect editor workflow by linking agent and option name to corresponding entry in Connect document with F1 hotkey.
- Improved view and edit experience with tooltips and different color schemes in Connect Editor.
- Improved GAMS run parameters use the relative path to the GMS file (from Working Directory perspective) if possible, to provide better directory Unicode name support on Windows.
- Removed Windows 10 message box to disable the Help View to prevent crashes (Windows 10 reached its EOL).
- Fixed broken links to option document when pressing F1 in solver option editor.
- Fixed dragging schematic list and dictionary from definitions and dropping to the instructions in Connect Editor.
MPS2GMS
- Added support for reading decomposition information from
DECfiles and assigning it tostageattributes of variables and equations. New parametersDECandSTAGESHIFT. - Added scalar parameter
objsenseto GDX file to indicate objective sense. - New parameter
CONVERTSENSEto request a specific objective sense in the output. - A GAMSPy program is now written in addition to the GAMS program. New parameter
PY. - Writing the GAMS program can now be disabled by setting parameter
GMS=.
APIs
C++ API
- New version 1.2.1.
- Improved setting of SSL options for HTTPS requests when sending a job to GAMS Engine.
GDX
- New libraries 7.11.18.
- Fixed duplicated text piece in description of gdxAddSetText.
- Increased performance of case-insensitive text comparison on Linux and macOS.
GEV
- Added constant
gevMaxEvalThreads.
Python
- As announced, support for Python 3.9 has been dropped.
.NET
- New method
GAMSModelInstance.Cleanupthat allows to explicitly close a license session. - Improved performance when calling the
GAMSWorkspaceconstructor.