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.1
|23.1.2||(Maintenance release)||July 23, 2009|
|23.1.1||(Major release)||July 13, 2009|
GAMS Maintenance Release 23.1.2 - July 23, 2009
- MPSGE: MPSGE ignored the
- GAMSCHK: Fixed a problem with the layout of the reports in some models
GAMS Major Release 23.1.1 - July 13, 2009
We would like to thank all of our users who have reported problems and made suggestions for improving this release. In particular, we thank Anibal Blanco, Wietse Dol, Arne Drud, Josef Kallrath, Erwin Kalvelagen, Niclas Mattsson, Bruce McCarl, Dominique van der Mensbrugghe, Renger van Nieuwkoop, Stefan Vigerske, and Tongxin Zheng.
(64-Bit) Intel Mac
The default upper bound on integer variables has changed from 100 to +INF. Since some solve steps in a GAMS applications may inadvertently depend on the previous default value of 100, a the compatibility option, the GAMS parameter
PF4=n, has been introduced to control what values will be passed to the solver. If the GAMS parameter
PF4 is not used (a value of
PF4=1 is assumed) the solve steps will work as in previous releases.
Pf4=0: The new default upper bound of +INF will be passed to the solver.
Pf4=1: The value of 100 instead of +INF will be passed to the solver. The solvers will operate as with older GAMS versions. In addition messages will be written to the log and listing to report on the number of integer or semi-integer variables which had the new default bound of +INF reset to 100.
PF4=2: The new default values of +INF will be used as with
PF4=0. When a solution is returned to GAMS and the level value of an integer variable exceeds the old bound value of 100, a message will be written to the log and listing.
PF4=3: The same as
PF4=2with an additional execution error issued if the solution reports a level value greater than 100 for any integer variable with a default bound of +INF.
PF4 values to 2 and 3 is a convenient way to test if the application relies on the previous default bounds of 100. Future releases may use
PF4=0 as the default.
An historic note: when GAMS was first introduced, some MIP solvers could only handle binary variable and GAMS applied transformations to simulate integers by using a power expansions. In addition, MIP solvers with integer variables imposed different restrictions on the largest upper bound value. Finally, solvers like DICOPT introduced integer cuts during the solution process, needing some finite upper bound on integer variables. What was once a good choice, turned over time into a source of confusion or resulted in unexpected model behavior.
The default iteration limit (
IterLim) has been increased from 10000 to 2e9. Setting
INF will not work since it is treated as an integer by GAMS and many solvers. Some solver, e.g. GAMS/Gurobi, recognize 2e9 and set the solver iteration limit to infinity.
In addition to
PROFILETOL=r, a new GAMS parameter
PROFILEFILE=file has been introduced to write profiling information to a text file with some fixed format which can easily be imported into a spreadsheet for further analysis.
1 -1 0.000 ExecInit 139 15 0.000 Assignment cnf 139 13 0.000 Assignment cnf . . . . . . . . . . . . 3549 432 0.000 Equation nbal 3621 39489 0.032 Solve Fini wsisn 3621 -1 0.062 GAMS Fini 1 -1 0.000 ExecInit 3621 -1 0.047 Solve Read wsisn 3621 -1 0.000 GAMS Fini
A summary report of the ten slowest execution steps will be written to the log and listing.
--- Profile Summary (184 records processed) 0.062 3621 GAMS Fini 0.047 3621 Solve Read wsisn 0.046 3529 Equation divcnlsea (86) 0.032 3621 Solve Fini wsisn (39489) 0.016 3274 Assignment wnr (2502) 0.016 3447 Equation cost (15) 0.016 3475 Equation laborc (180) 0.016 3519 Equation waterbaln (180) 0.016 3546 Equation subirrc (84) 0.015 3030 Assignment gwtsa (273)
The timing on slow data definitions and gdx loads during compilation will be profiled as well.
Added a line continuation character (
\) for macro definitions. See test model
- Faster reading of data statements that are not sorted
- Reduced memory usage for projections
- GDX handles IEEE special values
- Added FldOnly and DiffOnly parameters to write different formats
- Protection against overwriting an input file
- Fixed problem with cubed view
- Added RWAIT parameter to specify a delay to open Excel to avoid not ready problems
- Added CheckDate option to regenerate output only if input is more recent than output file
- A libinclude file runscenred2 has been added to make the communication with Scenred2 simpler. See example
- Changed the interface for dealing with tabs
- Tabs expanded to spaces will mark the file as modified
- Added command to select text from current position to a text marker
- Added checks to see if IDE is visible on the monitor
- Move and Size are available on TaskBar icon
- Updated McCarl GAMS User's Guide
- New libraries 1.75.03
- New solver CoinCouenne
- CoinCouenne is a global optimization solver for non-convex mixed integer non-linear programs, similar to the commercial solvers BARON and LindoGlobal. The solver is still in an experimental phase and is hidden in the GAMS system.
- New libraries
- Cbc 2.3
- Glpk 4.37
- Ipopt 3.6
- Scip now uses Clp 1.10
Disjunctive programs can be solved via the following alternative automated reformulations without changes to the model
- Convex Hull
- CPLEX indicators
New libraries 1.1
New libraries 6.0
- Introduces MINLP capability: binary and integer variables are supported. Two algorithms are available, a non-linear branch and bound method and an implementation of the hybrid Quesada-Grossman method for convex MINLP. The Knitro MINLP code is designed for convex mixed integer programming and is a heuristic for nonconvex problems.
- General performance improvements for both the active-set and interior-point/barrier solvers
- Reorganized options into groups: general, barrier and MINLP.
New libraries 5.0 rev 127
- Support of COINBONMIND, COINCBCD, COINIPOPTD and LGOD as in-core communication solvers.
Where a traditional link already exists, the newer in-core link version has a "D" appended to the name (D for DLL). These in-core links are very similar to their traditional predecessors. They may lack some functionality but offer in-core communication between GAMS and the solver, making potentially large model scratch files unnecessary. This can save time if you solve many models in your GAMS program.
Portfolio (68): Determines an efficient frontier in Excel, using the GDX DLL (vba API) and the GAMS executable
Sudoku (69): Solve a Sudoku in Excel, using the GDX DLL (vba API) and the GAMS executable
Samurai (70): Solve a Samurai Sudoku in Excel, using the GDX DLL (vba API) and the GAMS executable
Samurai2 (71): Solve a Samurai Sudoku in Excel, using the GDX and GAMSX DLL (vba API)
CHP (72): Optimize combined heat and power generation in Excel, using vba API (gamsx and opt) and GDXXRW
CHP2 (73): Optimize combined heat and power generation in Excel, using vba API (gamsx, opt and gdx)
minos01 (433): MINOS test suite - anti-cycling via expand frequency
scnred02 (434): Scenred2 test - tree reduction and zero values
empvi05 (435): Test for EMP's treatment of an odd variable
nlcode3 (436): Wrong NL code generation for odd case
set8 (437): Test the set.id set#id #id data macros
nlcode4 (438): More NL testing when code is deleted
compile7 (439): Test and document some system.XXX macros
mcp09 (440): Test inequalities with infinite bounds
empadj01 (441): Test for EMPs AdjustEqu/NYslp option
emp05 (442): Test for handling of constant equations
examin03 (443): EXAMINER test suite - test returnInitPoint option
compile8 (444): Test for a mapping error
sl4mip01 (445): Test for known XPRESS bug, with solvelink=1,2,4,5
macro02 (446): Multi-line macro test
put10 (447): $on/offput inserted outside the loop
set9 (448): fast shifting of set elements
|Solver/Platform availability - 23.1 July 13, 2009|
Digital Unix 4.03
|1)GAMS distribution for HP 9000/HP-UX is 22.1.|
|2)GAMS distribution for SGI IRIX is 22.3.|
|3)GAMS distribution for DEC Alpha is 22.7.|