20.1 Major release (October 31, 2001)

GAMS System


  • A new licensed Privacy and Security feature which allows to purge, hide or protect model data and model components from unauthorized use. Models and data that are saved with the privacy feature enabled are locked to a specific license and protected. For more details consult the corresponding appendix of the GAMS Users Guide.
  • A new GAMS parameter EXECMODE can be used to reconfigure certain features when operating in an application service environment. $call/execute, $echo/put and $includes can be disabled or restricted to operate only on certain sub trees of the file system.
  • Model options can be initialized from the command line or the GAMS parameter window in the IDE (bratio, iterlim, domlim, reslim, optcr, optca, sysout, solprint, optfile and all solvers for model types). For example:
      gams myfile LP=BDMLP RESLIM=10
    will override the default solver to be BDMLP and force an interrupted after 10 seconds.
  • Other minor language enhancements are:
    • Factorial function FACT
    • Implication operator (-> or imp)
    • Equivalence operator (<=> or eqv)
    • $ECHON and echo without EOL
    • $IFi which makes case insensitive string comparisons
  • A number of restrictions have been relaxed:
    • NLP model can have up to 8 million constants.
    • A GAMS program can have up to 1 million GAMS symbols or unique elements.
    • The internal code space has been increased to 32 million instructions.
    • The model size is limited by hardware addressing space only.
  • GAMS environment variables can now be initialized or reset from the command line or parameter window. The prefix -- signals an environment variable. For example:
        gams myfile --mypath="d:a b"

    is equivalent to inserting $set mypath d:a b in the GAMS input file. The GAMS parameter SETTYPE (ST) values of 0 (default), 1 and 2 change the implied $set command to $set/setlocal/setglobal respectively. The evaluation of nonlinear expressions inside solvers of the form <expression>**<integer constant=""> are now interpreted more restrictive for the values of -1,0,1 and 2. The solver will issue domain violations when the value of an expression becomes negative. For example, x**0 will now require that x is always greater or equal to zero. The function power(expression,integer constant) should be used if this is not intended.
  • Derivatives for 0**0 are not defined and may cause problems during the solution process. Warnings are issued when this case arises.


  • Alternate license dialog was disabled
  • Selecting 'GAMS model library' will no longer add this entry to the recently used list of libraries.
  • Find/Replace dialogs no longer default to 'Selected Text' when text was selected in the editor.

GAMS Model Library

  • The references for existing models have been updated which allows an indexing by author.
  • We added a couple of MINLP models:
    • CSCHED Cyclic Scheduling of Continuous Parallel Units
    • GASNET Optimal Design of a Gas Transmission Network
    • WINDFAC Winding Factor of Electrical Machines
    • STOCKCC Minimizing Total Average Cycle Stock
    • NSHARPX Synthesis of General Distillation Sequences
    • MINLPHIX Heat Integrated Distillation Sequences
  • The new model CESAM illustrates a cross entropy technique for estimating the cells of a consistent Social Accounting Matrix (SAM) assuming that the initial data are inconsistent and measured with error.
  • The COPS models have been added:
    • POLYGON Largest small polygon COPS 2.0 #1
    • ELEC Distribution of electrons on a sphere COPS 2.0 #2
    • CHAIN Hanging Chain COPS 2.0 #3
    • CAMSHAPE Shape optimization of a cam COPS 2.0 #4
    • PINENE Isometrization of alpha-pinene COPS 2.0 #5
    • POPDYNM Marine population dynamics COPS 2.0 #6
    • FLOWCHAN Flow in a channel COPS 2.0 #7. Uses new function fact
    • ROBOT Robot arm COPS 2.0 #8
    • LNTS Particle steering COPS 2.0 #9
    • ROCKET Goddard rocket COPS 2.0 #10
    • GLIDER Hang glider COPS 2.0 #11
    • GASOIL Catalytic cracking of gas oil COPS 2.0 #12
    • METHANOL Methanol to hydrocarbons COPS 2.0 #13
    • CATMIX Catalyst Mixing COPS 2.0 #14
    • TORSION Elastic-plastic torsion COPS 2.0 #15
    • JBEARING Journal bearing COPS 2.0 #16
    • MINSURF Minimal surface with obstacle COPS 2.0 #17



  • This solver converts a GAMS model instance into a format used by other modeling and solutions systems. The transformed models have only scalar equations and variables with all original naming removed. This 'scalar' format hides the original model and data development and allows one to exchange confidential models for solver tuning and research. Currently, CONVERT can translate GAMS models into the following formats:
    • AMPL
    • BARON
    • CplexLP
    • CplexMPS
    • GAMS
    • LGO
    • LINGO
    • MINOPT
  • This solver is also available as an e-mail based service from the GAMS World.


  • Find detailed release notes here


  • There has been a reorganization of the MCP/MPSGE solvers. Central to this is the introduction of a new core library for MPSGE models. There are two MCP solvers compatible with this new scheme: PATHC and MILESE. Both of these solvers implement the same algorithms as their predecessors PATH and MILES: only their internal interface is changed. The old solvers, using the old interface, are still available for the time being. However, the new solvers offer certain advantages; for example, PATHC contains optional preprocessing of the MCP model that was not possible because of the structure of the old interface. The new interface also relies on the GAMS Base module to perform many more consistency checks on the MCP formulation and gives more immediate and extensive diagnostic information when modeling errors occur. Finally, the new interface will allow one to "plug in" an alternate version of the MPSGE core library to experiment with different MPSGE functional forms.
  • It's important to note that backward compatibility is maintained, and that all four solvers (PATH, PATHC, MILES ,and MILESE) will accept the same GAMS files as input. The interface changes referred to above are all internal in nature.


  • The GAMS/OSL link has been updated to use the new OSL3 libraries from IBM.


  • PATHNLP is the latest NLP solver at GAMS. Essentially, it implements an SQP algorithm by automatically reformulating an NLP problem as a complementarity problem and solving this using the proven, reliable PATH solver. This allows second order information to be used in the solution of the model, which often results in greater solution efficiency. In addition, the marginal values are sometimes more exact than those provided by first-order methods. The advantages of this approach are most apparent on very large, sparse models with many nonlinear variables and degrees of freedom. In these cases, the superbasics limit of other NLP codes limits their effectiveness but is no barrier when using PATHNLP. The new PATHNLP solver allows the solution of certain previously unsolvable models (e.g. maximum entropy models).


  • SBB derives an implicit absolute termination tolerance if the model has a discrete objective row. This may speed up the overall time if the user has tight termination tolerances (optca, optcr).
  • SBB passes indicies of rows with domain violations back to the LST file. All domain violation from the root node as well as all sub nodes are reported and the user might take advantage of this information to overcome these violations.


  • The GAMS/XPRESS link has been updated to use the new 12.50 solver libraries from XPRESS. Benefits include an improved pricing algorithm in dual simplex, improved sparse/dense data handling in all simplex codes, and a general 30% reduction in simplex solve time. The barrier solver incorporates row-wise Cholesky factorization, which gives improved performance on many problems, and has more efficient memory usage. The presolve has more efficient memory management, and the eliminator phase has been improved. The branch and bound algorithm has improved cut selection and faster clique cut generation.
  • Improvements to the link itself allow for better detection and reporting of unbounded or infeasible models.

Solvers in Beta Version


  • BARON is a computational system for solving non convex optimization problems to global optimality. Purely continuous, purely integer, and mixed-integer nonlinear problems can be solved with the software. The Branch And Reduce Optimization Navigator derives its name from its combining interval analysis and duality in its reduce arsenal with enhanced branch and bound concepts as it winds its way through the hills and valleys of complex optimization problems in search of global solutions.
  • The demo size for this solver is reduced to 10 variables and 10 equations. The beta version of BARON is available on Windows, Linux and AIX.


A new version of CONOPT is available for beta testing, find release notes here. It is available on Windows only.