GAMS [ Home | Downloads | Documentation | Solvers | APIs | Tools | Model Libraries | Resources | Sales | Support | Contact Us | Search ]

Release Notes

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 24.8

Distribution History

24.8.2 (Maintenance release) January 03, 2017
24.8.1 (Major release) December 21, 2016

GAMS Maintenance Release 24.8.2 - January 03, 2017

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

GAMS System

  • Change for command line parameter MultiPass: If it is set to 2, als errors from $gdxIn are ignored now
  • Fixed a bug which caused wrong results in some assignments which use symbols that were used out-of-order in previous assignments.

Solvers

SCIP

  • Added a workaround that allows for using CPLEX 12.7.0.0 as LP solver in SCIP again. For the moment, the default is still to use SoPlex.

GAMS Major Release 24.8.1 - December 21, 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 Etienne Ayotte-Sauve, Wolfgang Britz, Göran Bylund, Wietse Dol, Katja Jensen, Josef Kallrath, Toni Lastusilta, Renger van Nieuwkoop, and Tom Rutherford.

Platforms

  • On Linux, the minimal required GLIBC version is now 2.7.
  • On MacOS X, for some solvers (ANTIGONE, BARON, CPLEX, COIN-OR, SOPLEX, SCIP) the minimal required Mac OS X version is now 10.10. We will drop support for older Mac OS X versions for the complete GAMS system with the next major release.
  • A generic license (with platform code GEN) is now limited to the platforms Windows, Linux, and Mac OS X. If you have a generic license and need a license for one of the other platforms (e.g. AIX), please contact sales or support to receive an additional license file for that platform free of charge.

GAMS System

GAMS

  • The statements Break and Continue were added to allow more control over the execution of control structures (loop/while/repeat/for):
    • Break [n];: Terminate the n inner most control structures (n is optional, if it is omitted, it is set to 1).
    • Continue;: Jump to the end of the inner most control structure.
  • Extend the report summary of the solution report to print the number of variables and equations where the level was projected to one of the bounds (compare model attribute tolProj), if that number is greater than 0.
  • The model attribute tolProj to project levels to bounds is no longer ignored when the GAMS Grid Facility (SolveLink = 3 or 4) is used.
  • New command line option fileStem: Sets the file stem for output files which use the input file name as stem by default, see fileStem for more details.
  • New option MCPRHoldfx (can be set using the option statement, a command line parameter, or model attribute):
    • Prints list of rows that are perpendicular to variables removed due to the holdfixed setting if set to 1.
  • New option AsyncSolLst (can be set using the option statement, or a command line parameter):
  • New variant for the SolveLink option and model attribute: 7 (compile time constant %solveLink.Threads Simulate%) - The problem is passed to the solver in core without use of temporary files, GAMS waits for the solver to come back but uses same submission process as 6 (see Multi-threading Submission Testing)
  • New function numCores (available at both compile and execution time): Returns the number of logical cores in the system.
  • Allow macro expansion in the domain list of a symbol declaration.
  • New dollar control splitOption that splits a string representing a option/value pair into option name and option value.
  • Fixed a problem with the optional maxWait parameter of the function readyCollect.
  • Fixed potential error in file created by dumpOpt, if there were symbols loaded from GDX.
  • Fixed an error which could lead to wrong results when assigning to a symbol while the symbol's alias was used on the right hand side of the assignment.
  • Fixed an error which could lead to a crash if a phantom set element was used to control an assignment inside a loop.
  • Fixed a problem with the dual solution values for MCP that have been scaled.

Documentation

  • The offline documentation now provides search and keyword indexing functionalities in addition to navigating the documentation.
  • The Microsoft Compiled HTML help file gams.chm is no longer available.
  • The table of contents for browsing the GAMS model libraries is now available offline in HTML format.

Solvers

BARON

  • New libraries 16.12.7.

CPLEX

  • New libraries 12.7.0.0.
  • Support for the platfrom MS Windows 32 bit, Solaris i86pc, and Solaris SPARC 64bit has been dropped by IBM for Cplex 12.7. The GAMS system for these platforms contains Cplex 12.6.3.
  • Cplex 12.7 implements Benders Algorithm. This is available in CplexD only.
  • The IIS option triggers now the conflict refiner. The IIS function in Cplex 12.7 has been replaced by the conflict refiner. The IIS option now also works on infeasible models with model status Infeasible No Solution as well as on problems with discrete variables.
  • New parameters
    • BendersFeasCutTol: Tolerance for whether a feasibility cut has been violated in Benders decomposition
    • BendersOptCutTol: Tolerance for optimality cuts in Benders decomposition
    • BendersStrategy: Benders decomposition algorithm as a strategy
    • DataCheck: Data consistency checking and modeling assistance
    • RLTCuts: Reformulation Linearization Technique (RLT) cuts
  • Modified parameters:
    • MipStart: A value of 6 accepts the (partical) MipStart without any checks

CONOPT

  • This distribution includes the first official release of the CONOPT4 solver. The chapter in the solver manual has an interesting section on when you should use CONOPT4 for all existing CONOPT users.
  • The current solver alias CONOPT still points to the CONOPT3 solver. This might change in the next, or next but one major release. We invite you to share your experience with this new version of CONOPT via support (support@gams.com) with us.

ConvertD

  • Write proper scale and prior information for equations and variables with option Jacobian.

DICOPT

  • An implementation of a Feasibility Pump primal heuristic (for convex MINLP) has been added to DICOPT. This heuristic can be run before the actual DICOPT algorithm. Outer approximation cuts from the MIP subproblem of the Feasibility Pump are transferred to initialize the MIP outer approximation of the main DICOPT algorithm. Option feaspump can be used to enable the Feasibility Pump and various other options are available to tune the feasibility pump.
  • Option convex has been added to indicate the presence of convex MINLP. If this option is set, the defaults for various other options are modified.

GUROBI

JAMS

  • New option ZipDebug=xxx.zip to specify that, in the event of abnormal termination or behavior, a zip file of debugging info be created.
  • New reformulation options to handle shared or duplicated equations and variables in equilibrium models.

Knitro

  • New libraries 10.2.0.
    • Significant speed and robustness improvements when using BFGS (hessopt=2) or L-BFGS (hessopt=6) Hessian approximations with the default Knitro interior-point method.
    • General performance improvement on mixed-integer models.
    • Minor bug fixes.
    • New mixed-integer SQP (MISQP) algorithm for nonlinear mixed-integer models (mip_method=3). This new algorithm is intended for small, potentially non-convex models with possibly expensive function evaluations. It can be used even when integer variables are not relaxable (i.e. functions can only be evaluated with integer variables at integer points) by setting mip_relaxable=0, and can be used with parallel multistart.
    • New option mip_nodealg to control algorithm used at B&B nodes: overrides the generic algorithm option.
  • The Knitro Tuner is now available from the GAMS/Knitro link.

Lindo/LindoGlobal

  • New libraries 10.0.131.
    • LP Solver Improvements:
      • With new enhancements made to the simplex solvers, the average performance on large instances has increased by 35% for the primal simplex and by 20% for the dual simplex compared to the previous version.
    • MIP Solver Improvements:
      • New heuristic algorithms help to find significantly better solutions for many models with knapsack constraints and block structures.
      • New MIP preprocessing level devoted to tightening variable bounds for some nonlinear models.
    • Stochastic Solver Improvements:
      • Improved cut management for Nested Benders Decomposition Method leading to speed improvements over 60% for large linear multistage SP instances.
      • Better handling of multistage SP models which do not have full-recourse.
    • Global Solver Improvements:
      • Incorporates bound tightening process to the linearization procedure and improve solvability of linearized model.

LocalSolver

  • New libraries 6.5 (20160729).
    • For near-linear (discrete or continuous) problems, new moves have been introduced based on linear programming and mixed-integer linear programming techniques. These moves allow to intensify the search on near-linear models by exploring optimally larger neighborhoods.
  • Added possibility for Hierarchical Optimization of Multiple Objective Functions.
  • Removed option origlog. GAMS/LocalSolver will now always print the original LocalSolver log.
  • Fixed level values of aggregated variables in solution.

Mosek

  • New libraries 8.0.0.48 (Mosek release notes)
    • Presolve performance has been improved.
    • The eliminator in the presolve has been reimplemented, is usually faster, and requires much less memory.
    • Presolve has been improved on conic quadratic problems.
    • The numerical stability of conic optimizer has been improved significantly, particularly for semidefinite optimization problems.
    • The scaling routine for the conic optimizer is more aggressive.
    • Quadratic and quadratically constrained problems are now internally converted to conic form and are solved using the conic optimizer. Nevertheless full primal and dual information to the original problems is available.
    • A dualizer for conic quadratic problems is now available. By default it dualize the problems before optimizing if deemed worthwhile. The dualization is transparent to the user and can be turned off.
    • The conic optimizer linear algebra is now parallelized using Cilk Plus and scales better when the number of threads is increased for large problems. Moreover, for smallish problems using too many threads does not hurt performance.
    • The computational efficiency graph partitioning based ordering method in the interior-point optimizer has been improved.
    • It is now possible to force the interior-point optimizer to run in the calling thread.
    • Only one mixed integer optimizer is available now, which corresponds to the mixed integer conic optimizer that was introduced with version 7.
    • The primal network simplex optimizer has been removed. It is suggested to use the dual simplex optimizer instead.
    • The primal-dual simplex optimizer has been removed. It is suggested to use the dual simplex optimizer instead.
    • The concurrent optimizer has been removed. It is suggested to use the interior-point optimizer instead.
    • The following GAMS/Mosek options have been removed:
      • MSK_IPAR_ANA_SOL_BASIS
      • MSK_IPAR_ANA_SOL_PRINT_VIOLATED
      • MSK_IPAR_CONCURRENT_NUM_OPTIMIZERS
      • MSK_IPAR_CONCURRENT_PRIORITY_DUAL_SIMPLEX
      • MSK_IPAR_CONCURRENT_PRIORITY_FREE_SIMPLEX
      • MSK_IPAR_CONCURRENT_PRIORITY_INTPNT
      • MSK_IPAR_CONCURRENT_PRIORITY_PRIMAL_SIMPLEX
      • MSK_DPAR_FEASREPAIR_TOL
      • MSK_IPAR_FEASREPAIR_OPTIMIZE
      • MSK_IPAR_INTPNT_FACTOR_DEBUG_LVL
      • MSK_IPAR_INTPNT_FACTOR_METHOD
      • MSK_IPAR_LOG_CONCURRENT
      • MSK_IPAR_LOG_NONCONVEX
      • MSK_IPAR_LOG_PARAM
      • MSK_IPAR_LOG_SENSITIVITY
      • MSK_IPAR_LOG_SENSITIVITY_OPT
      • MSK_IPAR_MAX_NUM_WARNINGS
      • MSK_IPAR_MIO_CONT_SOL
      • MSK_IPAR_MIO_CUT_CG
      • MSK_IPAR_MIO_CUT_LEVEL_ROOT
      • MSK_IPAR_MIO_CUT_LEVEL_TREE
      • MSK_IPAR_MIO_FEASPUMP_LEVEL
      • MSK_DPAR_MIO_HEURISTIC_TIME
      • MSK_IPAR_MIO_HOTSTART
      • MSK_IPAR_MIO_KEEP_BASIS
      • MSK_IPAR_MIO_LOCAL_BRANCH_NUMBER
      • MSK_DPAR_MIO_MAX_TIME_APRX_OPT
      • MSK_IPAR_MIO_PRESOLVE_AGGREGATE
      • MSK_IPAR_MIO_PRESOLVE_PROBING
      • MSK_IPAR_MIO_PRESOLVE_USE
      • MSK_DPAR_MIO_REL_ADD_CUT_LIMITED
      • MSK_IPAR_MIO_STRONG_BRANCH
      • MSK_DPAR_MIO_TOL_MAX_CUT_FRAC_RHS
      • MSK_DPAR_MIO_TOL_MIN_CUT_FRAC_RHS
      • MSK_DPAR_MIO_TOL_REL_RELAX_INT
      • MSK_DPAR_MIO_TOL_X
      • MSK_IPAR_MIO_USE_MULTITHREADED_OPTIMIZER
      • MSK_IPAR_NONCONVEX_MAX_ITERATIONS
      • MSK_DPAR_NONCONVEX_TOL_FEAS
      • MSK_DPAR_NONCONVEX_TOL_OPT
      • MSK_IPAR_PRESOLVE_ELIM_FILL (use MSK_IPAR_PRESOLVE_ELIMINATOR_MAX_FILL instead)
      • MSK_IPAR_PRESOLVE_ELIMINATOR_USE
      • MSK_IPAR_PRIMAL_REPAIR_OPTIMIZER
      • MSK_IPAR_QO_SEPARABLE_REFORMULATION
      • MSK_IPAR_WARNING_LEVEL
      • MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_CONIC_ITEMS (use MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_ITEMS instead)
      • MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_NL_ITEMS (use MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_ITEMS instead)
      • MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_PSD_ITEMS (use MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_ITEMS instead)
    • The following GAMS/Mosek options have been added:
    • For the following options, the default value has changed:
  • Fixed selection of optimizer for "fixed solve" of a mixed-integer conic problem.

Pyomo

  • Fixed compatibility issues with different versions of Pyomo.

SCIP

  • New libraries 3.2 (#0d4fc08).
  • Changed the default LP solver to SoPlex also for the case where a CPLEX license is available, due to problems when using CPLEX 12.7.0.0 as LP solver in SCIP.

SoPlex

  • The GAMS/SoPlex interface has been rewritten and does not use the OsiSpx layer anymore. The solver OSISOPLEX is now an alias for the solver SoPlex.
  • SoPlex parameter files can now be used.
  • SoPlex can now be warmstarted when only the model instance data changes (e.g., via GUSS).
  • New libraries 2.2 (df190de).

Tools

CSV2GDX

  • Improved error reporting.

GDXDUMP

  • New command line option CSVAllFields to get all fields (level, marginal, lower, upper, and scale) when writing a variable or equation symbol in CSV format.

MODEL2TEX

  • Increased the page width of the txt file generated by the GAMS command line option docfile to 32767 (max. value).
  • Changed the default encoding to latin and added a new command line parameter that allows to change the encoding (-e=ENCODING)
  • Changed the default format of the symbol tables.
  • The JSON style file contains a new property called columnSetting that allows to adjust the columns.
  • Avoid some unnecessary parentheses in sum and product operators.
  • Minor change in the equations section that removes several warnings.
  • Several minor bug fixes.

GDXXRW

  • Fixed a problem when writing a symbol with option merge or clear to a range with CDim=0 or RDim=0.

GMSZIP/GMSUNZIP

  • New versions of Info-ZIP's tools zip (version 3.1c02) and unzip (version 6.00). The executable names have been prefixed with "gms" for clear identification.

Object Oriented APIs

  • New option GAMSOptions.ErrorLog: Maximal number of error message lines written to the log for each error.

.NET

  • New examples that demonstrate the use of the API in a graphical environment: TransportGUI, CutstockGUI, FarmGUI.
  • Distribute compiled GUI examples in directory <GAMSDir>\apifiles\GUIexamples on Windows.
  • GAMSWorkspace.AddJobFromFile: Throw an exception if a given file does not exist.

Python

  • The option GamsOptions._errorlog has been renamed to GamsOptions.errorlog in order to indicate it as public.

Model Libraries

GAMS API Library

GAMS Model Library

GAMS Test Library