Major releases contain substantial changes to the GAMS system. The License Check date is set to the release date of the major release.
Minor releases are mainly issued to provide bug fixes, performance improvements, and maintenance releases of solver libraries. Additionally, they can provide a few new features that do not change existing behavior. The License Check Date remains the same as for the prior major release. This means that any license file that worked with the prior major release will also work with this minor release.
Maintenance releases do not provide any new features. They are issued to provide bug fixes, performance improvements, and maintenance releases of solver libraries. The License Check Date remains the same as for the prior major release. This means that any license file that worked with the prior major release will also work with this maintenance release.
GAMS Distribution 23.8
|23.8.2||(Maintenance release)||April 05, 2012|
|23.8.1||(Major release)||March 17, 2012|
GAMS Maintenance Release 23.8.2 - April 05, 2012
- Bugfix for models with
=X=rows and MCP (i.e. MPSGE)
- GloMIQO resets
OptCR=0properly to 1e-9 and accepts now Ctrl-C on Windows
- Knitro handles MINLP failures better
- XPRESS handles
=E=quadratic constraints better now
- Changed position of Library Form in GAMSIDE (avoid hang in corner to corner screen setup)
Trnsxclladded to GAMS Data Library
ps5_s_mnadded to GAMS Model Library
GAMS Major Release 23.8.1 - March 17, 2012
Table of Contents
We would like to thank all of our users who have reported problems and made suggestions for improving this release. In particular, we thank Alessandro Brozzi, Jan Philipp Dietrich, Michael Ferris, Christophe Gouel, Josef Kallrath, Cheng Khor, Brage Knudsen, Jeff Larson, Yanchao Liu, Alexander Mitos, Renger van Nieuwkoop, Stefan Vigerske.
- Beta GAMS/Wine system (32bit). Comments are highly appreciated (email@example.com).
- Improved Windows Installer
- the default location has changed to C:\GAMS\(win32|win64)\23.8 to avoid problems produced by the permission settings of the Program Files location
- Two different setup modes. A simple default mode and an advanced mode with additional options like automatic PATH manipulation
- Support for detecting and installing a license from the clipboard
- Major improvements, lost compatibility to previous versions!
- Mixed casing of function names
- old: gdxdatawritestr
- new: gdxDataWriteStr
- Object handle (pointer) no longer needed
- old: int gdxdatawritestr(IntPtr pgdx,string keystr,double values)
- new: int gdxDataWriteStr(string KeyStr,double Values)
- Create calls replaced by different constructors
- old: gdx = new gdxcs(); gdx.gdxCreateD(ref PGX, Sysdir, ref Msg);
- new: gdx = new gdxcs(Sysdir, ref Msg);
- See examples in <GAMS Dir>\apifiles\CSharp for reference
- Add source code to build C extensions (no need to run SWIG anymore)
- Add compiled C extension on Linux and Windows (both 32 and 64 Bit)
- Support for 64 Bit version (VBA 7)
- Flexible model list
Model definitions containing complementary equ.var pairs can now be used with all model types. The matching information is only used with the appropriate model types (e.g. MCP, MPEC, RMPEC).
- Model list edits
In addition to the ',' which enforces uniqueness of equation entries, two additional model list element separators have been introduced. The '+' separator allows replacement of existing entries. The '-' separator deletes model list entries. All three of these operations can be used with single equation names, equ.var pairs and previously defined model names.
$eolcom ! equation e1,e2,e3,e4,e5; variable x1,x2; e5.. x1 =l= 0; e4.. x1 =l= 0; model m1 / e1,e2 / m2 / e3,e4 / m3 / m2,m1,e5 / ! e3,e4,e1,e2,e5 m4 / all-m1+e1+e1 / ! e3,e4,e5,e1 m5 / all + e5.x1 + e4.x2 -e1/ ! e2,e3,e5.x1,e4.x2 m6 / m5 -e5, e5.x2 / ! e2,e3,e4.x2,e5.x2 m7 / m5 + e5.x2 / ! same as m6
Note that the equation list is ordered left to right. If we have a '+' separator adding an equation already in the list, the equation (possibly modified) will move to the end of the list.
- Functions can have up to 10 arguments. This effects the intrinsic functions
polyand extrinsic function libraries.
In this release we made a first cut at supporting stochastic programming in GAMS. With a few changes uncertainty can be added to an existing deterministic model. For this, the EMP framework is used to replace parameters in the model by random variables. This way (stagewise-independent) multi-stage recourse problems and chance constraint models can be formulated. Three solvers can be selected to solve those problems: DE, DECIS and LINDO.
Further information can be found in the document Stochastic Programming (SP) with EMP
In addition, you can check examples of type
SP from the GAMS EMP Library.
- mps2gms MPS input file allows LI (lower integer) bound types and treats tabs as spaces.
- By default GAMS does not call an exit script anymore. If this is required, the GAMS parameter
ScriptExithas to be set explicitly to the script that should be called after GAMS terminates. An empty template of an exit script can be found in the GAMS system directory (
- New libraries 2.09.01
- Support of =N= rows
- New libraries Baron 10.1
- Main developments
- Minos and Snopt are no longer available as LP subsolvers
- Clp can be used as the LP subsolver (
lpsol = 8)
- Ipopt with Mumps and Metis can be used as the NLP subsolver (
nlpsol = 9)
- BARON automatically selects Clp and Ipopt if the selected/default subsolver is not licensed
- Improved interface to Xpress-LP
- Introduced cutting planes for convexity exploitation for a variety of functions, including products and ratios, perspectives, norms (including absolute functions) and seminorms, and quadratic functions that are automatically recognized and exploited
- Polyhedral convexification routines have been rewritten and are now more efficient and numerically robust, as well as performing a number of simplifying transformations that reduce relaxation gaps
- Introduced relaxations based on inferred bilinear relationships (certain types of first-order RLT)
- calls solvers to benchmark in parallel using GAMS' grid functionality
- OSIXpress supported on Solaris/Intel
- Dropped support of GLPK (alias OsiGlpk, alias CoinGlpk)
- New libraries:
- Bonmin 1.5
- Cbc 2.7
- improvements in heuristics and cut generation
- Clp 1.14
- Couenne 0.4 (for details see the Couenne release notes)
- feasibility pump heuristic for MINLP (can use SCIP as MIP solver)
- fixed point bound tightening and two-implied bound tightening
- introduction of semi-auxiliaries for smaller LP relaxations
- Ipopt 3.10
- OS 2.4
- now supports semicontinuous and semiinteger variables
- Osi 0.105
- Cbc, Bonmin, and Couenne support
- Convert supports writing Optimization Services instance Language (OSiL)
- New libraries 3.15C
- new libraries 12.4
dettilim: option to limit 'ticks'
GAMS/DEaccepts EMP models that have been annotated with information about uncertainty. The DE 'solver' reformulates the stochastic model into the extensive form equivalent with implicit non-anticipativity constraints. The reformulated model is solved with any of the regular GAMS solvers. All optimization model types (LP, MIP, QCP, MIQCP, NLP, DNLP, and MINLP) are accepted.
GAMS/DECISaccepts 2 stage EMP stochastic models. The stochastic information is processed and is passed to the well known
GAMS/DECISMsolver. The need to provide the stochastic information based on the matrix elements is now unnecessary.
GAMS/DECISM, accepts linear recourse models only (although the stochastic effects might be more complex).
- If the model given to DICOPT is linear, DICOPT just passes this model to the MIP solver. Previously, the MIP solver used parameters OptCR, OptCA, and ResLim as specified by GAMS options even if DICOPT used an option file. Now OptCR, OptCA, and ResLim from a DICOPT option file will overwrite the GAMS parameters.
The new Global Mixed-Integer Quadratic Optimizer, GloMIQO (GLO-me-ko), solves Quadratically Constrained Programs (QCP) and Mixed-Integer Quadratically Constrained Programs (MIQCP) to epsilon-global optimality.
- GloMIQO has been developed by Prof. C. Floudas and R. Misener from Princeton University
- The GloMIQO solver is available for the 32-bit and 64-bit versions of Windows and Linux
- GloMIQO requires the presence of a GAMS/CPLEX and GAMS/SNOPT license
- New library Gurobi 4.6.1
- New sifting option for linear programs: LP models can now be solved with a sifting algorithm. Gurobi will choose sifting automatically when using the dual simplex algorithm for models that are likely to benefit (those with many more columns than rows). If you want to invoke sifting manually, choose dual simplex and set the new
Siftingparameter to a value greater than 0.
- Branch priorities: You can now specify priorities for branching variables, allowing greater user control of the MIP search process. Priorities can be specified through the .prior variable attribute and the .prioropt model attribute.
- New Zero Objective heuristic: Gurobi 4.6 contains a new Zero Objective heuristic that can be useful for finding solutions to MIP models where other strategies fail to find feasible solutions in a reasonable amount of time. Use the new
ZeroObjNodesparameter to control this new heuristic.
- New presolve sparsify option: A new presolve sparsify algorithm is available for MIP models. This method attempts to reduce the number of non-zero coefficients in the constraint matrix. Reductions of 3X or more have been observed on some models, often leading to significant performance improvements. Use the new
PreSparsifyparameter to enable this algorithm.
- Added option
NoMatchLimit(default 0) that controls the maximum number of accepted unmatched scenario records before terminating the solve.
- The Serial Graph Partitioning and Fill-reducing Matrix Ordering software METIS can now be used by some of Ipopt's linear solvers.
- Starting with 23.8 GAMS offers a commercially supported version of GAMS/IPOPT. This version of GAMS/IPOPT includes the commercial strength linear solvers MA27, MA57, and MA86 from the Harwell Subroutine Library.
- Support Xpress and SCIP when reformulating disjunctions with indicators
- New libraries Knitro 8.0
- Introduction of a presolver to simplify and reduce the size of the model
- Introduction of parallel (multi-threaded) execution
- Multi-algorithm method
- New mode to run multiple algorithms, serially or in parallel
- Uses the first or (optionally) the best solution found
- New feasibility-only mode: improves robustness and efficiency of detecting infeasible models
- Knitro 8.0 discontinues support for 32-bit Darwin systems - only 64-bit systems are supported on the Mac.
New solver Lindo, similar to LindoGlobal, but
- Without size limitations
- No requirement for additional Conopt license
GAMS/LINDOaccepts stochastic EMP models and solves either the extensive form equivalent or uses Benders' decomposition to solve the stochastic model. In addition to discrete random variables, Lindo features also continuous distribution functions and various sampling techniques. All optimization model types (LP, MIP, QCP, MIQCP, NLP, DNLP, and MINLP) are accepted.
- New libraries Lindo 7.0
- Significant improvements in root node heuristics for quickly finding good integer feasible solutions
- Improved identification of special structures, as in multi-period models, and the ability to exploit these structures to achieve significant reductions in solve times
- Global Solver
- Improved heuristics for finding a good feasible solution quickly
- Improved ability to identify constraints that can reformulated as second order cone (SOC) constraints and thus be solved by the fast SOC solver
- Improved ability for efficiently handling polynomial terms
- Improved bounds for non-convex quadratic terms, using SDP and eigenvalue reformulations
- Improved control over multi-start algorithm
- New libraries Mosek 6 rev 135
- New libraries SCIP 2.1.1 (for details see the SCIP release notes)
- Beta-version of supporting (mixed-integer) nonlinear programs (also nonconvex)
- Supports indicators for linear constraints through option
- Added option
gams/dumpsolutionsto write all solutions found into gdx solution pool
- bug fix for log of LP models
- New libraries SoPlex 1.6.0 (for details see the SoPlex release notes)
- New libraries XA 17 on Windows
- Introduction of native 64-bit Windows support
- New libraries 22.01.15 (maintenance release)
- MIP solution pool capability - allows a number of feasible solutions to be stored for later processing. By default the global search is not altered, but there is an option to enumerate all or selected integer feasible solutions. The enumeration can be tailored via the option file to execute a number of different strategies, e.g.:
- all integer feasible solutions
- N-best solutions
- as-good-as-X solutions (all solutions with objective at least as good as X)
- N-first solutions (first N solutions found)
- Support for continuous models with quadratic constraints (previously only quadratic objectives were supported) and for all mixed-integer quadratic (MIQCP) models
- Support for indicator constraints
- New option
isGoodEnough=Ximplemented in the link. If set, the global search will stop once an integer feasible point is found with an objective at least this good. Surprisingly, none of the MIP solver vendors implement such an option directly in their libraries.
Amongst others, the following topics were revised in both, the GAMS Users Guide and the Bruce McCarl's Expanded GAMS Guide
- Command Line Parameters
- Dollar Control Options
- Model Attributes
- GAMS Intrinsic and Extrinsic Functions
gdxmrwplotting01 (81): Placeholder for the GDXMRW examples that deal with plotting in Matlab
makeql (82): Create Querry Library routines for extrinsic functions
two3emp (68): EMP Formulation of Simple 2 x 2 x 2 General Equilibrium Model
airsp3 (69): Aircraft allocation - stochastic optimization
apl1psp (70): Stochastic Electric Power Expansion Planning Problem
apl1pcasp (71): Stochastic Electric Power Expansion Planning Problem
clearlaksp (72): Scenario Reduction: ClearLake exercise
farmsp (73): The Farmer's Problem - Stochastic
kilosafarm (74): Kilosa farm problem
landssp (75): Optimal Investment
nbContIndep (76): Newsboy problem, continuous and independent distribution
nbContJoint (77): Newsboy problem, continuous and joint distribution
nbDiscIndep (78): Newsboy problem, discrete and independent distribution
nbDiscJoint (79): Newsboy problem, discrete and joint distribution
portfolio (80): Stochastic portfolio model
prodsp3 (81): Stochastic Programming Example
simpleChance (82): Simple chance constraint model
sp3x2 (83): Simple stochastic model
tr20 (84): Extended transport model with stochastic demand and costs
nbsimple (85): Simple newsboy problem, discrete
airlift (86): Airlift operations schedule
stocfor3 (87): Long Range Forest Planning
circlesp (88): Circle Enclosing Points - Stochastic Example
batchsp (89): Design of batch chemical plants with stochastic demand and price
cargonet (90): Cargo network scheduling with stochastic transportation demand
gen2s (91): Two stage stochastic program in the generic form
sku1sp (92): Multi-product assemble model with discrete and Poisson demand distribution
cubesoln (371): Three-dimensional Noughts and Crosses Multiple Solutions
sipres (372): Global optimization of semi-infinite programs via restriction of the right-hand side
cclinpts (373): Finding Optimal Breakpoints when linearizing a power utility function
ptsp (374): Traveling Salesman Problem Instance solved with explicit Permutation Enumeration
pmelody (375): Choose notes for melodic lines and chords with permutations
flowshop (376): Flow shop scheduling
nlcode6 (534): Test for NL code bug from Dist 23.6
scensol3 (535): NoMatchLimit GUSS Test
gzip01 (536): Test gzipped input files
sl4qcp01 (537): Test of correctness for levels & marginals of QCP, with solvelink=1,2,4,5
sl4qcp02 (538): Test modsolstat & solution correctness - multiple QCons, with solvelink=1,2,4,5
sl4qcp03 (539): Test case for cancellation in quadratic terms, with solvelink=1,2,4,5
miqcp01 (540): Test of correctness for levels & marginals of MIQCP
indic01 (541): Test of =g= indicator constraints
indic02 (542): Test of =e= indicator constraints
kestrel1 (543): Kestrel test for lp solvers
kestrel2 (544): Kestrel test for mcp solvers
kestrel3 (545): Kestrel test for nlp solvers
kestrel4 (546): Kestrel test for minlp solvers
indic03 (547): Test of =e= indicator constraints
xpress03 (548): XPRESS test suite - solution pool example
mip05 (549): Maximum queens chess problem
xpress04 (550): XPRESS test suite - solution enumerator example
circlen (551): Circle Enclosing Points n dimensional
trilib04 (552): Demonstrates problems with a stateful function library
mip06 (553): Cuts and solution enumeration
xpress05 (554): XPRESS test suite - solution enumerator example
qcp09 (555): Simplest test for QCP correctness
perm1 (556): Test for various permutations
ctrlcmip (557): Test interrupt handling
|Solver/Platform availability - 23.8 March 17, 2012|