24.7 Distribution

# 24.7.1 Major release (March 14, 2016)

## 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, Alex Dowling, Johannes Hedtrich, Austin Milt, and Salvador Pineda.

## GAMS System

### GAMS

• Be more strict when the syntax \$LOAD par=var.L is used: This creates an error now, if par is not a parameter (if par was a variable before, the complete variable var was loaded as if the suffix was omitted)
• GAMS Grid Facility (SolveLink = 3 or 4)
• Fixed a bug for the model attribute objval: This could have been wrong when the objective variable was scaled.
• Fixed a bug for the marginals: These could have been wrong when the objective variable was scaled.
• Solving in parallel threads (SolveLink = 6)
• Allow to solve scaled models (model attribute scaleOpt is set to 1) as well (this generated an execution error before).

## Solvers

### BARON

• New libraries 16.3.4.
• Faster LP interfaces.
• Additional checks on solution reliability of LP and NLP subsolvers.
• New automatic differentiation routines.
• Improved handling of memory-intensive problems.
• Enhanced presolving for continuous and integer programs.
• New primal heuristic for integer programs.
• New facilities for solving constraint (non)linear systems (CNS).

### CBC

• New libraries.

### ConvertD

• The GDX file created with option Jacobian contains now a set ANl that indicates the non-linear Jacobian elements.

### CPLEX

• For an unbounded model Cplex did not mark the unbounded variables correctly. This has been fixed.

### GUROBI

• Gurobi Optimization, Inc. has decided to end the current arrangement that allows us to offer GAMS/Gurobi integrated licenses. GAMS will continue to offer the latest version of Gurobi but users will need to get a Gurobi license from Gurobi Optimization, Inc. plus a GAMS/Gurobi link license from GAMS or use the free OsiGurobi link. This includes evaluation and demo licenses.
For existing GAMS/Gurobi customers the following transition arrangements have been negotiated. The GAMS/Gurobi integrated license will continue to work as long as the license stays under maintenance. Academic GAMS/Gurobi customers will not be able to renew maintenance on their GAMS/Gurobi integrated license, their license will be changed into a GAMS/Gurobi link license. Academic users can get free Gurobi licenses from www.gurobi.com.
In the past, academic GAMS/Gurobi link or GAMS/OsiGurobi licenses did not require a Gurobi license installed. This has changed with this release
• New libraries 6.5.1
• The option PreSOS1BigM and PreSOS2BigM were incorrectly classified as integer options. They have been reclassified as real option.

### IPOPTH

• Fixed a memory access issue in the linear solver HSL MA86 in case of very large models.

### LocalSolver

• New libraries 6.0 (20160308).

### MOSEK

• New libraries 7.1.0.49.

### SBB

• Fixed a problem with option UserHeurCall. This option required that all discrete variables were declared first in the model. This is not necessary anymore.

### SCIP

• New libraries 3.2 (#f69c505).
• The timing mask for parameters constraints/.../presoltiming, presolving/.../timing, and propagating/.../presoltiming changed from 2/4/8 for fast/medium/exhaustive to 4/8/16.
• Parameter constraints/SOS1/updateconflpresol has been renamed to constraints/SOS1/perfimplanalysis.
• Detailed Changelog.

### SOPLEX

• New libraries 2.2 (#12d3858).

## Tools

### GAMS IDE

• Fixed a bug which caused an error when opening the FINLIB (Practical Financial Optimization Models).

### MODEL2TEX

• Fixed a bug regarding negative variables.
• Fixed a bug regarding subscripts of symbol names with underscores.
• Fixed a bug that prevented alternative names from being replaced in Ord constructs.
• New parameter -o (–OUTPUT) that allows to specify an alternative output file.
• Use UTF8 encoding.
• The columns of the symbol table have a fixed (equal) width.
• The original name of a symbol that is changed using the JSON style file is displayed in the symbol table.
• The JSON style file is alphabetically sorted by keys.

## Object Oriented APIs

• Fixed a bug with the property GAMSOptions.Defines (.NET), GAMSOptions.defines (Java), and GamsOptions.defines (Python): When too many entries were added, all of them were ignored.

### Python

• Fixed a memory leak in GamsDatabase.

## Model Libraries

### GAMS Test Library

Solver/Platform availability - 24.7
x86 32bit
MS Windows
x86 64bit
MS Windows
x86 64bit
Linux
x86 64bit
MacOS X
x86 64bit
SOLARIS
Sparc 64bit
SOLARIS
IBM Power 64bit
AIX
ALPHAECP
ANTIGONE 1.1
BARON
BDMLP
BONMIN 1.8
CBC 2.9
CONOPT 3
COUENNE 0.5
CPLEX 12.6
DECIS
DICOPT
GLOMIQO 2.3
GUROBI 6.5
GUSS
IPOPT 3.12
KESTREL
KNITRO 10.0
LGO
LINDO 9.0
LINDOGLOBAL 9.0
LOCALSOLVER 6.0
MILES
MINOS
MOSEK 7
MSNLP
NLPEC
OQNLP 32bit
PATH
SBB
SCIP 3.2
SNOPT
(OSI)SOPLEX 2.2
SULUM 4.3
XA
XPRESS 28.01

# 24.7.2 Minor release (July 07, 2016)

## 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 Peter Alexander, Daniel Balistrieri, Paul Buckland, Denis Hess, Eden Huang, Josef Kallrath, Sherman Robinson, Tom Rutherford, Jhih-Shyang Shih, and Loic Ventre.

## Platforms

• With the next major release, the minimal glibc version requirement for the GAMS distribution on Linux will be increased to 2.7.

## GAMS System

### GAMS

• Improved the performance for assignments from one large symbol to itself inside a loop, when only one element gets changed, e.g.:

loop((j,cty,yrs,sim), ...; par(j,cty,'Total',yrs,sim) = sum(lnd, par(j,cty,lnd,yrs,sim));)

• Fixed a performance issue which caused very long model generation time for large scalar models.

## Solvers

### BARON

• New libraries 16.5.16.
• Added option WantDual to indicate whether BARON should make a final call to an NLP solver to try to compute duals if an inexpensive method of calculating them failed.
• CompIIS option did not print IIS into listing file. This has been fixed.

### CBC

• New libraries.

### CPLEX

• New libraries 12.6.3.0.2.
• A memory leak in Cplex has been fixed that showed up in combination with the OO-API GAMSModelInstance class.
• Fixed a problem with CplexD option FreeGamsModel.
• Fixed a problem with MipStart in combination with SemiInt or SemiCont variables with lower bound 0.

### GUROBI

• New libraries 6.5.2.

### JAMS

• Fix handling of objectives in optimizing agents of equilibrium systems in cases where the objective coefficient was not 1 or -1, and in the equation level returned for the objective row(s).

### LocalSolver

• New libraries 6.0 (20160625).

### Mosek

• New libraries 7.1.0.52.

### OsiMosek

• Fixed handling of gap tolerances and node limit of MIP solves.

### SBB

• Fixed a problem with models that have domain violations in the root NLP.
• Clearly identify text written to the listing file as output from the root solver.

### SCIP

• New libraries 3.2 (#e99d344).

### SoPlex

• New libraries 2.2 (#3c5e86f).

### PATH

• Fixed a problem with bogus report of empty rows/cols when benchmarking a model, i.e. solving with iterlim=0.

### XPRESS

• Maintenance update of Optimizer libraries for Windows, Linux, and Mac to 28.01.14.
• Several minor bug fixes that affect correctness and performance in some uncommon cases.

## Tools

• Increase maximum available memory for GDXVIEWER, MDB2GMS, SQL2GMS, XLS2GMS, GDX2HAR, and HAR2GDX to 3GB.

### CSV2GDX

• Fixed a problem with labels with trailing blanks. Labels with trailing blanks potentially resulted in a broken GDX file.
• Introduced the symbolic constant LastCol for the Values parameter.
• Report duplicate keys.

### GDXXRW

• Fixed a problem with unnecessary memory consumption when writing with option clear or merge.
• Symbols and text were not written in sequence as instructed. This has been fixed.
• Added command line parameter ReCalc that by default prevents frequent recalculations in Excel while writing to the spreadsheet.

## Object Oriented APIs

• Fixed a bug which did not clear a pending Ctrl-C event, so that it might have been applied to a following GAMSModelinstance.Solve by accident.
• Fixed a problem, that caused a crash instead of a GAMSException in some rare cases.

### Python

• Fixed a minor bug regarding the names of GamsJob listing files.

## Model Libraries

• Some URLs in various models have been updated.

# 24.7.3 Maintenance release (July 11, 2016)

## 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 Josef Kallrath, and Toni Lastusilta.

## Tools

### CSV2GDX

• Fixed a bug which caused an error when reading sets from a csv file.

### MODEL2TEX

• Fixed a bug regarding wrongly generated equations in the generated LaTeX file.

# 24.7.4 Minor release (September 19, 2016)

## 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 Manuel Alvarez, Felix Färber, Ricardo Manuel Pinto de Lima, and Tara Rengarajan.

## GAMS System

### GAMS

• Fixed a problem when using extrinsic function libraries using API version 1.
• Extend possible range of n in fact(n) at compile time. It was limited to 20 in the past. Now it can be up to 166 (as in assignments at execution time).

### Installer

• New default group name (GAMS xx.x (xx bit)) for the start menu on Windows 10.

## Solvers

### BARON

• New libraries 16.8.24.
• Small performance improvements and robustification of LP solver interfaces and bugfixes.
• The starting point is now utilized before invoking projection and other initialization strategies.
• The option DeltaTerm is now recognized again.

### Couenne

• New libraries.

### CPLEXD

• The option MipStart accepts now values other than 0 and 1. The value describes the effort level Cplex uses to determine a MipStart from the starting variable levels. The value 2 is interesting because it just checks for feasibility of the MipStart. In this case the level of all variables, not only the discrete ones, are passed on to Cplex.

### DE

• DE crashed if multiple joint variables were present in one stage. This has been fixed.

### Lindo/LindoGlobal

• New libraries 9.0.293.

### Mosek

• New libraries 7.1.0.55.

### SCIP

• New libraries 3.1 (#6b9196f).

### SoPlex

• New libraries 2.2 (#074950a).

## Tools

### CSV2GDX

• Fixed a bug which lead to a rejection of unquoted labels with spaces. This bug was introduced in 24.7.2.

### GDXXRW

• Fixed a bug which caused an error message when reading a sheet with a non-empty range that contained no data.

## Object Oriented APIs

• GAMSModelInstance.Instantiate: Skip creation of GDX file, which was unreachable from within the APIs anyway.

### Python

• Added support for Python 3.4 on Mac OS X.
• Fixed a problems with Exceptions in GamsWorkspace.