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
stdOutandstdErrto 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=0is 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
pyMultInsthas 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.
PandasExcelReaderandPandasExcelWriterare 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
duplicateRecordsset toall. - Fixed a bug where GAMSWriter would not raise an error in case of duplicate records and
duplicateRecordsset 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
scipyto 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
conoptnow equalsconopt4. Useconopt3to 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
-2for 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.txtfiles 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
4for ms_terminate. - New option values
-1and4for 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, andwin32have 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
Abortbutton 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 Textbutton in Connect Editor not showing file contents in text editor. - Fixed
Savefor 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 rankfunctionality 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 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.setupand*.cMEX source files of internal interface togams.transfer.cmex. Callinggams.transfer.setupallows to build GAMS Transfer Matlab from source. Check withmex -setupwhich C compiler is enabled in Matlab.
GAMS Transfer Python
- Symbol property
.containernow holds a reference to theContainerinstead 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
pivotmethod failed for DataFrames with non-strcolumn names. - Fixed failure with
getSparsityby adding newisValidtest to efficiently detect domain violations in certain situations. - Fixed bug that did not allow mixed case
gdxfile 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
systemDirectoryargument in theContainerconstructor is deprecated and will be removed in the future. - Bug fix:
Containerpropertysummarychanged from a method to active binding. - Bug fix:
Symbolmethodequalsincorrectly returnedFALSEwhen the symbol records containNA. - Fixed overriding
PKG_CXXFLAGSin Makevars.
GDX
- New libraries 7.10.1 (synchronized with open-source release of GDX expert-level API):
- Added
gdxAllowBogusDomainsas 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 whengdxStoreDomainSetswas 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
gevSwitchLogStatExto better handle cases where the current log/status destination is independent of the one switched to.
GMO
- Added
gmoObj_Noneto enumgmoObjectiveSensefor 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.controlor its aliasgc(previously:GAMS), - now has sub-packages
gams.control.engine,gams.control.globalsandgams.control.options, and - removed
GAMSfrom 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
selectandvaluethat 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. Useselectwhen printing the enumeration. - Removed method
lookup. Use the class constructor instead. - Removed method
value. Use the propertyvalueinstead. - Setting the environment variable
GAMS_MATLAB_ENUM_ALThas no effect anymore.
- Added option value
SplitBlocksDumpWithCommentsto optionDumpOpt: Write processed input with all comments into a separate dump file for each block. - Removed option
PyMultInst.
.Net
- Changed the
TargetFrameworkof 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.numpyAPI has been moved togams.core.numpy. - Added new value
KeepFilesOnErrorto DebugLevel which keeps temporary files only in case of an error. Its internal numerical value is1and all values forDebugLevel.KeepFilesor greater have been increased by one. - Changed the default of GamsWorkspace from
DebugLevel.OfftoDebugLevel.KeepFilesOnErrorwith 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 usingurllib3prior 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
fvalto 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. - 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
ExcelWriteragent in caseopenpyxl<3.1.0is used which can lead to wrong data being exported. - Fixed bug where
Concatenateagent 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.0foropenpyxlinpipextras forconnect.
Model Libraries
GAMS Test Library
- Updated caconcat.gms : Test Connect agent Concatenate.
- Updated
connectsub. - 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
SQLReaderagent whereindexSubstitutionson 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
EMPmodels.
APIs
.NET
- Fixed
GAMS.GAMSOptions.OptDirproperty used withGAMS.GAMSModelInstance.Instantiatehaving 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
Jinja2has 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.