Table of Contents
39.1.0 Major release (May 03, 2022)
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, Torbjoern Jansson, Bruce McCarl, and Yihe Zhuo.
GAMS System
GAMS
- Added basic model statistics (range of absolute non-zero values for the bounds, right hand sides and matrix coefficients) to the output file, and log.
- Added model attributes to access the values of the basic model statistics also programmatically: rngBndMax, rngBndMin, rngMatMax, rngMatMin, rngRhsMax, rngRhsMin.
- Added new command line parameter multi to initialize the state of $on/offMuli and $on/offMultiR.
- Extended the syntax of $(on|off)Echo[S|V], $(on|off)Put[S|V], $(on|off)EmbeddedCode[S|V], and (end|pause)EmbeddedCode[S|V] with an optional suffix to allow nested use. Note that this might trigger an error for code that was OK before. In the following example, the suffix at
$onEcho
was ignored in the past. Now, this will result in an error, since there is no$offEcho
with matching suffix:$onEcho.abc > x.txt abc $offEcho
- In embedded code Python, the Python interpreter stays alive even when the embedded code section ends with $offEmbeddedCode and endEmbeddedCode. So one has access to Python objects across embedded Python code sections. Nevertheless, the
gams
object gets newly initialized (with the exception of continueEmbeddedCode). Hence old references togams
or derived objects, e.g.sym = gams.get("sym")
still exist in Python but the connected external resources are no longer available. Accessing these objects results in a crash as demonstrated in the following example:
In the second embedded Python code section the object referencesSet s1 / i1*i3 /, s2 / j1*j3 /; parameter p1(s1, s2); $onEmbeddedCode Python: s1 = gams.get('s1') s2 = gams.get('s2') $offEmbeddedCode $onEmbeddedCode Python: p1 = [(i, j, 3.14) for i,j in zip(s1, s2) ] gams.set('p1', p1) $offEmbeddedCode p1
s1
ands2
use unavailable external resources, and the code in the section will crash GAMS. There is no need to usegams
or derived objects from previous embedded code sections, since one can always use the currentgams
object. For legacy code that makes use of this unintended feature, we allow the use of the deprecated (and hidden) command line optionfreeEmbeddedPython=0
for some time to get the old behavior. If you find yourself in need to set this option, you need to rework your embedded Python code section to prevent use of previousgams
and derived objects. The optionfreeEmbeddedPython
will (as announced) eventually be removed. - Added new command line parameter and option ECImplicitLoad, as well as related dollar control options $on/offECImplicitLoad.
- Added new command line parameters ConnectIn and ConnectOut to instruct GAMS to pass the Connect YAML files provided by these option to the Connect framework at the beginning of a GAMS job (
ConnectIn
) and at the end (ConnectOut
) of the GAMS job. - Added new put_utility command
ECArguments
to extend the embedded code arguments with a dynamic text. - Added explicit range checking for some Put File Attributes. In the past, unexpected values for some attributes (e.g.
file.nr = 8;
) could have led to unwanted output. Now, unacceptable values get projected to the nearest acceptable value. - Updated use of decimals (file.nd) value in floating-point put output. Previously, the decimals value was treated as a specification, with putfile error messages resulting if the output contained fewer decimals. We treat the decimals value as a limit now: it's not an error if fewer digits are shown because of the width limit or for other reasons.
- Removed the GDX file
gmspfmap.gdx
that contained some partial mapping of files to components from the system directory. - There was a hidden option
work
. This cannot be used anymore. The command line parameter or model attribute workSpace should be used instead. - Allow holdFixed=1 for EMP, but not EMPSP models. The partly reverts the change of holdFixed for EMP models from GAMS 38.
- Fixed a bug where the command line parameters holdFixed, nodLim, workFactor and workSpace took precedence over the related model attributes.
- Fixed an error with constant evaluation in data statements for scalar symbols in a parameter statement.
- Fixed output of very large negative numbers (e.g.
-DBL_MAX
) to trace files. - Fixed minor rounding and display issues with double-precision numbers. This is relevant to values displayed in the listing file, in put files, and less commonly in the GAMS log. Ties are now resolved using the round-to-even rule instead of round-towards-zero. This new tie-breaking rule is consistent with the display routines in C++, Python, Julia, and R. For example:
- with
option decimals=5
,scalar p / 9999998.4 /
was displayed as1.000000E+7
– now as9.999998E+6
- with
option dispwidth=9, decimals=5
,scalar p / -8.123441235 /
was displayed as-0.8123E+1
– now as-8.1234412
- very small values (
1e-250
or less) were displayed as 0 but are now displayed using E-format in the usual way - displaying 1.5 or 2.5 with zero decimals both now show 2, while previously 1.5 would display as 1
- similarly, 1.75 with
decimals=1
now displays as 1.8 instead of 1.7 as it did previously
- with
Connect
- We have added the Connect framework to the distribution. Connect gives unified and platform independent access to data exchange with different formats (e.g., CSV and Excel). The instructions how to access the various data sources are given in YAML syntax. Connect is available as a standalone command line utility (
gamsconnect
), via the GAMS command line parameters ConnectIn and ConnectOut, and via embedded Connect code. The Connect framework is currently in beta status.
Embedded Code
- Allow implicit loading of symbols in embedded code. In the past the embedded code had to "set" a symbol and the symbol has to be explicitly imported on the
$off/end/pauseEmbeddedCode
line. This is no longer necessary. By default, a symbol that has been "set" by the embedded code will be imported into GAMS. The behavior with respect to this implicit loading is controlled by the command line parameter ECImplicitLoad and the dollar control options $on/offECImplicitLoad.
Embedded Connect Code Facility
- We added the new embedded code engine Connect. The embedded Connect code gives access to the Connect framework. The YAML formatted "code" can be utilized to import and export data with GAMS during compile and execution time.
Embedded Python Code Facility
- The Python version of GMSPython has been updated to
3.8.13
. - Added the packages
cerberus
andpyyaml-include
to GMSPython. - Removed decoration (
---
) from log messages printed usinggams.printLog()
and fixed a bug that prevented long messages from being displayed correctly.
Extrinsic Function libraries
- As announced the extrinsic function library
parcclib
has been dropped. - The mutex library
mtxcclib
, hidden in the system since 24.6, has now been documented and modified. With this version a mutex first has to be created via the functionCreate
before it can be used (e.g. locked).
Windows Installer
- The installer no longer creates a Desktop icon for the
GAMS IDE
by default. - Fixed bug that prevented command line parameter
/desktopIcons=no
from having an effect.
Solvers
CONOPT
- New libraries 3.17M.
- Fixed issue with incorrect infeasibility reporting for infeasible CNS models or models with infinite post-triangular variables.
- New libraries 4.27.
- Improved preprocessor on models with very small coefficients and models with constant nonlinear Jacobian elements.
- Improved detection of post-triangular parts in CNS models.
- Improved speed of analyzing the numerical stability and density of definitional constraints.
- Improved numerical stability of creating and testing the initial basis.
- Added options:
- Flg_TraceCNS: Flag for tracing a CNS solution.
- Trace_MinStep: Minimum step between reinversions when using
TraceCNS
.
COPT
- New libraries 4.0.5.
- Improved performance for LP and MIP solving.
- Added support for convex quadratic equations in continuous problems (model types QCP and RMIQCP). Currently, marginals are not provided if quadratic constraints are present.
- Added option to find an Irreducible Inconsistent Subsystem (IIS) for an infeasible LP or MIP. New options iis to enable the IIS finder and IISMethod to specify IIS finder method.
- New parameter BarOrder to specify ordering algorithm in Barrier solver.
- For GAMS/COPT-Link users: If no COPT license is available, COPT can still be used for non-commercial use and LPs with at most 10000 variables and 10000 constraints and for MIPs/QCPs with at most 2000 variables and 2000 constraints.
CPLEX
- New libraries 22.1.0.
- New options:
- lowerobjstop: in a minimization MILP or MIQP, the solver will abort the optimization process as soon as it finds a solution of value lower than or equal to the specified value.
- upperobjstop: in a maximization MILP or MIQP, the solver will abort the optimization process as soon as it finds a solution of value greater than or equal to the specified value.
- Removed CPLEX Remote Object Server and Distributed MIP.
- Removed options
computeserver
,polishtime
,rampupdettimelimit
,rampupduration
andrampuptimelimit
.
- New options:
- New option exactkappa: Report exact condition number in quality report. Note: Previously, the exact condition number has always been reported. Now, default is to not do it due to possibly high computation times.
- Add previously hidden options:
- iafile: secondary option file to be read in interactive mode triggered by iatriggerfile.
- iatriggerfile: file that triggers the reading of a secondary option file in interactive mode.
- iatriggertime: time interval in seconds the link looks for the trigger file in interactive mode.
- ltol: basis identification primal tolerance.
- mtol: basis identification dual tolerance.
- readparams: read CPLEX parameter file.
DE
- Introduced an experimental and hidden option
pipsStages
to annotate the resulting deterministic equivalent with PIPS-IPM++ conforming block information.
EMPSP
- For EMPSP models feasible empty rows will no longer be sent to the solver.
GLOMIQO
- We plan to drop GLOMIQO with the next major release. The ANTIGONE solver (a superset of GLOMIQO) remains in the system.
GUSS/ScenarioSolver
- GUSS/ScenarioSolver allows now to manually scale model instances via the
.scale
variable and equation suffix together with model attribute scaleOpt=1.
Ipopt
- New libraries 3.14.6.
KNITRO
- Added support for models with more than \(2^{31}\) entries in the coefficients matrix.
- Changed handling of initial levels and marginals, see initvalues0 and initvalues.
- Only scale the model instance if
scaleOpt
is set to 1. - Added options:
- initvalues0: enable use of initial guess for levels and marginals (first solve).
- initvalues: enable use of initial guess for levels and marginals (subsequent solve).
LGO
- We plan to drop LGO with the next major release.
Lindo/LindoGlobal
- New libraries 13.0.340.
MOSEK
- New libraries 9.3.20.
- For GAMS/MOSEK and GAMS/OsiMosek, a separate MOSEK license is now required also for academic GAMS licenses that include a GAMS/MOSEK link license but no full GAMS/MOSEK license.
MSNLP
- We plan to drop MSNLP with the next major release.
Octeract
- New libraries 4.3.1.
- Fixed that GAMS options were ignored when a solver options file was specified.
ODHCPLEX
- New libraries 6.11.
SCIP Optimization Suite
- New libraries PaPILO 2.0 (60ab076).
- New libraries SoPlex 6.0 (f084e555).
- New libraries SCIP 8.0 (899dc92dda).
XA
- We plan to drop XA with the next major release.
XPRESS
- New libraries 39.01.06.
Tools
GAMS Studio
- New version 1.10.1.
- New feature: Added
pin view
: The main edit area can be split vertically or horizontally to show a second editor.Ctrl + Left Click
on a tab creates a vertical split.Ctrl + Shift + Left Click
on a tab creates a horizontal split.
- Added new search scope:
Folder
(akaFind in Files
).- This allows users to search a directory on disk without having to load the whole directory in Studio first.
- Some rework of the "Search and Replace" dialog:
- Added file exclusion pattern input field and functionality.
- Added info about number of files searched to search dialog.
- Changed default position of search dialog to top right.
- Search now respects open file behavior settings when jumping to results in unopened files.
- Fixed crash in search when current editor has no file associated.
- Fixed search not being interruptible when searching many small files.
- Added GDX Viewer tab to the settings dialog.
- Added new setting to specify the default symbol view of the GDX Viewer.
- User model libraries have been moved to the first tab of the Model Library Explorer.
- Stability improvements, bug fixes, and minor enhancements, e.g.:
- Configuration editor now displays
gamsconfig.yaml
file only. - Added search related group to project explorer when files where found that were unknown to Studio.
- Added automatic deactivation of search selection when leaving "Selection" search scope.
- Added feedback for empty search term, invalid regex, and invalid path in search dialog.
- Added completer handling for
$offEcho
. - Changed behavior of completer: Allow all keywords after opening a paired dollar control option (DCO) and showing closing DCOs first.
- Ensure unique project name and keep log name in sync with project name.
- Fixed crash in ModelLibrary dialog on
Ctrl-rightClick
on entry. - Fixed white table headers in dark mode.
- Fixed code completer activation issues.
- Fixed broken syntax in data statements with division.
- Configuration editor now displays
- New feature: Added
MPS2GMS
- The tool has been reimplemented and now uses the readers of the HiGHS solver.
- If the MPS file appears to be in fixed form (row or character names with spaces and at most 8 characters), then parsing in fixed form is attempted.
- GDX and GMS files are now also written if no GDX and GMS filenames are provided explicitly.
- Dropped support for writing an MPS file.
- Dropped support for
OBJNAME
section. - Sections
SOS
andSETS
are now assumed to follow the format used by CPLEX, GUROBI, and FICO XPRESS. - Dropped parameters
NAME
,N
,RHS
,RANGES
,BOUNDS
,MPSOut
,Trace
. - Added parameter
COLUMNINTVARSAREBINARY
to specify how to handle integer variables that appear first inCOLUMNS
section. - Quadratic coefficient matrices are no longer written in symmetric form. Zero coefficients (
eps
) that were written to GDX in certain situations are now omitted. - See also the MPS2GMS documentation.
APIs
GAMS Transfer Matlab
- New version 0.2.0:
- Improved documentation.
- Added "equals" method to
Container
andSymbol
classes to compare containers or symbols, respectively. - Added "copy" method to
Symbol
classes to copy symbols to another container. - Added support to read symbols directly from
Container
(not justConstContainer
).
GAMS Transfer Python
- GAMS Transfer will now accept any mixed-case string representations of special values for
undef
,na
, andeps
(i.e.,Undef
orUnDeF
are now valid). - Performance enhancements associated with reading/writing GAMS special values.
- Performance enhancement in
.removeSymbols()
:isValid
check flag is no longer reset for all symbols in theContainer
if removing aParameter
,Variable
orEquation
. - Fixed bug when replacing string special values in a dataframe whose index was not uniformly spaced.
- Fixed bug when testing scalar values with
.isUndef
.
GMD
- Special value
-0.0
forEPS
is now properly recognized. gmdCopySymbol
allows to copy parameter, variable, and equation symbols into a set symbol.- Added
gmdGetUserSpecialValues
to access special values GMD currently accepts.
GMO
- Added properties
gmoHessNZ64
,gmoHessMaxNZ64
, andgmoHessLagNZ64
and functionsgmoHessStruct64
andgmoHessValue64
to get Hessian element counts as 64-bit integer. - Added properties
gmoQNZ64
andgmoGNLNZ64
: all properties returning 32-bit Jacobian nonzero counts now have 64-bit counterparts. - Fixed a memory leak in the Hessian evaluation: the leak occurred during speculative Hessian evaluations, i.e., evaluations with a tight memory limit intended to see how memory-intensive Hessian evaluation is and if Hessians should be used by the solver.
High-level APIs
GamsModelInstance.solve()
falls back to a warm start in case a hot start fails.- Added read property for
GAMSSet.SetType
(.NET, Python) andGAMSSet.getSetType
(Java) to distinguishmulti
andsingleton
sets. - New optional argument
setType=SetType.multi
inGAMSDatabase.AddSet()
(.NET),GamsDatabase.add_set()
andGamsDatabase.add_set_dc()
(Python), andGAMSDatabase.addSet
(Java) to set type of set. - Fixed defined enumerated value for options FDOpt and DumpOpt in Java interface.
Model Libraries
GAMS Model Library
- Dropped
deploy
. - Dropped
dplytst
. - Updated cta.gms : Controlled Tabular Adjustments.
- Updated dicegrid.gms : MIP Decomposition and Parallel Grid Submission - DICE Example.
- 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.
- Updated seders.gms : ERS Data Manipulations with SED.
- Updated tsp5.gms : TSP solution with Miller et al subtour elimination.
- Added asyncincbi.gms : Asynchronous processing of incumbents reported by GAMS/CPLEX.
- Added springchain.gms : Equilibrium of System with Piecewise Linear Springs.
- Added trussm.gms : Truss Toplogy Design with Multiple Loads.
GAMS Data Library
- Added gtmvn.gms : Demonstrate the use of numpy.multivariate_normal on stock return data using Transfer.
- Added connect01.gms : Complex Connect Example with Spreadsheets.
- Added connect02.gms : Complex Connect Example with CSV Files.
- Added connect03.gms : Simple Connect Example with CSV Files.
GAMS Test Library
- Updated embpy04.gms : Test continuation of embedded code blocks to remove tests related to freeEmbeddedPython.
- Updated mtxlib.gms : Test basics of the mutex library to reflect changes in extrinsic function mutex library.
- Dropped
parlib01
and corresponding library[lib]parcclib64
and sourceparsource.zip
. - Dropped
pfmaptst
. - Added embmihws.gms : ModelInstance hot/warmstart switch.
- Added convert17.gms : CONVERT test suite - check stage and scale export in dumpgdx.
- Added caproject.gms : Test Connect agent Projection.
- Added cagamsrw.gms : Test Connect agent GAMSReader/Writer.
- Added cagdxrw.gms : Test Connect agent GDXReader/Writer.
- Added capdxlsrw.gms: Test Connect agents PandasExcelReader and PandasExcelWriter.
- Added carxr.gms : Test Connect agent RawExcelReader.
- Added capcode.gms : Test Connect agent PythonCode.
- Added cacsvw.gms : Test Connect agent CSVWriter.
- Added embpy12.gms : Test implicit/explicit loading in Embedded Code.
- Added cacsvr.gms : Test Connect agent CSVReader.
- Added capdxlsr.gms: Test Connect agent PandasExcelReader.
- Added embpy13.gms : Test implicit/explicit loading in Embedded Code (execution time).
- Added connectsub.gms : Test substitution for Connect.
- Added nestblock01.gms : Test the use of nested blocks.
FIN Library
- Use Connect instead of Windows-only gdxxrw to allow running the models on all platforms.
- 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.
PSOPT Library
- Use Connect instead of Windows-only gdxxrw to allow running the models on all platforms.
- Updated DED : Dynamic Economic Load Dispatch.
- Updated DED-PB : Price based Dynamic Economic Load Dispatch.
- Updated DED-wind : Dynamic Economic Load Dispatch considering Wind generation.
- 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 | |
---|---|---|---|
ALPHAECP 2.11 | ✔ | ✔ | ✔ |
ANTIGONE 1.1 | ✔ | ✔ | ✔ |
BARON | ✔ | ✔ | ✔ |
BONMIN 1.8 | ✔ | ✔ | ✔ |
CBC 2.10 | ✔ | ✔ | ✔ |
CONOPT 3 | ✔ | ✔ | ✔ |
CONOPT 4 | ✔ | ✔ | ✔ |
COPT 4.0 | ✔ | ✔ | ✔ |
CPLEX 22.1 | ✔ | ✔ | ✔ |
DECIS | ✔ | ✔ | ✔ |
DICOPT 2 | ✔ | ✔ | ✔ |
GLOMIQO 2.3 | ✔ | ✔ | ✔ |
GUROBI 9.5 | ✔ | ✔ | ✔ |
GUSS | ✔ | ✔ | ✔ |
IPOPT 3.14 | ✔ | ✔ | ✔ |
KESTREL | ✔ | ✔ | ✔ |
KNITRO 13.0 | ✔ | ✔ | ✔ |
LGO | ✔ | ✔ | ✔ |
LINDO 13.0 | ✔ | ✔ | ✔ |
LINDOGLOBAL 13.0 | ✔ | ✔ | ✔ |
MILES | ✔ | ✔ | ✔ |
MINOS 5.6 | ✔ | ✔ | ✔ |
MOSEK 9 | ✔ | ✔ | ✔ |
MSNLP | ✔ | ✔ | ✔ |
NLPEC | ✔ | ✔ | ✔ |
OCTERACT 4 | ✔ | ✔ | |
ODHCPLEX 6 | ✔ | ✔ | |
PATH | ✔ | ✔ | ✔ |
QUADMINOS 5.6 | ✔ | ✔ | ✔ |
SBB | ✔ | ✔ | ✔ |
SCIP 8.0 | ✔ | ✔ | ✔ |
SHOT 1.1 | ✔ | ✔ | ✔ |
SNOPT 7.7 | ✔ | ✔ | ✔ |
SOPLEX 6.0 | ✔ | ✔ | ✔ |
XA | ✔ | ✔ | |
XPRESS 39.01 | ✔ | ✔ | ✔ |
39.1.1 Maintenance release (May 18, 2022)
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 and Arne Schulz.
Solvers
CPLEX
- Fixed mipkappastats report in case of relaxed or fixed solve after MIP solve (enabled by rerun = no and solvefinal = yes, respectively).
KNITRO
- Fixed incorrect detection as an infeasible model when it actually was feasible (happened if KNITRO terminated due to small relative change in objective).
Tools
GAMSCONNECT
- Fixed problem with
gamsconnect
command line tool not working properly when environment variablesPYTHONPATH
orPYTHONHOME
were set.
GAMS Studio
- New version 1.10.2 with some bug fixes, stability improvements, and minor enhancements, e.g.:
- Made sure the correct file gets the focus on Studio start-up.
- Fixed crash on closing a tab when project settings are active.
- Fixed closing behavior of search dialog on Windows when using
X
button.
GDXDIFF
- Fixed wrong differences of parameters with option
fldOnly
.
MODEL2TEX
- Fixed problem with
model2tex
not working properly when environment variablesPYTHONPATH
orPYTHONHOME
were set.
39.2.0 Minor release (June 02, 2022)
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 Dominic Lencz.
GAMS System
GAMS
- Fixed potential wrong dump file with implicit sets.
Connect
- Fixed a problem in
GAMSWriter
agent that registered unused labels with GAMS.
Embedded Python Code Facility
- Fixed a problem with ignoring
gams.ws.my_eps
.
Solvers
CONOPT
- New libraries 4.28.
Tools
GAMS Studio
- New version 1.10.4 with some bug fixes, and minor enhancements, namely:
- Added support for optional suffixes for $(on|off)Echo[S|V], $(on|off)Put[S|V], $(on|off)EmbeddedCode[S|V], and (end|pause)EmbeddedCode[S|V].
- Fixed GAMS Engine not adding files in subdirectories from
*.efi
file. - Fixed problem receiving results from Engine when there is an execution error.
APIs
GAMS Transfer Matlab
- New version 0.2.1:
- Fixed read of variable with unknown subtype (recast as free).
- Fixed check of variable type on variable creation.
- Fixed
isEps
,isNA
, andisUndef
ofSpecialValues
for sparse matrix input. - Fixed default values of external, conic, and boolean equations.
GAMS Transfer Python
- Fixed read of variable with unknown subtype (recast as free).
- Fixed default values of equation subtypes (
eq
,geq
,leq
,cone
,external
, andboolean
).
GMD
- Fixed a problem with aliases to the universe.
39.2.1 Maintenance release (June 21, 2022)
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 and Erwin Kalvelagen.
GAMS System
GAMS
- Report correct number in Solve Summary if iteration count exceeds
maxInt
. - Added missing entry for empty scalar equations to the tree view of the output file.
Connect
- Fixed a problem with
indexSubstitutions
inCSVReader
agent where labels in the last index column where not substituted when reading a set without text columns.
Solvers
CPLEX
- Fixed crash after singular basis error.
- Fixed overflow in node and iteration counts.
SHOT
- New libraries 1.1 (c9bc78df).
39.3.0 Minor release (July 07, 2022)
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 Tom Rutherford.
GAMS System
GAMS
- Fixed a problem that limited the number of characters written to a single line in the log using put files to 255.
Solvers
SCIP Optimization Suite
- New libraries SCIP 8.0 (95d63636d5).
- New libraries PaPILO 2.1.0.
SHOT
- New libraries 1.1 (033622c6).
Tools
GAMS Studio
- New version 1.10.5 with some bug fixes, and minor enhancements, for example:
- Fixed Studio ignoring setting to open in current project when opening a file from Explorer.
- Fixed search not reacting to changes in project file list.
- Fixed search not always adding new files to correct search group.
- Fixed potential crash when closing Studio while search dialog is open.
- Fixed opening of empty editor when using search results to open a deleted file.
- Added automatic update of results list when still open from last search.
APIs
GMO
- Fixed a crash caused by memory corruption in the Hessian evaluation: the crash occurred while cleaning up after speculative Hessian evaluations that exceed a user-specified memory limit.