Table of Contents
- 43.1.0 Major release (April 27, 2023)
- 43.2.0 Minor release (May 04, 2023)
- 43.3.0 Minor release (May 18, 2023)
- 43.3.1 Maintenance release (June 01, 2023)
- 43.4.0 Minor release (June 15, 2023)
- 43.4.1 Maintenance release (June 22, 2023)
43.1.0 Major release (April 27, 2023)
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 Pedro Andres Sanchez-Perez, Mogens Bech Laursen, Bruce McCarl, Scott McDonald, and Thomas Rutherford.
Platforms
- The GAMS distribution is now also available as a native build for macOS 13 on ARM64 CPUs (Apple M1/M2). Compared to the macOS system for x86_64 CPUs, these are the differences:
- Third-party software for which no native builds are available (so far):
- BARON and hence no GAMS/BARON
- FICO XPRESS and hence no GAMS/XPRESS
- Matlab and hence no GAMS Transfer Matlab
- Effects from Intel's Math Kernel Library not being available:
- Pardiso is not available as linear solver in Ipopt.
- Intel MKL is not available as blasoption for Knitro.
- Apple's Accelerate Framework is used instead by ANTIGONE, CBC, IPOPT, SCIP, and SHOT.
- The clang compiler frontend is Apple's preferred way to build C/C++ programs on macOS. A GCC variant of the high-level C++ API library has therefore not been included for this platform. GCC users can build the library from source.
- Components marked as deprecated have not been ported:
- GDXMRW
- GDXRRW
- Support for Python 3.7 and macOS versions 11 and 12 are not included.
- Third-party software for which no native builds are available (so far):
GAMS System
GAMS
- The command line parameter logOption will change with the next major release. Currently,
logOption=1
sends the log output to the console (i.e.con:
or/dev/tty
). This feature is planned to be dropped.LogOption=1
will become a synonym for the defaultlogOption=3
, which sends the log output to the standard output. - Added new command line parameter writeOutput, which allows to suppress the creation of the output file completely.
- Added new keyword executeTool and put_utility 'execTool' to invoke tools from the GAMS tools library (see below) at execution time.
- Added new dollar control options $callTool and $hiddenCallTool to invoke tools from the GAMS tools library (see below) at compile time.
- Added new dollar control options $gdxLoadAll and $declareAndLoad, which allow a convenient import of all (even undeclared) symbols from a GDX file at compile time.
- Added new dollar control options $on/offImplicitAssign, which allow to suppress compilation error 141 ("Symbol declared but no values have been assigned."). This is useful in situations where the compiler is unaware that symbols are loaded implicitly (e.g.
execute_loadpoint "solutionfile.gdx"
). - Added a new section to the end of the reference file that lists all files included.
- Extended some internal limits to allow generation of huge scalar models.
- Renamed compile time constants
platformCode.DEG
andplatformCode.LEG
toplatformCode.DEX
andplatformCode.LEX
, respectively, to be consistent with the system attributeplatform
. - Minor adjustment to the return code of the function readyCollect: In the past, it returned
0
only if it waited until a job is ready to be collected. Now, it also returns0
when there is a job ready to be collected without the need to wait for it (that case returned1
in the past; now the meaning of1
has changed to "There is neither an active job to wait for nor a job ready to be collected"). - Fixed function platformCode (was not working properly on macOS and Linux).
- Fixed an issue converting strings of length 255, which could cause problems when creating GDX files.
- Fixed a bug where scalars where not updated properly when implicitly loaded from embedded code inside a loop.
Documentation
- The PDF version of the documentation will be dropped in a future release.
Embedded Code Facility
- React on interrupt signal (e.g., from Ctrl-C) when executing embedded code. If an interrupt signal is received, the execution is interrupted and a compilation or execution error gets issued.
- Setting gams.debug only affects the debug behavior of the
GamsWorkspace
since the exception traceback is always enabled now. - Fixed exception traceback being written to
stdout
instead of GAMS log. - Fixed wrong line numbers in exception traceback.
GAMS Connect
- Exception traceback has been enabled for unhandled Python exceptions.
- The
debug
option of theOptions
agent has been deprecated and will be removed in a future version. Use theOptions
agent withtrace
> 0 instead to get the exception traceback of Connect errors . - Fixed exception traceback being written to
stdout
instead of GAMS log. - Added RawCSVReader agent to Connect.
- Updated long label renaming logic in RawExcelReader so that the suffix number
~n
gets incremented only when necessary. - With pandas version 1.5.0, the
mad
aggregation method is deprecated and, therefore, will not be available for the Projection agent in a future release. - The Concatenate agent now supports concatenating the same symbol more than once.
- The SQLReader and SQLWriter agents (former
PandasSQLReader
andPandasSQLWriter
) have been revised and now support native SQL connections for faster read/write operations. Both agents now connect to MySQL, Postgres, MS-SQL (SQL-Server), SQLite and PyODBC through their respective python package.pandas.DataFrame
class' I/O API methodsread_sql
andto_sql
can be used in combination withconnectionType
sqlalchemy
and allows to connect to any other database if the relevant drivers are present on the system. - The SQLWriter agent supports writeAll. If
True
, all symbols (sets and parameters) in the Connect database will be written to the specified database.
GMSPython
- Added the packages
pymssql
andpymysql
. For macOS on ARM64 CPUs the additional packagefreetds
has been added as a dependency forpymssql
.
Solvers
ANTIGONE, CBC, Ipopt, SCIP, SHOT
- New libraries Intel MKL 2023.1 on Linux and macOS for x86_64.
CBC
- New libraries Cbc 2.10.10, Cgl 0.60.7, Clp 1.17.8, CoinUtils 2.11.8.
- Extensions to symmetry handling.
- New values
fastish
,lightweight
,moreprinting
,cuts
, andcutslight
for option OrbitalBranching.
- New libraries nauty 2.8.6.
- As announced, the CBC alias
COINCBC
has been dropped.
CONOPT
- As announced, the CONOPT3 alias
CONOPTD
has been dropped.
CONVERT
- The AMPL .nl writer can now write equation marginals as well.
- Added options AmplNlInitDual and AmplNlInitPrimal to specify which equation marginal and variable level values to write to AMPL .nl file.
- As announced, the CONVERT alias
CONVERTD
has been dropped.
COPT
- New libraries 6.5.2.
- Enhanced support for special ordered sets and indicator constraints.
- Added possibility to write solve trace files. New options solvetrace, solvetracenodefreq, and solvetracetimefreq.
CPLEX and OSICPLEX
- GAMS/CPLEX can now be used to solve LPs and MIPs without a GAMS/CPLEX or GAMS/CPLEX Link license, but with a OSICPLEX license. It is thus similar to the GAMS/CPLEX Link license, but restricted to (mixed-integer) linear problems. To use ranging, conflict analysis, feasopt, tuning, column generation, solution pool, lazy constraints, quadratic constraints, indicator constraints, linear user cuts, multi-objective optimization, priorities, benders decomposition, or user callbacks, a GAMS/CPLEX or GAMS/CPLEX Link license is still required.
- GAMS/OSICPLEX is now an alias for GAMS/CPLEX. The alias GAMS/OSICPLEX will be dropped with a future major release. Former GAMS/OSICPLEX option files cannot be processed by GAMS/CPLEX.
- As announced, the CPLEX alias
CPLEXD
has been dropped.
DE
- Introduced an experimental and hidden option
deDict
to produce a text file with dictionary type information of the generated deterministic equivalent.
DECIS
- As announced, the EMP-SP solver DECIS has been dropped. This does not effect the stochastic LP solvers DECISC and DECISM. They remain in the system.
Examiner
- Examiner is now solveLink=5 capable. Some cosmetic output changes were made.
GUROBI and OSIGUROBI
- New libraries 10.0.1.
- GAMS/GUROBI can now be used to solve LPs and MIPs without a GAMS/GUROBI or GAMS/GUROBI Link license if a separate GUROBI license is installed on the machine. It is thus similar to the GAMS/GUROBI Link license, but restricted to (mixed-integer) linear problems. To use quadratic constraints, indicator constraints, general or nonlinear constraints, lazy constraints, multi-objective optimization, multiple MIP starts, partitions, MIP stop expression, solution pool, feasopt, iis, sensitivity analysis, or tuning, a GAMS/GUROBI or GAMS/GUROBI Link license is still required.
- GAMS/OSIGUROBI is now an alias for GAMS/GUROBI. The alias GAMS/OSIGUROBI will be dropped with a future major release.
IPOPT
- As announced, the IPOPT alias
COINIPOPT
has been dropped. - New libraries 3.14.12.
- Fixed that for a square problem, the dual solution sometimes did not satisfy optimality conditions even though the problem was claimed to be solved to optimality.
KESTREL
- Removed access to discontinued IBM DOcloud.
LINDO/LINDOGLOBAL
- New libraries 14.0.255.
MILES
- As announced, the MILES alias
MILESE
has been dropped.
MINOS
- As announced, the MINOS aliases
MINOS5
andMINOS55
have been dropped.
MOSEK and OSIMOSEK
- GAMS/MOSEK can now be used to solve LPs and MIPs without a GAMS/MOSEK or GAMS/MOSEK Link license if a separate MOSEK license is installed on the machine. It is thus similar to the GAMS/MOSEK Link license, but restricted to (mixed-integer) linear problems. To use second-order, semidefinite, power, or exponential cones, a GAMS/MOSEK or GAMS/MOSEK Link license is still required.
- GAMS/OSIMOSEK is now an alias for GAMS/MOSEK. The alias GAMS/OSIMOSEK will be dropped with a future major release.
- GAMS/MOSEK should work equivalently to GAMS/OSIMOSEK in most cases. The main differences are:
- A MIP solve is now followed by an LP solve with all discrete variables fixed by default. Use option SOLVEFINAL to turn this off.
- Setting GAMS option integer2 does not enable writing the instance to a file anymore. Set option MSK_SPAR_DATA_FILE_NAME instead.
Octeract
- New libraries 4.7.1.
ODHCPLEX
- New libraries 7.07.
- New option addcuts: Indicator for adding cuts from CPLEX master solve.
- New option firstfeaslpitlim: Limit on number of relaxed re-solves in first feasible heuristic.
- New option firstfeasrelaxcrit: Smallest sum of infeasibilites/row where relaxed solution used.
- New option ignoresetslvrparams: Flag to control whether solver parameters can be dynamically altered by ODH.
- New option keypartition: Use of solver partition information.
- New option keysminimum: Minimum number of keys that the automatic decomposition method attempts to find.
- New option localsearch: Indicator for local search heuristic.
- New option loosefeastol: Loose feasibility tolerance.
- New option objthreshold: Threshold for absolute value of objective coefficients.
- New option sosfind: Automatic detection of special ordered sets (SOSs).
- New option sosinkey: Assign each SOS to its own sub-model component (key).
- New option sosmember: Automatically detect SOSs whose variable member names match this pattern.
- New option sosovar: Automatically detect SOSs whose output variable name matches this pattern.
- New option sosselect: Select sub-set of SOS members.
- New option sosselect16: Select sub-set of SOS members for sets with 16 or fewer members only.
- New option soswvar: Automatically detect SOSs whose input(weight) variable name matches this pattern.
- New option strictdeterministic: Terminate ODH deterministically when improvement heuristic finishes.
- New option subcheckfreq: Frequency with which sub-model LPs are interrupted for mutual communication.
- New option tightenprebounds: Level of bound tightening in ODH presolved model.
- New option trialbound: Trial bound heuristic.
- New option trialboundfile: Trial bound file.
- New option trialboundsetsize: Size adjustment to automatically generated trial bound sets.
- New option usehistory: Use of past sub-model selections in current selection.
- New option varcleanlpmethod: Method used to solve variable cleaning LPs.
- Changed lower bound of option interdiv to 1.
- Removed lower bound of option seed. Changed default value to 12345.
- Changed lower bound of option feastol to 0 and upper bound to 1.
- Changed lower bound of option subnodelimit to -2.
- Changed lower bound of option divisor to 2 and default value to 4.
- Changed upper bound of option decompdensity to 1.
- Changed upper bound of option firstfeascontinue to 2. Changed option type to integer.
- Changed default value of option firstfeasshift to 0.
- Changed default value of option recurseminiterlim to 10.
- Changed default value of option variableclean to 1.
- Removed option
newcallback
. - Removed option
odhpresolve
. - Removed option
subpresolve
.
PATH
- The PATH alias
PATHC
has been dropped.
SCIP
- New libraries bliss 0.77.
- As announced, the SCIP alias
COINSCIP
has been dropped.
SOPLEX
- As announced, the SOPLEX alias
OSISOPLEX
has been dropped.
XPRESS and OSIXPRESS
- New libraries 41.01.03.
- GAMS/XPRESS can now be used to solve LPs and MIPs without a GAMS/XPRESS or GAMS/XPRESS Link license if a separate XPRESS license is installed on the machine. It is thus similar to the GAMS/XPRESS Link license, but restricted to (mixed-integer) linear problems. To use quadratic constraints, nonlinear constraints, indicator constraints, priorities, MIP trace, solution pool, a GAMS/XPRESS or GAMS/XPRESS Link license is still required.
- GAMS/OSIXPRESS is now an alias for GAMS/XPRESS. The alias GAMS/OSIXPRESS will be dropped with a future major release.
Tools
$LibInclude files
- The libinclude files
gdxservice
,linalg
andwin32
are deprecated and will be removed in a future release. Please use the corresponding tools of the more flexible and convenient GAMS tools library instead.
CHK4UPD
- As announced, the command line tool
CHK4UPD
has been dropped. The functionality of that tool is still available through GAMS Studio.
CSDP
- As announced, the tool
csdp
has been dropped. GAMS/MOSEK could be used instead.
GAMS Studio
- New version 1.14.2.
- Improved command line parameter handling for projects:
- Added editor for parameter file.
- Added "Add new GAMS Parameter File" to Project Explorer context menu.
- Added selection of main and parameter file in Project Settings.
- Added GAMS Engine authorization by token.
- Added GDX Viewer setting to control decimal separator used when copying data.
- Added "File Used" section in reference file viewer.
- Improved command line parameter handling for projects:
GAMS Tools Library
- The GAMS tools library is a collection of tools to provide an easy access to a complex task. The traditional tool collection will be replaced over time by GAMS Connect agents and tools in the GAMS tools library. For some time both ways will be supported but the executable tools will go away, so when in doubt what tool to pick, select Connect or a tool from the GAMS tools library.
- The GAMS tools library currently consists of the categories
alg
with Rank,data
with ExcelDump,gdxservice
with GDXEncoding and GDXRename,linalg
with Cholesky, Eigenvalue, Eigenvector, Invert, and OLS (Ordinary Least Squares), andwin32
with ExcelMerge, ExcelTalk, MSAppAvail, and ShellExecute. - From within a GAMS program, tools from the GAMS tools library can be invoked via $callTool (compile time) and executeTool or put_utility 'execTool' (execution time).
- From a shell/command prompt the script gamstool can be used to run tools from the GAMS tools library.
GDXTROLL
- As announced, the tool
gdxtroll
has been dropped.
MPS2GMS
- MPS2GMS can now be instructed to add up or ignore multiple coefficients for the same term in the objective or a constraint of an LP file. See new option
DUPLICATES
in the MPS2GMS documentation.
APIs
GAMS Engine API
- Updated for GAMS Engine version 23.03.31.
GAMS Transfer Matlab
Breaking:
Symbol.domain_labels
now mirrors the column or field names for domains inSymbol.records
. ChangingSymbol.domain_labels
will changeSymbol.records
and vice versa.Symbol.domain_labels
now exists instruct
andtable
format only. Domain fields in records are those fields that are not one of the following:- Variables and equations:
level
,marginal
,lower
,upper
,scale
. - Parameters:
value
. - Sets:
text
.
Furthermore, the default labels changed: If
Symbol.domain_names
is a unique list of domain names, then those names are used as domain labels. Otherwise, the previous label strategy "<name>_<dim>" is used. For example, a symbol with domain{i, j}
, now has domain labelsi
andj
in records and with a domain{i, j, i}
it staysi_1
,j_2
,i_3
(unless the table columns or struct fields are named differently by the user).- Variables and equations:
- Added possibility to modify
Symbol.domain_labels
to any unique list of domain labels. IfSymbol.domain
is modified, domain labels are reset to default label strategy, described above. - Changed
Symbol.domain_forwarding
to be a vector of lengthSymbol.dimension
to enable/disable domain forwarding for each dimension independently. - Removed
Symbol.getCardinality
,Symbol.getUELLabels
,Symbol.initUELs
, andContainer.getUniverseSet
. - Fixed possibly incorrect order of UELs of symbols in
dense_matrix
orsparse_matrix
format. - Fixed
Symbol.setRecords
for cell input and symbols of dimension >= 3.
GAMS Transfer Python
- Breaking: renamed
generateRecords
argumentdensities
todensity
. - Breaking: removed the
getCardinality
method. - Breaking: renamed
*
column forUniverseAlias
symbols touni
to be more consistent with other symbol formats. - Breaking: new dataframe column naming convention. Defaults to
domain_names
if unique. If not unique,domain_names
will be tagged with a dimension index. Can be customized with newdomain_labels
setter functionality. Container
andConstContainer
have been made iterable.- Exposed
Const*
symbol classes to the user in order to enable better tab completion behavior. - New symbol method
toValue
(for scalar symbols) – returns symbol records asfloat
(underlying Pandas DataFrame is not modified). - New symbol method
toList
(for all symbols) – returns symbol records as a pythonlist
. - New symbol method
toDict
(for only Parameter, Variable and Equation symbol types) – returns symbol records as a pythondict
. - Allow a
list
ofbool
to be passed todomain_forwarding
to selectively forward set elements. - Following GAMS convention, singleton sets can no longer be used to define a symbol domain.
- Small adjustments to the object string representation (
__repr__
) functions. - Added an
is_scalar
symbol property to (Const)Variable and (Const)Equation symbols. - Added support for
len
function toContainer
andConstContainer
– returns the number of symbols in the container. - Added support for
PathLike
objects inload_from
argument. - Better handling of
str
type relative paths inload_from
argument. - Drop unused categories from columns when using
generateRecords
. - Fixed bug in
getUELs
when there were unused categories in the domain set and the data were out of order from the category order. Impacted behavior oftoDense
andtoSparseCoo
methods. - Removed the previously deprecated
getUniverseSet
method, use<container>.getUELs()
instead. - Better error message with
whereMin
,whereMax
,whereMaxAbs
functions if all symbol values areNaN
.
GAMS Transfer R
- New libraries 1.16.0.
- Added checks for singleton and multidimensional checks in
Symbol
methodisValid()
. - Changed the default domain labels. User-specified domain labels are preserved if unique.
- Performance improvement in
Container
methodread
.
- Added checks for singleton and multidimensional checks in
GDX
- Added new function
gdxDataReadRawFastEx
that behaves likegdxDataReadRawFast
but works with a callback function that also has theDimFrst
andUserMem
argument.
GMO
- Added new function
gmoGetObjL
to get objective activity level. This is useful when reformulating models. - Functions
gmoEvalFuncNLCluster
andgmoEvalFuncNLCluster_MT
are declared deprecated and will be removed with the next major release.
Java
- GAMSModelInstance of this version is no longer compatible with GAMS 33 or older.
Matlab
- Added option
implicitAssign
toGAMSOptions
and enumeration classImplicitAssign
.
.Net
GAMSModelInstance
of this version is not compatible anymore with GAMS 33 or older.
Python
- Added support for Python 3.11.
- GamsModelInstance of this version is not compatible anymore with GAMS 33 or older.
- The Python examples located in
<sysdir>/api/python/examples
have been updated and revised.- The examples
xp_example[1|2].py
have been renamed tocore_example[1|2].py
.
- The examples
Model Libraries
GAMS EMP Library
GAMS Model Library
- Updated schulz.gms : Termination routine to ensure solvers stay with resource limit.
- gqapsdp and kqkpsdp: SDPs are now solved with Mosek.
GAMS Test Library
- Updated carxr.gms : Test Connect agent RawExcelReader.
- Added carcr.gms : Test Connect agent RawCSVReader.
- Added output01.gms : Test Output related Command Line Parameters.
- Added conopt03.gms : CONOPT test suite - different libraries in one process.
- Added interrupt.gms : Check Ctrl-C/Interrupt handling of Embedded Code, MIP solver, and GAMS.
- Added load17.gms : Test $declareAndLoad and $gdxLoadAll.
- Added implassign01.gms : Test implicitAssign.
- Renamed capdsqlr to casqlr.gms : Test Connect agent SQLReader and updated for revised SQLReader.
- Renamed capdsqlw to casqlw.gms : Test Connect agent SQLWriter and updated for revised SQLWriter.
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 6.5 | ✔ | ✔ | ✔ | ✔ |
CPLEX 22.1 | ✔ | ✔ | ✔ | ✔ |
DECIS | ✔ | ✔ | ✔ | ✔ |
DICOPT 2 | ✔ | ✔ | ✔ | ✔ |
GUROBI 10.0 | ✔ | ✔ | ✔ | ✔ |
GUSS | ✔ | ✔ | ✔ | ✔ |
IPOPT 3.14 | ✔ | ✔ | ✔ | ✔ |
HiGHS 1.5 | ✔ | ✔ | ✔ | ✔ |
KESTREL | ✔ | ✔ | ✔ | ✔ |
KNITRO 13.2 | ✔ | ✔ | ✔ | ✔ |
LINDO 14.0 | ✔ | ✔ | ✔ | ✔ |
LINDOGLOBAL 14.0 | ✔ | ✔ | ✔ | ✔ |
MILES | ✔ | ✔ | ✔ | ✔ |
MINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
MOSEK 10 | ✔ | ✔ | ✔ | ✔ |
NLPEC | ✔ | ✔ | ✔ | ✔ |
OCTERACT 4 | ✔ | ✔ | ||
ODHCPLEX 7 | ✔ | ✔ | ||
PATH | ✔ | ✔ | ✔ | ✔ |
QUADMINOS 5.6 | ✔ | ✔ | ✔ | ✔ |
SBB | ✔ | ✔ | ✔ | ✔ |
SCIP 8.0 | ✔ | ✔ | ✔ | ✔ |
SHOT 1.1 | ✔ | ✔ | ✔ | ✔ |
SNOPT 7.7 | ✔ | ✔ | ✔ | ✔ |
SOPLEX 6.0 | ✔ | ✔ | ✔ | ✔ |
XPRESS 41.01 | ✔ | ✔ | ✔ |
43.2.0 Minor release (May 04, 2023)
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 Michael Ferris and Mehmet Sert.
GAMS System
GAMS
- Improved the dollar control options $declareAndLoad to consider domain information and the subtype of a symbol as well (i.e., distinguish between positive and free variables).
Solvers
CPLEX, GUROBI, XPRESS
- Fixed that the bare-bone mode to solve LPs or MIPs was not accessible.
GUROBI
- Fixed that models with quadratic equations were rejected when using model type (D/(R)MI)NLP.
Tools
GAMS IDE
- Fixed that GAMS did not run anymore.
APIs
GAMS Transfer R
- New version 1.18.
- Added
isScalar
property for the symbols of typeVariable
andEquation
. - Updated symbol method
reorderUELs()
. If the argumentuels
is not passed, UELs are reordered based on the records. - Symbol method
isValid
now checks also for scalars with more than one record entries. - Breaking: Symbol method
toDense()
now requires domain UELs and domain records to be in the same order and unused UELs in the domain (if any) at the end of the UEL list. - Breaking: Container method
read
now preserves the domain type from the source and avoids domain linking by symbol name. - Breaking: Symbol method
getCardinality
is removed. - Fixed bug in longer symbol
description
. - Fixed bug in accessing Container symbols in a case-insensitive manner.
- Fixed bug in the Container method
describeAliases
.
- Added
Jupyter Notebooks
- New optional argument
--system_directory=<path/to/gams>
forgams_reset
used to explicitly specify a GAMS system directory.
Python
- The pip extras
all
andconnect
now installpsycopg2-binary
instead ofpsycopg2
in order to avoid additional dependencies when installing the GAMS Python API.
Model Libraries
GAMS Test Library
43.3.0 Minor release (May 18, 2023)
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 wrong default value of 255 for the command line parameter putPW (the default is actually 32767).
Solvers
COPT
- New libraries 6.5.3.
HIGHS
- Fixed that solver link crashed when interrupted.
Tools
GAMS Studio
- New version 1.14.3 with some bug fixes and minor enhancements, for example:
- Added
abort
andabort.noError
to highlighter and completer. - Fixed connecting to GAMS Engine via HTTPS on macOS.
- Fixed GAMS Engine failing when using a parameter file.
- Fixed false detection of
parmFile
command line parameter. - Fixed font not immediately updating after changing it in "Settings > Editor & Log".
- Fixed crash in Connect Editor when opening a file containing unknown schema name.
- Added
APIs
Jupyter Notebooks
- Fixed a bug where specifying the
--system_directory
argument ofgams_reset
had no effect.
Python
- Fixed a problem with the debug output of Control API destructors.
43.3.1 Maintenance release (June 01, 2023)
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 Gabriel Homsi.
GAMS System
Installer
- Fixed a problem of the Windows installer that prevented successful installation with a system account that misses a user documents directory.
Solvers
HiGHS
- Fixed crash when resolving model instance after modification of constraint coefficients.
43.4.0 Minor release (June 15, 2023)
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, Alberto Valsecchi, and Wolfgang Britz.
GAMS System
GAMS
- Removed the capability to execute tools via the put_utility 'execTool'.
- Fixed a bug in $declareAndLoad which caused any Alias being loaded as Singleton Set.
Solvers
COPT
- New libraries 6.5.4.
Tools
GAMS Studio
- New version 1.14.4 with some bug fixes and minor enhancements, for example:
- Delay license dialog to ensure Studio is already visible.
- Added information to system log with Studio start arguments.
- Added warning to system log if setting files could not be created.
- Fixed issues with parameter file on macOS and Linux.
- Fixed project setting for parameter file lost or reset on Studio restart.
- Fixed OpenSSL issue for Manjaro, Ubuntu 22.04 LTS, and similar Linux distributions.
43.4.1 Maintenance release (June 22, 2023)
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 Guido M. Bazzani, Hirotaka Isogai and Bruce McCarl.
Solvers
CONOPT
- Fixed that when CONOPT reported about variables or equations to the listing file, the wrong variable/equation was refered to (the prior variable/equation was mentioned instead).
CPLEX
- Fixed that a wrong CPLEX algorithm was called for final solve of a MIQP with fixed discrete variables.
- Automatically change the optimality target to look only for a locally optimal solution (value 2) of a fixed MIQP solve.
Tools
GAMS Studio
- New version 1.14.5 with some bug fixes:
- Fixed error link from lst to code not working.
- Fixed parameters ignored when no pf-file is assigned to the project.
- Fixed order of parameters: parameter-box can overrule pf-file.
- Fixed parameters were cleared when project settings were opened.
- Fixed pf-file set to
-none-
hasn't been stored. - Fixed project file name contains suffix like ".gms" when automatically created.