| [ Home | Support | Sales | Solvers | Documentation | Model Library | Search | Contact Us ] |
|---|
| GAMS Distribution 22.7 May 1, 2008 |
|---|
We would like to thank all of our users who have reported problems and made suggestions for improving this release. In particular, we thank Jens Baudach, Michael Ferris, Josef Kallrath, Aldo Vecchietti and Stefan Vigerske.
The data statements have been enhanced to allow initial values for equations and variables in addition to set and parameter data. Those new data statements follow the syntax for list and table data statement for parameters by adding an additional dimension to specify the specific data attribute. The variable and equation suffixes can be used in this additional dimension. For example, the solution values for the transport example could be written as:
variable x(i,j) / (seattle.(new-york 50, chicago 300)
san-diego.(new-york,topeka) 275 ).l
seattle.topeka.m 0.36
san-diego.chicago.m 0.009 /
variable z / l 153.6750 /
equation demand(j) / (new-york 0.2250
chicago 0.1530
topeka 0.1260).m /;
Only the non default values need to be specified. The following attributes can be used according to the variable type:
.l level .m marginal .lo lower bound .up upper bound .scale scale value .prior priority for discrete variables .fx shorthand for setting .l,.lo and .up to the same value
With table style input all index positions have to appear in the row definition. For example we could write the above list oriented statement in table form as:
variable table x(i,j) initial values
l m
seattle. new-york 50
seattle. chicago 300
seattle. topeka 0.36
san-diego.new-york 275
san-diego.topeka 275
san-diego.chicago 0.009
As with other data statements, $onmulti, $ondelim
and $onempty can be used as well.
Mappings between n-tuples can be clumsy to enter via data
statements and are often difficult to compute. Similar to the product
operator (.) we introduced a match operator (:).
For example, the two set data statements give the same result:
Set I / t1*t6:s3*s5 /
Set j / t1.s3,t2.s4,t3.s5 /
In another example we may want to count "tuples" in some fashion:
sets h /h1*h24/, d /d1*d365/, dh(d,h) /#d.#h/
sets t /t1*t8760/, tdh(t,d,h) /#t:#dh/
The resulting set tdh will then have the values:
t1.d1.h1, t2.d1.h2, t3.d1.h3 ..
Currently there is no general matching operator for assignment statement. To facilitate some otherwise very clumsy and expensive calculations, one can use the following option statement:
Set ijk(I,j,k), x(I,j,k,l) ..
Option ijk(i:j,k), x(ijk:l);
This statement will first clear the set ijk,
then apply the matching operators to i and j
and finally apply a product operation to the matched (i,j)
with k which results in:
i1.j1.k1, i1.j1.k2, ..
i2.j2.k1, i2.j2.k2, ..
And x will match ijk
with the set l resulting in:
i1.j1.k1.l1, i1.j1.k2.l2, ..
In some applications it may be desirable to limit the amount of memory a GAMS job can use. HeapLimit (MB) is a new GAMS parameter and function/property that limits memory used to store dynamic data. If the dynamic data storage exceeds this limit, the job will be terminate with return code 10, out of memory. These features are especially useful in a server environment.
HeapLimit
sets the limit of memory use at compile and execution time for a GAMS
job HeapLimit
can be used to interrogate the current limit and allows it to be rest HeapLimit
option which ensures that the solver will not use more dynamic memory.range is defined as x.range=x.up−x.lo.
This provides a convenient way to see if a variable is fixed$eval and $ife
statement can now reference scalar parameters and the function card(id)$ondelim,
we can drop the dummy element in the column definition$load
setid=parameteridNew libraries (version 8.1.4)
New libraries (version 11.0.1)
option
mip=coinscip; (Experimental) Framework for automated mathematical programming reformulations as
Thereby new upcoming model types are reformulated into established math programming classes in order to use mature solver technology. EMP comes free of charge with any licensed GAMS system but needs a subsolver to solve the generated models.
LogMIP 1.0 is a program for solving linear and nonlinear disjunctive programming problems involving binary variables and disjunction definitions for modeling discrete choices. While the modeling and solution of these disjunctive optimization problems has not yet reached the stage of maturity and reliability as LP, MIP and NLP modeling, these problems have a rich area of applications. LogMIP 1.0 has been developed by A. Vecchietti, J.J. Gil and L. Catania at INGAR (Santa Fe-Argentina) and Ignacio E. Grossmann at Carnegie Mellon University (Pittsburgh-USA) and is composed of:
LogMIP comes free of charge with any licensed Windows GAMS system but needs a subsolver to solve the generated MIP/MINLP models. For more information see
New libraries (version 5.0.0.79)
GAMS 22.7 introduces two experimental solvers: CPLEXD and
CONOPTD. They are very similar compared to their professional brothers
CPLEX and CONOPT. They lack some functionality (e.g. CPLEXD does not
solve QCP models) but offer in-core communication between GAMS and the
solver. No large model scratch files need to be written to disk which
can save time if you solve many models in your GAMS program. This
in-core execution is activated by setting
modelname.solvelink=5; before the solve statement.
| Solver/Platform availability - 22.7: May 1, 2008 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x86 MS Windows |
x86_64 MS Windows |
x86 Linux |
x86_64 Linux |
Sun Sparc SOLARIS |
Sun Sparc64 SOLARIS |
Sun Intel SOLARIS |
HP 9000 HP-UX 111 |
DEC Alpha Digital Unix 4.0 |
IBM RS-6000 AIX 4.3 |
Mac PowerPC Darwin |
Mac Intel32 Darwin |
SGI IRIX2 |
||
| ALPHAECP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
| BARON 8.1 | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||||||
| BDMLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| COIN | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||
| CONOPT 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| CPLEX 11.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
10.0 | 8.1 | ![]() |
![]() |
9.1 | ||
| DECIS | ![]() |
![]() |
![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| DICOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| KNITRO 5.1 | ![]() |
32bit | ![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
||||||
| LINDOGLOBAL 5.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
| LGO | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| MILES | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MINOS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MOSEK 5 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
3.2 | ![]() |
![]() |
||||
| MPSGE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MSNLP | ![]() |
![]() |
![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
|||||
| NLPEC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| OQNLP | ![]() |
32bit | ![]() |
32bit | ||||||||||
| OSL V3 | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | V2 | ![]() |
V2 | |||||
| OSLSE | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||||
| PATH | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SBB | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SNOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| XA | ![]() |
32bit | ![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
|||||
| XPRESS 18.00 | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | 16.10 | ![]() |
||||||
| 1)GAMS distribution for HP 9000/HP-UX is 22.1. | ||||||||||||||
| 2)GAMS distribution for SGI
IRIX is 22.3. |
||||||||||||||
| GAMS Distribution 22.6 December 24, 2007 |
|---|
| Solver/Platform availability - 22.6 December 24, 2007 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x86 MS Windows |
x86_64 MS Windows |
x86 Linux |
x86_64 Linux |
Sun Sparc SOLARIS |
Sun Sparc64 SOLARIS |
Sun Intel SOLARIS |
HP 9000 HP-UX 111 |
DEC Alpha Digital Unix 4.0 |
IBM RS-6000 AIX 4.3 |
Mac PowerPC Darwin |
Mac Intel32 Darwin |
SGI IRIX2 |
||
| ALPHAECP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
| BARON 8.1 | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||||||
| BDMLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| COIN | ![]() |
32bit | ![]() |
![]() |
![]() |
![]() |
![]() |
|||||||
| CONOPT 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| CPLEX 11.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
10.0 | 8.1 | ![]() |
![]() |
9.1 | ||
| DECIS | ![]() |
![]() |
![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| DICOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| KNITRO 5.1 | ![]() |
32bit | ![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
||||||
| LINDOGLOBAL 5.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
| LGO | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| MILES | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MINOS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MOSEK 5 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
3.2 | ![]() |
![]() |
||||
| MPSGE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MSNLP | ![]() |
![]() |
![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
|||||
| NLPEC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| OQNLP | ![]() |
32bit | ![]() |
32bit | ||||||||||
| OSL V3 | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | V2 | ![]() |
V2 | |||||
| OSLSE | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||||
| PATH | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SBB | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SNOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| XA | ![]() |
32bit | ![]() |
![]() |
![]() |
32bit | ![]() |
![]() |
![]() |
|||||
| XPRESS 18.00 | ![]() |
32bit | ![]() |
32bit | ![]() |
32bit | 16.10 | ![]() |
||||||
| 1)GAMS distribution for HP 9000/HP-UX is 22.1. | ||||||||||||||
| 2)GAMS distribution for SGI IRIX is 22.3. | ||||||||||||||
| GAMS Distribution 22.5 June 1, 2007 |
|---|
| Solver/Platform availability - 22.5 June 1, 2007 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x86 MS Windows |
x86_64 MS Windows |
x86 Linux |
x86_64 Linux |
Sun Sparc SOLARIS |
Sun Intel SOLARIS |
HP 9000 HP-UX 111 |
DEC Alpha Digital Unix 4.0 |
IBM RS-6000 AIX 4.3 |
Mac PowerPC Darwin |
|||||
| ALPHAECP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||
| BARON 7.8 | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||||||
| BDMLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| COIN | ![]() |
32bit | ![]() |
![]() |
![]() |
|||||||||
| CONOPT 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| CPLEX 10.2 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
10.0 | 8.1 | ![]() |
|||||
| DECIS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||
| DICOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| KNITRO 5.1 | ![]() |
32bit | ![]() |
![]() |
![]() |
|||||||||
| LINDOGLOBAL 4.1 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||
| LGO | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||
| MILES | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| MINOS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| MOSEK 4 | ![]() |
![]() |
![]() |
![]() |
![]() |
3.2 | ![]() |
|||||||
| MPSGE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| MSNLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
| NLPEC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| OQNLP | ![]() |
32bit | ![]() |
32bit | ||||||||||
| OSL V3 | ![]() |
32bit | ![]() |
32bit | ![]() |
![]() |
V2 | ![]() |
||||||
| OSLSE | ![]() |
32bit | ![]() |
32bit | ![]() |
![]() |
||||||||
| PATH | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| SBB | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| SNOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
| XA | ![]() |
32bit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
| XPRESS 17.10 | ![]() |
32bit | ![]() |
32bit | ![]() |
16.10 | ![]() |
|||||||
| 1)GAMS distribution for HP 9000/HP-UX is 22.1. | ||||||||||||||
| 2)GAMS distribution for SGI IRIX is 22.3. | ||||||||||||||
| GAMS Distribution 22.4 Feb 14, 2007 |
|---|
| GAMS Distribution 22.3 November 27, 2006 |
|---|
| Solver/Platform availability - 22.3 November 27, 2006 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| x86 MS Windows |
x86_64 MS Windows |
x86 Linux |
x86_64 Linux |
Sun Sparc SOLARIS |
HP 90001 HP-UX 11 |
DEC Alpha Digital Unix 4.0 |
IBM RS-6000 AIX 4.3 |
SGI IRIX |
Mac PowerPC Darwin |
|
| BARON 7.7 | ![]() |
32bit | ![]() |
32bit | ![]() |
|||||
| BDMLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| COIN | ![]() |
![]() |
![]() |
![]() |
![]() |
|||||
| CONOPT 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| CPLEX 10.1 | ![]() |
![]() |
![]() |
![]() |
![]() |
10.0 | 8.1 | ![]() |
9.1 | |
| DECIS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| DICOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| KNITRO 5.0 | ![]() |
32bit | ![]() |
![]() |
![]() |
|||||
| LGO | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MILES | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| MINOS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| MOSEK 4 | ![]() |
![]() |
![]() |
![]() |
![]() |
3.2 | ![]() |
|||
| MPSGE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| MSNLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| NLPEC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| OQNLP | ![]() |
32bit | ![]() |
32bit | ||||||
| OSL V3 | ![]() |
32bit | ![]() |
32bit | ![]() |
V2 | ![]() |
V2 | ||
| OSLSE | ![]() |
32bit | ![]() |
32bit | ![]() |
![]() |
||||
| PATH | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| SBB | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| SNOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| XA | ![]() |
32bit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| XPRESS 17.10 | ![]() |
32bit | ![]() |
32bit | ![]() |
16.10 | ![]() |
|||
| Distribution 22.2 Apr 21, 2006 |
|---|
Distribution 22.2 is a maintenance release to correct some performance issues in the GAMS system and include newly available solver libraries.
| Distribution 22.1 Mar 15, 2006 |
|---|
The priority attribute of a discrete variable can be used to relax a specific variable instance. The priority attribute .prior establishes in what order variables are to be fixed to integral values while searching for a solution. Variables with a specific .prior value will remain relaxed until all variables with a lower .prior values have been fixed. Setting the .prior value to +inf will relax this variable permanently. This relaxation is done independent of the model attribute .prioropt.
This feature is useful in solving difficult discrete models. The Model Library model "Linear Recursive Sequence Optimization Model" (lrs.gms) illustrates the use of this feature that specifies that only the first n variables of k are binary, whereas the remaining ones are fractional. This is simply expressed as follows:
SET t time horizon /1*350/, f(t) first N steps /1*48/;
Binary Variable k(t);
...
k.prior(t) = inf; k.prior(f) = 1;
Calculations involving slacks and infeasibilities have been simplified with four new derived attributes. These attributes are defined on equations and variables as follows:
x.slacklo = max(x.l-x.lo,0);Note that the slacks or infeasibilities will always be zero or positive.
x.slackup = max(x.up-x.l,0);
x.slack = min(x.slacklo,x.slackup);
x.infeas = - min(x.l-x.lo,x.lu-x.l,0);
The entries of a model list can now contain previously defined models. For example:
Model one / e1,e2,e3 /The model two will now contain equations e1,e2,e3,e4. The model three will contain all of model two plus equation e5.
two / one, e4 /
three / two, e5 /;
$IF DEXIST directory command
$IFI DEXIST directory command