28 Distribution
Table of Contents
28.1.0 Major release (August 02, 2019)
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 Johan Löfberg, Hans Mittelmann, and José Luis Vilar Zanón.
Platforms
- We plan to drop support for macOS 10.12 (Sierra) with the next GAMS major release.
GAMS System
GAMS
- Added new dollar control option $scratchFileName.
- Fixed a bug which caused a problem when unloading a multi-dimensional Alias at compile-time.
Documentation
- Improved ranking of results in offline search by minimizing the effect of the length of a document on the importance of a search term in that document.
- When searching the index, only relevant results are shown for subcategories as well.
- The full-text search now shows also results for a search in the index.
Solvers
ANTIGONE, Bonmin, Couenne, Ipopt, SCIP
- Downgraded Intel MKL libraries to version 2018.3 on Windows 64-bit.
ANTIGONE
- The timelimit is now applied to the wallclock time and wallclock time is reported in the log and back to GAMS.
BARON
- New libraries 19.7.13.
- New relaxations and branching rules for nonconvex mixed-integer quadratic programs, leading to significant speedups for this class of problems.
- Increased robustness in various range reduction routines.
- Increased solvability of large-scale problems by BARON's cut generators.
- Enhanced convexity recognition routines.
- Updated to IPOPT 3.12.13 and CBC 2.10.1.
- Fixed passing constant equations to BARON.
CBC
- Revised solver options.
- Updated the documentation and possible values for many options, bringing them closer to the original Cbc option names and values.
- The following options changed their type from boolean to string: crossover, cutoffConstraint, combineSolutions, Dins, DivingRandom, DivingCoefficient, DivingFractional, DivingGuided, DivingLineSearch, DivingPseudoCost, DivingVectorLength, feaspump, naiveHeuristics, pivotAndFix, randomizedRounding, Rens, Rins, roundingHeuristic, proximitySearch, presolve
- For options dualPivot, primalPivot, and scaling value "auto" has been renamed to "automatic".
- For option costStrategy, values "binaryfirst" and "binarylast" have been renamed to "01first" and "01last", respectively.
- The following options have been added: factorization, denseThreshold, smallFactorization, sparseFactor, biasLU, psi, substitution, primalWeight, autoScale, bscale, gamma, KKT, expensiveStrong, OrbitalBranching, infeasibilityWeight, fixOnDj, sosPrioritize, cutLength, lagomoryCuts, latwomirCuts, hOptions, combine2Solutions, diveSolves, feaspump_artcost, feaspump_fracbab, feaspump_cutoff, feaspump_increment, dwHeuristic, pivotAndComplement, VndVariableNeighborhoodSearch
CONOPT
- CONOPT3 accepts models with empty rows. The GAMS/CONOPT3 link sets the hidden option
LSAZRW
to true.
Convert
- Replaced the OSiL writer. The new writer supports more GAMS intrinsic functions and produces slightly smaller OSiL files with more compact expression trees.
IPOPT
- Fixed handling of Ipopt's feasible-point-found status.
LocalSolver
- Added option
logfreq
.
MOSEK
- New libraries 9.0.98.
- Introduced the power and exponential cones, see also Conic Programming.
- As announced, the optimizer for general convex nonlinear problems has been removed. Thus, solving a NLP, DNLP, MINLP, or RMINLP for which a conic reformulation is not recognized will now result in a missing capability solver status with GAMS/Mosek.
- Improved presolve for particular conic problems.
- Tighten the stopping criteria when solving conic optimization problems: Changed default of MSK_DPAR_INTPNT_CO_TOL_INFEAS from 1e-10 to 1e-12, of MSK_DPAR_INTPNT_CO_TOL_REL_GAP from 1e-7 to 1e-8, and of MSK_DPAR_INTPNT_QO_TOL_INFEAS from 1e-10 to 1e-12. However, note that one can let Mosek relax feasibility and optimality tolerances if it cannot make sufficient progress, see MSK_DPAR_INTPNT_CO_TOL_NEAR_REL and MSK_DPAR_INTPNT_QO_TOL_NEAR_REL.
- Changed scaling of interior-point optimizer so better accuracy is obtained in some cases.
- Introduced an outer approximation method for solving conic mixed integer optimization problems. This can be enabled with the parameter MSK_IPAR_MIO_CONIC_OUTER_APPROXIMATION.
- Much improved performance on recent AMD CPUs. For linear algebra, the BLIS library is employed when run on AMD CPUs.
- Better performance on CPUs that support AVX-512 instructions.
- Removed parameters: MSK_DPAR_DATA_TOL_AIJ, MSK_DPAR_INTPNT_NL_*, MSK_DPAR_MIO_DISABLE_TERM_TIME, MSK_DPAR_MIO_NEAR_TOL_ABS_GAP, MSK_DPAR_MIO_NEAR_TOL_REL_GAP, MSK_IPAR_MIO_CONSTRUCT_SOL and synonym "mipstart" (GAMS now always passes the starting point of a MIP to Mosek), MSK_IPAR_OPF_MAX_TERMS_PER_LINE, MSK_IPAR_WRITE_DATA_FORMAT
- Further new parameters: MSK_IPAR_PRESOLVE_MAX_NUM_PASS, MSK_IPAR_PRESOLVE_MAX_NUM_PASS, MSK_IPAR_SIM_SEED, MSK_IPAR_INTPNT_ORDER_GP_NUM_SEEDS, MSK_IPAR_MIO_MAX_NUM_ROOT_CUT_ROUNDS, MSK_IPAR_MIO_PROPAGATE_OBJECTIVE_CONSTRAINT, MSK_IPAR_MIO_SEED, MSK_IPAR_MIO_FEASPUMP_LEVEL, MSK_IPAR_WRITE_COMPRESSION, MSK_IPAR_OPF_WRITE_LINE_LENGTH, MSK_IPAR_PTF_WRITE_TRANSFORM
- Changed default of MSK_DPAR_MIO_TOL_ABS_GAP from 0 to value of GAMS option OptCA (was used for MSK_DPAR_MIO_NEAR_TOL_ABS_GAP before) and of MSK_DPAR_MIO_TOL_REL_GAP from 0 to value of GAMS option OptCR (was used for MSK_DPAR_MIO_NEAR_TOL_REL_GAP before).
- Fixed handling of Mosek certificiates for primal and dual infeasibility, see Infeasible/Unbounded Models.
SCIP
- New libraries 6.0 (f79421d).
Tools
GAMS Studio
- New version 0.12.3.
- Stability and performance improvements.
- Added GAMS Solver Option Editor to view and edit a solver-specific option file.
- Renamed Option Editor to Parameter Editor to better distinguish solver options and GAMS parameters.
- Added menu entry
GAMS
->Delete scratch directories
to delete all scratch directories in current working directory. A similar dialog will also be triggered if GAMS returns110
("Too many scratch directories"). - Added file associations and icons for
.gms
and.gdx
files on macOS. - Changed shortcut to focus Main widget from
Ctrl+H
toCTRL+E
(there was a collision on macOS). - Improved keyboard navigation between files and widgets.
- We plan to drop Studio for 32 bit Windows with the next major release.
APIs
- As announced, dropped support for Python 2.6.
- We plan to increase the minimum version requirement of the Java Runtime Environment to Java SE 8 with the next major release.
Model Libraries
GAMS Model Library
- Changed model sigma in immun to minimize standard-deviation instead of variance.
- Added missing nonnegativity requirement on variables in model wall.
Solver/Platform availability matrix
x86 32bit MS Windows | x86 64bit MS Windows | x86 64bit Linux | x86 64bit macOS | Sparc 64bit SOLARIS | IBM Power 64bit AIX | |
---|---|---|---|---|---|---|
ALPHAECP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ANTIGONE 1.1 | ✔ | ✔ | ✔ | ✔ | ||
BARON | 18.5.8 | ✔ | ✔ | ✔ | ||
BDMLP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
BONMIN 1.8 | ✔ | ✔ | ✔ | ✔ | ||
CBC 2.10 | ✔ | ✔ | ✔ | ✔ | ||
CONOPT 3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
CONOPT 4 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
COUENNE 0.5 | ✔ | ✔ | ✔ | ✔ | ||
CPLEX 12.9 | 12.6 | ✔ | ✔ | ✔ | 12.6 | ✔ |
DECIS | ✔ | ✔ | ✔ | ✔ | ✔ | |
DICOPT | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
GLOMIQO 2.3 | ✔ | ✔ | ✔ | ✔ | ||
GUROBI 8.1 | 7.5 | ✔ | ✔ | ✔ | ✔ | |
GUSS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
IPOPT 3.12 | ✔ | ✔ | ✔ | ✔ | ||
KESTREL | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
KNITRO 11.1 | 11.0 | ✔ | ✔ | ✔ | ||
LGO | ✔ | ✔ | ✔ | ✔ | ✔ | |
LINDO 12.0 | ✔ | ✔ | ✔ | ✔ | ||
LINDOGLOBAL 12.0 | ✔ | ✔ | ✔ | ✔ | ||
LOCALSOLVER 8.5 | ✔ | ✔ | ✔ | ✔ | ||
MILES | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
MINOS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
MOSEK 9 | ✔ | ✔ | ✔ | ✔ | ||
MSNLP | ✔ | ✔ | ✔ | ✔ | ✔ | |
NLPEC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ODHCPLEX 4 | ✔ | ✔ | ||||
PATH | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
SBB | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
SCIP 6.0 | ✔ | ✔ | ✔ | ✔ | ||
SNOPT | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
SOLVEENGINE | ✔ | ✔ | ✔ | ✔ | ||
SOPLEX 4.0 | ✔ | ✔ | ✔ | ✔ | ||
XA | ✔ | ✔ | ✔ | |||
XPRESS 33.01 | ✔ | ✔ | ✔ | ✔ | 32.01 | 29.01 |
28.2.0 Minor release (August 19, 2019)
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 Nayeem Chowdhury, Salvador Doménech Martínez, Michael Ferris, Antti Lehtila, Evangelos Panos, Jochen Uhrich, and Alexey Ziuzin.
GAMS System
GAMS
- Setting $onMultiR allows the redefinition of macros as well now.
- Fixed a problem finding the Python interpreter, that comes with GAMS, in certain cases.
- Fixed a bug in the model generation, which could have caused a crash or wrong results in some cases.
Solvers
CPLEXD
- Corrected reporting of solution for (MI)QCP problems when using feasopt.
- CplexD now reports the objective of the feasible relaxation in the solution summary when using feasopt.
Tools
GAMS Studio
- New version 0.12.4
- Stability and performance improvements.
- Improved robustness of glb file parser (see User Libraries).
- Added "What's new" menu entry to show latest changes of Studio.
Object Oriented APIs
- Fixed a problem, where
GAMSDatabase.Export
triggered an exception because of domain violations, even if only relaxed domains were used.
Java
- Added new method GAMSSymbolRecord.dispose for on-demand release of external resources hold by non-java library.