Table of Contents
- 46.1.0 Major release (February 17, 2024)
- 46.2.0 Minor release (March 05, 2024)
- 46.3.0 Minor release (March 19, 2024)
- 46.4.0 Minor release (April 02, 2024)
- 46.4.1 Maintenance release (April 16, 2024)
- 46.5.0 Minor release (May 08, 2024)
46.1.0 Major release (February 17, 2024)
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, Simon Wesley Bowen, Ruud Egging-Bratseth, Wolfgang Britz, Katja Jensen, Bruce McCarl, Scott McDonald, Evangelos Panos, Hailie Petrick, Alfonso Rodriguez Osuna, and Tom Rutherford.
Platforms
- As announced, dropped support for macOS 11 (Big Sur).
GAMS System
GAMS
- Added new put_utility commands
stdOut
andstdErr
to send a message to standard output and error streams independent of the GAMS log file. - Added new command line parameter gdxSymbols to select symbols that get exported when command line parameter GDX is set.
- Print warning to the log if execute_load or execute_loaddc is called without specifying any symbols to be loaded.
- Changed default for option threads to 0. The new meaning of setting
threads=0
is that the solver will decide on the number of processors to use. In particular, the following changes in behavior can be observed forthreads=0
:- MIP solvers called by BARON no longer use multiple processors.
- CBC may use multiple processors in linear algebra subroutines, but not for parallelization in root node processing or the tree search.
- COPT, CPLEX, GUROBI, KNITRO, and XPRESS now decide automatically on the number of processors to use.
- IPOPT(H) and LINDO / LINDOGlobal use 1 processor.
- MOSEK now uses the number of processor cores instead of the number of virtual processors to determine the number of threads (i.e., hyperthreading is disregarded).
- SCIP now decides automatically on the number of processors to use in MILP presolving and LP solving. It uses 1 thread for some linear algebra routines.
- MIP solvers called by SHOT now decide automatically how many processors to use.
- Added new option value 22 for dumpOpt that writes processed input with all comments into a separate dump file for each block.
- Removed misleading message about matched rows for CNS models.
- Fixed a potentially wrong result of a sameAs statement, when it is used in a loop construct with a singleton set which gets changed in the loop execution.
- Fixed a wrong dump file, when $onVerbatim was used with $onPut or EmbeddedCode.
- Fixed a potential crash with dumpOpt and dumpOptGdx.
Embedded Python Code Facility
- As announced, the command line parameter
pyMultInst
has been dropped. - Fixed a problem with empty code blocks.
GAMS Connect
- Added new option skip for the Concatenate agent that allows to indicate if sets or parameters should be skipped.
- Added new ExcelReader and ExcelWriter agents for reading and writing Excel files.
PandasExcelReader
andPandasExcelWriter
are deprecated and will be removed in a future release. Use ExcelReader and ExcelWriter instead.- Harmonized the sorting behavior of Connect agents. Please check the Usage section for details.
- Improved exception handling for GDXWriter with better error message in case of duplicate records and
duplicateRecords
set toall
. - Fixed a bug where GAMSWriter would not raise an error in case of duplicate records and
duplicateRecords
set toall
. - Fixed that GAMSWriter and GDXWriter agents were changing the Connect database when dropping duplicate records.
GMSPython
- The Python version of GMSPython has been upgraded to
3.12.1
. - Added the package
scipy
to GMSPython.
Documentation
- The McCarl GAMS User Guide will be dropped with the next major release.
Solvers
Antigone, CBC, Ipopt, SCIP, SHOT
- Updated MKL to version 2024.0 on Linux and version 2023.0.0 on Windows.
BARON
- New libraries 24.1.30.
- Improved algorithms for integer linear and nonlinear programs, including local search, reformulations, relaxations, cutting planes, and presolve.
CBC
- New libraries nauty 2.8.8.
CONOPT
- New libraries 4.32.
- Bounds larger than Lim_Variable will now be reset to inf (analogously for -inf). Previously, CONOPT terminated with an error.
- Fixed projection of initial point into bounded interval after linear infeasibility model.
- Fixed issue with Hessian evaluation when multithreading is enabled.
- Solver alias
conopt
now equalsconopt4
. Useconopt3
to solve with CONOPT 3.
CPLEX
- Added possibility to define multiple mipstopexpr in one option file. If any of the given stop expressions is true, the algorithm stops.
GUROBI
- New libraries 11.0.0.
- MINLP: Can now use spatial branching and outer approximation to solve models with non-linear constraints in a form that is supported by Gurobi, instead of using static piecewise-linear (PWL) approximations.
- New option concurrentmethod: Chooses continuous solvers to run concurrently.
- New option tunedynamicjobs: Enables distributed tuning using a dynamic set of workers.
- New option mixingcuts: Mixing cut generation.
- New option funcnonlinear: Controls whether general function constraints are treated as nonlinear functions or via PWL approximation.
- New option solutiontarget: Specify the solution target for LP.
- New option value
-2
for tuneresults. - Changed both upper bound and default for option tunetimelimit to infinity.
- Changed default for option nonconvex to accept models with non-convex objective or constraints.
- Changed default for option dofuncpieces to use the relative error approach.
- New option nlreform: Reform nonlinear equations to Gurobi general constraints.
- Added possibility to define multiple mipstopexpr in one option file. If any of the given stop expressions is true, the algorithm stops.
GUSS
- In rare (mostly internal) places GUSS was previously called
SCENSOLVER
, e.g. ingmscmpun.txt
files or the system attributesolverNames
. This synonym has been removed and replaced byGUSS
.
JAMS
- Update solution reporting for VI agents: for VI functions that have been flipped, the value of the matching variable is now returned in the equation marginal, instead of its negative.
- Fixed model reformulation for VI agents: corrected reformulation in cases where VI constraints were flipped.
KESTREL
- The client-side implementation now strictly enforces TLS 1.2 or later.
KNITRO
- New libraries 14.0.0.
- Performance improvements on mixed-integer and QP/QCQP problems.
- Improvemed presolve.
- Improvemed quasi-Newton Hessian approximations.
- New option linsolver_nodeamalg: Controls the node amalgamation setting for the MA57, MA86, and MA97 linear solvers.
- New option linsolver_ordering: Sets the ordering method used for the linear system solver.
- New option linsolver_scaling: Enables scaling for the linear system solver.
- New option scale_vars: Specifies the strategy for scaling variables.
- New option presolveop_substitution_tol: Tolerance for applying a substitution.
- New option presolveop_substitution: Determine whether or not to enable the Knitro presolve operation to substitute out variables when possible.
- New option bar_globalize: Specifies the globalization strategy used in the interior-point algorithms.
- New option bar_maxmu: Specifies the maximum allowable value for the barrier parameter \(\mu\) used with the barrier algorithms.
- New option mip_cut_flowcover: Specifies rules for adding flow cover cuts.
- New option mip_cut_probing: Specifies rules for adding probing cuts.
- New option mip_heuristic_localsearch: Specifies whether or not to enable the MIP local search heuristic.
- New option ms_initpt_cluster: The strategy for clustering initial points in multi-start.
- New option value
4
for ms_terminate. - New option values
-1
and4
for blasoption.
- For discrete models the initial point is now added as MIP start in addition to the root relaxation start.
Octeract
- As announced, Octeract has been removed.
PATH
- Avoid multi-threaded Jacobian evaluation for models with external equations (aka
=X=
rows) as thread-safe external evaluation cannot be assumed.
SCIP
- Added sassy 1.1 (9847fa1) as graph preprocessor for symmetry detection.
XPRESS
- Added possibility to define multiple mipstopexpr in one option file. If any of the given stop expressions is true, the algorithm stops.
Tools
$LibInclude files
- As announced, the libinclude files
gdxservice
,linalg
, andwin32
have been removed. Please use the corresponding tools from the GAMS tools library instead.
Cholesky, Eigenvalue, Eigenvector, Invert
- As announced, the tools cholesky, eigenvalue, eigenvector, and invert have been removed. Please use the linear algebra tools from the GAMS tools library instead.
GAMS IDE
- Fixed an error reading certain reference files.
GAMS Studio
- New version 1.17.2.
- Added install license button for the "GAMS Licensing" dialog.
- Added highlighting of the system log tab when new messages are available. In case of warnings and errors the tab will be focused.
- Added new options "Compare Defaults", "Compare Domains", and "Ignore Order" to the GDX Diff dialog.
- Added the ability to resume to an ongoing GAMS Engine job after Studio is restarted.
- Added symbol sub types to the "Type" column of the symbol table in the GDXViewer.
- GDXViewer export improvements:
- The dialog now uses the ExcelReader instead of the PandasExcelReader (deprecated). This changes the following aspects:
- All GAMS special values are exported as string representation per default.
- Visual appearance of the generated Excel files has changed.
- Exported data does not contain the "value" and "element_text" headers anymore.
- No extra blank row between column header and data anymore.
- Labels are not written into merged cells anymore.
- Added support for specifying custom values for GAMS special values.
- The dialog now uses the ExcelReader instead of the PandasExcelReader (deprecated). This changes the following aspects:
- Navigator improvements:
- Improved performance after large searches.
- Fixed duplicate entries for files that are also opened in a tab.
- Fixed file navigation when starting path with
..
. - Fixed problem handling long path names.
- Fixed directories being listed as files.
- Fixed filesystem navigation for absolute path on Windows.
- Fixed filesystem navigation improperly handling file switching.
- Fixed that unnecessary spaces broke Navigator modes.
- Stability improvements, bug fixes, and minor enhancements, e.g.:
- Added Esc as a shortcut to abort the search.
- Added abort of ongoing search when search dialog is closed (but not hidden).
- Improved LST viewer performance.
- Improved performance when searching very large folders.
- Improved file handling for unexpected events while writing a file, i.e., write to temporary file and rename after success.
- Fixed crash when closing a project during a GAMS debug run.
- Fixed crash when opening file from welcome page.
- Fixed crash when loading an empty lxi/lst file.
- Fixed crash in lxiViewer with invalid model index.
- Fixed crash in project explorer on macOS with invalid model index.
- Fixed crash in Connect Editor when adding ExcelWriter schema data.
- Fixed problem where "Replace All" in unopened files appended extra characters.
- Fixed stop and interrupt button for macOS and Linux.
- Fixed LST viewer sometimes jumping to wrong position in file.
- Fixed help view showing empty page when document linked to a page in new tab or new window.
- Fixed unresponsive
Abort
button in Search Dialog. - Fixed that search was not properly interrupted when pressing
Abort
. - Fixed deactivated search elements when project settings are focussed.
- Fixed unwanted partial matches in the Search Dialog file filter section.
- Fixed project explorer not updated when using "save as".
- Fixed encoding resets to UTF-8 after restart.
- Fixed Windows interrupt not working in some cases.
- Fixed
Open As Text
button in Connect Editor not showing file contents in text editor. - Fixed
Save
for newly added data by drag and drop schema in Connect Editor. - Fixed overwritten clp when moving/copying a file from one project to another.
GDX2HAR/HAR2GDX
- As announced, the tools gdx2har and har2gdx have been removed. The tools can be accessed from the CoPS web site.
GDXRank, GDXRename
- As announced, the tools gdxrank and gdxrename have been removed. Please use the GDX service tools from the GAMS tools library instead.
- The
$libInclude rank
functionality now usesexecuteTool 'alg.rank'
to sort a one dimensional parameter instead of the gdxrank tool.
MCFilter
- As announced, the tool mcfilter has been removed. This discussion at the GAMS World Forum gives an alternative.
MOO
- A new LibInclude tool moo has been added. It provides methods for multi-objective optimization in GAMS (e.g. Augmented Epsilon Constraint).
MSAppAvail and Shellexecute
- As announced, the tools msappavail and shellexecute have been removed. Please use the Windows only tools from the GAMS tools library instead.
APIs
C++
- Added client-side enforcement of TLS 1.2 or later in
GAMSJob::runEngine
. - New libraries curl 8.6.0.
C4U
- As announced, the C4U API has been removed from the distribution.
GAMS Transfer Matlab
- Attention
- GAMS Transfer Matlab has been moved and restructured! The API
- is located in
api/matlab
(previously:apifiles/Matlab/api
) and - comes as the Matlab package
gams.transfer
(previously:GAMSTransfer
).
- is located in
- Now available for macOS on ARM64 CPUs.
- Added
gams.transfer.setup
and*.c
MEX source files of internal interface togams.transfer.cmex
. Callinggams.transfer.setup
allows to build GAMS Transfer Matlab from source. Check withmex -setup
which C compiler is enabled in Matlab.
GAMS Transfer Python
- Symbol property
.container
now holds a reference to theContainer
instead of aweakref
. - Relaxed axis uniqueness requirement when setting records with
uels_on_axes=True
. - Fixed error encountered with non-unique axis elements when setting records with
uels_on_axes=True
. - Fixed that the
pivot
method failed for DataFrames with non-str
column names. - Fixed failure with
getSparsity
by adding newisValid
test to efficiently detect domain violations in certain situations. - Fixed bug that did not allow mixed case
gdx
file extensions.
GAMS Transfer R
- New libraries 3.0.0.
- GDX API changed to the new GDX C++ API, which allows for significant performance improvements.
- Performance improvements in reading GDX file.
- The
systemDirectory
argument in theContainer
constructor is deprecated and will be removed in the future. - Bug fix:
Container
propertysummary
changed from a method to active binding. - Bug fix:
Symbol
methodequals
incorrectly returnedFALSE
when the symbol records containNA
. - Fixed overriding
PKG_CXXFLAGS
in Makevars.
GDX
- New libraries 7.10.1 (synchronized with open-source release of GDX expert-level API):
- Added
gdxAllowBogusDomains
as boolean option to toggle allowing potentially unsafe writing of records to symbols with one dimensional sets as domain, when GDX has no lookup table for the elements of this set. This can happen whengdxStoreDomainSets
was disabled by the user to save memory. For backwards compatibility, this is enabled by default. When the user explicitly disables it, e.g. viagdxAllowBogusDomainsSet(false)
, then using a one dimensional set as domain will cause a GDX error (ERR_NODOMAINDATA
). - Added boolean property
gdxMapAcronymsToNaN
(disabled by default) that maps all acronym values to special value "Not a Number" (NaN).
- Added
GEV
- Add alternative function
gevSwitchLogStatEx
to better handle cases where the current log/status destination is independent of the one switched to.
GMO
- Added
gmoObj_None
to enumgmoObjectiveSense
for model instances without objective. This return value ofgmoSense()
was possible before, but is used more consistently now.
Matlab
- Attention
- The (object-oriented) Matlab API has been renamed, moved and restructured! The API
- is now called GAMS Control (previously: object-oriented GAMS API),
- is located in
api/matlab
(previously:apifiles/Matlab/api
), - comes as the Matlab package
gams.control
or its aliasgc
(previously:GAMS
), - now has sub-packages
gams.control.engine
,gams.control.globals
andgams.control.options
, and - removed
GAMS
from class names. For example, usegams.control.Workspace
(or the aliasgc.Workspace
) instead ofGAMS.GAMSWorkspace
. The old class names are still available as aliases to the new names, but are deprecated and may be removed in an upcoming release. See also mapping of old to new class names.
-
Furthermore, the enumeration classes have changed. They are now normal classes that behave like enumeration classes for better support of software products that do not support enumerations, e.g., Octave. This has changed:
- Enumeration values are now constant properties of the class. Syntax for using those values does not change.
- The new enumeration-like classes have properties
select
andvalue
that store the current selection (name of the enumeration value) and value of the enumeration, respectively. These properties can be changed to other enumeration selections or values. Useselect
when printing the enumeration. - Removed method
lookup
. Use the class constructor instead. - Removed method
value
. Use the propertyvalue
instead. - Setting the environment variable
GAMS_MATLAB_ENUM_ALT
has no effect anymore.
- Added option value
SplitBlocksDumpWithComments
to optionDumpOpt
: Write processed input with all comments into a separate dump file for each block. - Removed option
PyMultInst
.
.Net
- Changed the
TargetFramework
of the GAMS .Net API and all dependent examples from 4.5 to 4.6.2.
PAL
- Added routine
palExistingConfigFiles()
that returns an ordered list of GAMS configuration files.
Python
- The
gams.transfer.numpy
API has been moved togams.core.numpy
. - Added new value
KeepFilesOnError
to DebugLevel which keeps temporary files only in case of an error. Its internal numerical value is1
and all values forDebugLevel.KeepFiles
or greater have been increased by one. - Changed the default of GamsWorkspace from
DebugLevel.Off
toDebugLevel.KeepFilesOnError
with the effect that temporary files do not get deleted anymore in case of an error. - The client-side implementation of
gams.control.GamsJob.run_engine()
now enforces TLS 1.2 or later when usingurllib3
prior to version 2.0. - Improved log output of GamsJob.run() to be always live (per line).
- Fixed log output of GamsJob.run() containing duplicate carriage returns for line endings on Windows.
- Fixed GamsOptions.optdir property used with GamsModelInstance.instantiate() having no effect in GamsModelInstance.solve().
Model Libraries
FIN Library
- Updated CreditImmunization : Factor Immunization model for corporate bonds..
- Updated MeanVar : Mean-variance efficient portfolios.
- Updated MeanVarShort : Mean-variance model allowing short sales.
- Updated PutCall : Put/Call efficient frontier model..
- Updated ReadData : Reads excel files and converts them to gdx format.
- Updated SelectiveHedging : Scenario Optimization for selective hedging.
- Updated ThreeStageSPDA : A three stage stochastic programming model for SPDA.
GAMS Data Library
- Removed
embeddedMultiInstance
. - Added EngineSolve.gms : Demonstrate how to submit just a solve statement to Engine.
- Added EngineSolveAsync.gms : Demonstrate how to asynchronously submit solve statements to Engine.
- Added moo01.gms : Solve scalable multi-objective knapsack model.
- Added moo02.gms : Solve multi-objective power generation model.
- Updated connect01.gms : Complex Connect Example with Spreadsheets.
- Updated connect05.gms : Simple Connect Example for Excel.
GAMS Model Library
- dice and dicex: Fixed big-M and ensured
fval
to be integral after solve indice
. - Added boxpacking.gms : Container Packing Problem.
- Added cvrp.gms : Capacitated Vehicle Routing Problem.
- Updated cta.gms : Controlled Tabular Adjustments.
- Updated herves.gms : Herves (Transposable Element) Activity Calculations.
- Updated qmeanvar.gms : Financial Optimization: Risk Management using MIQCP.
- Updated sddp.gms : Multi-stage Stochastic Water Reservoir Model solved with SDDP.
GAMS Test Library
- Removed
har1
. - Added unload16.gms : Test command line parameter gdxSymbols.
- Added emp34.gms : JAMS: test of flipping functions with VI.
- Added emp35.gms : JAMS: test of flipping constraints with VI.
- Added moo1.gms : Test libInclude tool moo.
- Added caxlsr.gms : Test Connect agent ExcelReader.
- Added caxlsrw.gms : Test Connect agents ExcelReader and ExcelWriter.
- Added gamsincr.gms : Test GAMS incrementalMode.
- Updated capcode.gms : Test Connect agent PythonCode.
PSOPT Library
- Updated DED-PB : Price based Dynamic Economic Load Dispatch.
- Updated DED-wind : Dynamic Economic Load Dispatch considering Wind generation.
- Updated DED : Dynamic Economic Load Dispatch.
- Updated DEDESS : Cost based Dynamic Economic Dispatch integrated with Energy Storage.
- Updated DEDESSwind : Cost based Dynamic Economic Dispatch integrated with Energy Storage and Wind.
- Updated ESSDCOPFwind : DC-OPF integrated with Energy Storage and Wind.
- Updated MultiperiodACOPF24bus : Multi-period AC-OPF for IEEE 24-bus network considering wind and load shedding.
- Updated MultiperiodDCOPF24bus : Multi-period DC-OPF for IEEE 24-bus network considering wind and load shedding.
- Updated PBUC : Price based Unit commitment.
- Updated RampSenDED : Ramp rate sensitivity analysis for Dynamic Economic Load Dispatch.
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 7.0 | ✔ | ✔ | ✔ | ✔ |
CPLEX 22.1 | ✔ | ✔ | ✔ | ✔ |
DECIS | ✔ | ✔ | ✔ | ✔ |
DICOPT 2 | ✔ | ✔ | ✔ | ✔ |
GUROBI 11.0 | ✔ | ✔ | ✔ | ✔ |
GUSS | ✔ | ✔ | ✔ | ✔ |
IPOPT 3.14 | ✔ | ✔ | ✔ | ✔ |
HiGHS 1.6 | ✔ | ✔ | ✔ | ✔ |
KESTREL | ✔ | ✔ | ✔ | ✔ |
KNITRO 14.0 | ✔ | ✔ | ✔ | ✔ |
LINDO 14.0 | ✔ | ✔ | ✔ | ✔ |
LINDOGLOBAL 14.0 | ✔ | ✔ | ✔ | ✔ |
MILES | ✔ | ✔ | ✔ | ✔ |
MINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
MOSEK 10 | ✔ | ✔ | ✔ | ✔ |
NLPEC | ✔ | ✔ | ✔ | ✔ |
ODHCPLEX 7 | ✔ | ✔ | ||
PATH | ✔ | ✔ | ✔ | ✔ |
QUADMINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
SBB | ✔ | ✔ | ✔ | ✔ |
SCIP 8.1 | ✔ | ✔ | ✔ | ✔ |
SHOT 1.1 | ✔ | ✔ | ✔ | ✔ |
SNOPT 7.7 | ✔ | ✔ | ✔ | ✔ |
SOPLEX 6.0 | ✔ | ✔ | ✔ | ✔ |
XPRESS 41.01 | ✔ | ✔ | ✔ |
46.2.0 Minor release (March 05, 2024)
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 Jinggang Guo, Scott McDonald, and Anne Sofie Skak-Iversen.
GAMS System
Embedded Code Facility
- Fixed error if embedded Python/Connect code arguments (
gams.arguments
) contain single quotes.
GAMS Connect
- Fixed ExcelReader error when reading from empty sheet.
- Fixed ExcelWriter error when writing an empty symbol.
- Improved ExcelReader error messages for insufficient ranges.
Solvers
BARON
- New libraries 24.3.1.
- Performance improvements for QCQPs.
CONOPT
- New libraries 4.33.
MOSEK
- New libraries 10.1.27.
Tools
GAMS Studio
- New version 1.17.3 with bug fixes and minor enhancements:
- Added "Last Projects" to the welcome page.
- Added close button to remove an entry from the welcome page.
- Added search and replace for block-edit.
- Fixed that project file got cleared when opening a file of the same base name.
APIs
DCT
- Fixed a wrong error message in case of an overflow in
dctSetBasicCountsEx
.
Model Libraries
GAMS Test Library
- Updated caxlsr.gms : Test Connect agent ExcelReader.
- Updated caxlsrw.gms : Test Connect agents ExcelReader and ExcelWriter.
- Updated connectsub.gms : Test substitution for Connect.
- Updated embpy01.gms : Test for embedded code facility.
- Updated embpy02.gms : Test for embedded code facility.
46.3.0 Minor release (March 19, 2024)
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, Nick Sahinidis, and Feng-Sheng Wang.
GAMS System
GAMS
- New Put_Utility
xsave
: Writes a compressed save file of the current state of execution. - New dollar control option $xsave[.keepCode] to create a compressed work file during compilation.
Embedded Python Code Facility
- Fixed a problem with code blocks with comments only.
- Fixed
%
character not being diplayed correctly when usinggams.printLog
.
GAMS Connect
- Added a warning to the
ExcelWriter
agent in caseopenpyxl<3.1.0
is used which can lead to wrong data being exported. - Fixed bug where
Concatenate
agent would not preserve the UEL order.
Installer
- Fixed incorrect capitalization in macOS uninstall script when asking for confirmation to remove GAMS.
Solvers
BARON
- New libraries 24.3.10.
CONOPT
- New libraries 3.17P.
- Fixed error with too large threadf value in CONOPT 4. Will be clipped at 64 now.
- Fixed interfaces for solving model instances without equations but bound constraints (only relevant when calling solver directly via GMO API).
COPT
- Fixed library load problems on some Linux systems.
GUROBI
- New libraries 11.0.1.
HiGHS
- Variable level values are no longer passed as initial solution to an LP solve, as this disabled LP presolving.
MOSEK
- New libraries 10.1.28.
Tools
GDXDUMP
- Fixed a problem with long element text when writing in CSV format.
MOO
- The tool will now throw an error in case of an empty dynamic objective set.
- Fixed bug where objective values of zero would not be fixed while calculating the payoff table.
- In addition to raising a warning, the tool will now skip objectives with min=max after the payoff table calculation. If there is not more than one objective without min=max left, the methods are skipped and the pareto points from the payoff table are returned.
- Fixed bug where sandwiching returned incorrect savepoint files for anchor points.
GAMS Studio
- New version 1.17.4.
- Fixed crash on close a tab with active block edit selection.
- Fixed font initialization error.
- Fixed project not created when using "Open File".
- Fixed behavior of running GAMS Engine job on Studio exit.
- Fixed keep file modified when saving the file fails.
APIs
Python
- Added minimum version
3.1.0
foropenpyxl
inpip
extras forconnect
.
Model Libraries
GAMS Test Library
- Updated caconcat.gms : Test Connect agent Concatenate.
- Updated connectsub.gms : Test substitution for Connect.
- Updated embpy01.gms : Test for embedded code facility.
- Updated embpy02.gms : Test for embedded code facility.
- Updated moo1.gms : Test libInclude tool moo.
46.4.0 Minor release (April 02, 2024)
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 Torbjoern Jansson, Daniel Oliveira, and Evangelos Panos.
GAMS System
GAMS
- Modified behavior of dumpOpt for value 22 to not split into further dump files when processing an include file.
Embedded GAMS Code Facility
- Fixed bug with embedded GAMS code when executing in a directory with a long path name.
GAMS Connect
- Fixed bug in
SQLReader
agent whereindexSubstitutions
on stacked indices in case of more than one value column would result intoNaN
.
Solvers
Convert
- Fixed issue writing opening parenthesis for function arguments in new line.
Tools
GAMS Studio
- New version 1.17.5.
- Fixed: Prevent Alt keys from closing GDX Viewer filter dialogs.
GDXDUMP
- Fixed bug when writing symbol text that starts with
(
.
Model Libraries
GAMS Data Library
GAMS Test Library
46.4.1 Maintenance release (April 16, 2024)
Acknowledgments
We would like to thank all of our users who have reported problems and made suggestions for improving this release.
GAMS System
GAMS
- Fixed a bug causing $declareAndLoad to throw an error when an alias to the universe should be declared.
Solvers
CBC
- New libraries CoinUtils 2.11.11.
CONOPT
KESTREL
- Removed EMP from the list of supported model types since Kestrel currently does not support
EMP
models.
APIs
.NET
- Fixed
GAMS.GAMSOptions.OptDir
property used withGAMS.GAMSModelInstance.Instantiate
having no effect inGAMS.GAMSModelInstance.Solve
.
46.5.0 Minor release (May 08, 2024)
Acknowledgments
We would like to thank all of our users who have reported problems and made suggestions for improving this release.
GAMS System
GMSPython
- Package
Jinja2
has been updated to version 3.1.4, which fixes a known vulnerability.
Solvers
CPLEX and ODHCPLEX
- Fixed model status if model is detected to be unbounded or infeasible and no solution is returned.
Tools
GAMS Studio
- New version 1.17.6.
- Set TLS 1.2 as minimum requirement for HTTPS connections.
MOO
- Fixed a bug where certain names for the objective set or the direction parameter caused the tool to fail due to symbol redefinition.
Model Libraries
GAMS Test Library
- Updated moo1.gms : Test libInclude tool moo.