23.1 Distribution

23.1.1 Major release (July 13, 2009)

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 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.

New Platform

(64-Bit) Intel Mac

GAMS System

GAMS

Default Upper Bound on Integer Variables

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=2 with 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.

Setting 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.

Default Iteration Limit

The default iteration limit (IterLim) has been increased from 10000 to 2e9. Setting IterLim to 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.

Enhanced Profiling Options

In addition to PROFILE=n and 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.

Macros

Added a line continuation character (\) for macro definitions. See test model macro02.

Other

  • Faster reading of data statements that are not sorted
  • Reduced memory usage for projections
  • GDX handles IEEE special values

GAMS Data Utilities

GDXDIFF
  • Added FldOnly and DiffOnly parameters to write different formats
  • Protection against overwriting an input file
GDXVIEWER
  • Fixed problem with cubed view
GDXXRW
  • 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

SCENRED2

  • A libinclude file runscenred2 has been added to make the communication with Scenred2 simpler. See example srpchase.

GAMS IDE

  • 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

Documentation

  • Updated McCarl GAMS User's Guide

Solvers

AlphaECP

  • New libraries 1.75.03

Coin-OR

  • 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

EMP

Disjunctive programs can be solved via the following alternative automated reformulations without changes to the model

  • Convex Hull
  • BigM
  • CPLEX indicators

Examples

  • EMP Library sequence (20): Sequencing on a single machine
  • Model Library bilinear (346): Convexification of bilinear term binary times x

GUROBI

New libraries 1.1

KNITRO

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.

MOSEK

New libraries 5.0 rev 127

In-core communication solver links

  • 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.

Model Libraries

GAMS Data Library

  • 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)

GAMS EMP Library

GAMS Model Library

GAMS Test Library

Solver/Platform Availability Matrix

Solver/Platform availability - 23.1    July 13, 2009
  x86
MS Windows
x86_64
MS Windows
x86
Linux
x86_64
Linux
Sun Sparc
SOLARIS
Sun Sparc64
SOLARIS
Sun Intel
SOLARIS
IBM RS-6000
AIX 4.3
Mac PowerPC
Darwin
Mac Intel32
Darwin
Mac x86_64
Darwin
HP 9000
HP-UX 111
SGI
IRIX2
DEC Alpha
Digital Unix 4.03
ALPHAECP X X X X X X X X X X       X
BARON 8.1 X 32bit X 32bit       X            
BDMLP X X X X X X X X X X X X X X
COIN X X X X     X   X X X      
CONOPT 3 X X X X X X X X X X X X X X
CPLEX 11.2 X X X X X X X X   X   10.0 9.1 8.1
DECIS X X X X X 32bit   X       X X X
DICOPT X X X X X X X X X X X X X X
GUROBI 1.1 X X X X                    
KNITRO 6.0 X X X X 5.2 32bit     5.1 X        
LINDOGLOBAL 5.0 X X X X X X     X X        
LGO X X X X X X X   X X X X X X
MILES X X X X X X X X X X X X X X
MINOS X X X X X X X X X X X X X X
MOSEK 5 X X X X X X X   X X   3.2    
MPSGE X X X X X X X X X X X X X X
MSNLP X X X X X 32bit     X X X X    
NLPEC X X X X X X X X X X X X X X
OQNLP X 32bit X 32bit                    
OSL V3 X 32bit X 32bit X 32bit   X       V2 V2  
OSLSE X 32bit X 32bit X 32bit   X            
PATH X X X X X X X X X X X X X X
SBB X X X X X X X X X X X X X X
SNOPT X X X X X X X X X X X X X X
XA X 32bit X X X 32bit   X       X   X
XPRESS 19.00 X 32bit X 32bit X 32bit   18.00       16.10    
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.

23.1.2 Maintenance release (July 23, 2009)

  • MPSGE: MPSGE ignored the m.workspace and m.workfactor settings
  • GAMSCHK: Fixed a problem with the layout of the reports in some models