|
| GAMS Distribution 23.0 February 14, 2009 |
|---|
We would like to thank all of our users who have reported problems and made suggestions for improving this release. In particular, we thank Surendu Korgaokar, Tom Rutherford, Stefan Vigerske and Rich Roberts.
As announced earlier we dropped the following systems as of this GAMS Distribution.
poutil (342): Portfolio Optimization for Electric Utilities privat01 (432) : Test private workfile behavioremp04 (431) : Compare results of EMP runs using different options for nlp problemlocal01 (430) : Test .local in different context $on/offlocalempdisj1 (429) : Test EMP Disjunction - Minimize the makespanempecs02 (428) : Test for EMP-Embedded Complemenarity Systemempecs01 (427) : Test for EMP-Embedded Complemenarity Systemempvi04 (426) : Test for EMP Variational Inequalitiesempvi03 (425) : Compares alternative EMP-VI modelsempvi02 (424) : Compares manual and EMP-VI modelsempvi01 (423) : Simple test for variational inequalities through EMPempbp03 (422) : Simple bilevel model, both inner and outer problems have constraintsempbp02 (421) : Simple bilevel model, outer problem consist of objective onlyempbp01 (420) : Simple bilevel model, inner problem consist of objective onlyconvert7 (419): CONVERT test suite - test hessian info correctnesslp14 (418) : Simple test on one equation AFTER reformulationcard01 (417) : Test extended card and ord functionssuffix01 (416): Test suffix options on controlling setsnlp01 (415) : Test of correctness for levels & marginals of NLPAs announced in the 22.9 release notes we dropped the following solvers as of this GAMS Distribution.
Due to user requests, and despite our earlier announcement, we did not drop the following components:
New libraries 11.2.1
The new Gurobi solver provides state-of-the-art simplex-based linear programming (LP) and mixed-integer programming (MIP) capability.
The Gurobi MIP solver includes shared memory parallelism, capable of simultaneously exploiting any number of processors and cores per processor. The implementation will be deterministic: two separate runs on the same model will produce identical solution paths.
The Gurobi solver is available for the 32-bit and 64-bit versions of Windows and Linux. Please contact us for an evaluation license.
New libraries 5.2.0
New libraries 5.0.1.345
New libraries 5.0 rev 112
New libraries 19.00.04
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 unecessary. This can save time if you solve many models in your GAMS program.
Solver/Platform availability - 23.0 February 14, 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 HP 9000 |
HP-UX 111 SGI |
IRIX2 DEC Alpha |
Digital Unix 4.03 ALPHAECP |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
![]() BARON 8.1 |
![]() 32bit |
![]() 32bit |
|
|
|
![]() |
|
|
|
|
BDMLP |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() COIN |
![]() ![]() ![]() ![]() |
|
![]() |
![]() ![]() |
|
|
CONOPT 3 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() CPLEX 11.2 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 10.0 |
9.1 |
8.1 |
DECIS |
![]() ![]() ![]() ![]() ![]() 32bit |
|
![]() |
|
![]() ![]() ![]() DICOPT |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() GUROBI 1.0 |
![]() ![]() ![]() ![]() |
|
|
|
|
|
|
|
|
KNITRO 5.2 |
![]() ![]() ![]() ![]() ![]() 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 19.00 |
![]() 32bit |
![]() 32bit |
![]() 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. | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GAMS Distribution 22.9 December 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 Stefan Boeters, Wolfgang Britz, Alexander Gocht, Josef Kallrath, Erwin Kalvelagen, Todd Munson, Yiqi Zhu.
We are planning to drop the following systems from our next GAMS Distribution 23.0. If you object please submit an email to support@gams.com!
225? directories is .dat. The scratch extension is a parameter that can be changed with the GAMS option ScrExt, e.g gams trnsport scrext=tmp. Within GAMS code you get the scratch extension using %gams.scrext%.ETlim. The job elapsed time is checked before the execution of a $call, execute or solve statement. The system will terminate with a compilation or execution error if the limit (default INF) is reached.option solveopt=xxx. The related model attribute <model>.solveopt=n has been adjusted to match the new option values. If the model attribute is set to NA (default), the setting of the corresponding option statement will be used to determine the way solutions values are loaded back into the GAMS data space. The possible values are (the numeric value for the model attribute are given in parenthesis):replace (0) all equations appearing in the model list will be completely replaced by the new model results. Variables are only replaced if they appear in the final model.merge (1) the new model results are merged into the existing structures. This is the default.clear (2) similar to the replace option; in addition, variables appearing in the symbolic equations but squeezed out in the final model, are removed. option solprint=xxx. The related model attribute <model>.solprint=n and the GAMS parameter solprint=n have been adjusted to match the new option values. If the model attribute is set to NA (default), the setting of the corresponding option statement will be used to control the printing of model generation and solution information. Note that the GAMS parameter initializes the corresponding option statement values. The possible values are (the numeric value for the model attribute are given in parenthesis):off (0) detailed solution output is suppressed.on (1) the most detailed solution output. This is the default.silent (2) all solve related output is suppressed. ETsolve total elapsed time to execute a solve statementETsolver elapsed time that can be attributed to the solver only ETalg elapsed time that can be attributed to the core algorithm.noerror with the $abort statement, the error count will NOT be increased. When a save file is written, all remaining unexecuted code will be flushed. This allows effective reuse of the save file. The GAMS macro facility has been inspired by the GAMS-F preprocessor for function definition developed by Ferris, Rutherford and Starkweather, 1998, 2005. The GAMS macro facility incorporates the major features of the GAMS-F preprocessor into the standard GAMS release. The GAMS macros acts like a standard macro when defined, however, its recognition for expansion is GAMS syntax driven.
Macros are widely used in computer science to define and automate structured text replacements. The GAMS macro processors functions similar to the popular C/C++ macro preprocessor. The definition takes the form
$macro name macro body $macro name(arg1,arg3,arg2,..) macro body with tokens arg1,..
The name of the macro has to be unique, similar to other GAMS data types like sets and parameters. A ( following immediately the macro name starts the list of replacement arguments. The macro body is not further analyzed after removing leading and trailing spaces.
The recognition and following expansion is directed by GAMS syntax. The tokens in the macro body to be replaced by the actual macro arguments follow the standard GAMS identifier conventions. For example:
$macro diff(y) system.cosh(y) - cosh(y) $macro cosh(x) (exp(x) + exp(-x))/2 scalar z; z = diff(2/3); display z;
will expand into:
scalar z; z = system.cosh(2/3) - (exp(2/3) + exp(-2/3))/2; display z;
This expansion takes place in two steps, first GAMS recognizes diff as a macro and changes the input text to:
scalar z; z = system.cosh(2/3) – cosh(2/3); display z;
Gams will continue to process the modified input text. The first occurrence of cosh is not recognized by gams as a macro, only the second reference to cosh(2/3) will result in a second and final expansion.
The recognition of macros and expansion of arguments can further be controlled by the use of ampersands (&) in the macro body. A single ampersand (&) is used as a concatenation or separation symbol to recognize tokens to be replaced. Two ampersands (&&) immediately preceding a token will drop the most outer matching single or double quotes of the replacement argument. For example:
$macro f(i) sum(j, x(i,j)) $macro equ(q) equation equ_&q; equ_&q.. q =e= 0; equ(f(i))
will expand into:
equation equ_f(i); equ_f(i).. sum(j, x(i,j)) =e= 0;
The first step of the above expansion is shown below. GAMS will then only recognize the third occurrence of f(i) as a macro which will be expanded to give the above result.:
equation equ_f(i); equ_f(i).. f(i) =e= 0;
The actual calling arguments of macros can contain complex expressions and other macro calls. Multiple arguments are separated by commas. Pairs of parenthesis and quotes can be used freely to protect the separating comma.
$macro many(a,b) scalar x; x=a/&&b); display x; many((3/5),'(mod(3,2)')
Note that the second argument has unbalanced parenthesis and therefor needs to be enclosed in quotes to give the result below.
scalar x; x=(3/5)/(mod(3,2)); display x;
Some macro use can result in an expansion of infinite length. For example:
$macro a b,a display a;
will expand into:
display b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,……
GAMS will eventually refuse to do more substitutions and issue a compilation error.
The use of deeply nested macros may require the use of aliased sets in indexed operations like sum and prod. A minor syntax extension allows the implicit use of aliases. The suffix .local on a controlling set will use an implicit alias within the scope of the indexed operation. For example:
$macro qq(i) sum(i.local, b(i)) c(q) = qq(q);
will expand into:
c(q) = sum(q.local, b(q));
The use of the .local modifier is not limited to macros and can be used in any context.
Another feature motivated by the use of macros is the implicit use of the .l suffix in data manipulation statements. This allows using the same algebra in model definitions and assignment statements. The following code snippet illustrates this feature:
$macro D(s,h) INCOME(h)*alpha[s,h]*sum{s.local, alpha[s,h]*P[s]*
…
cmkt(s).. Y(s) =g= sum(h, D(s,h));
…
$onDotL
dl(s,h) = d(s,h); display dl;
where INCOME is another macro which calls a number of other nested macros. D(s,h) is now used to define the equation cmky and is also used in an assignment after the model has been solved. The $ondotl enables the implicit .l suffix for variables. This feature was introduced to make macros more useful and is not limited to be used in macro bodies. Since this a new feature it has to be enabled. The matching $offdotl will disable this feature.
Three more switches are relevant to macros. The $show will list any GAMS macros defined. The $onmacro/$offmacro will enable or disable the expansion of macros; the default is $onmacro. Finally, the $on/offexpand will change the processing of macros appearing in the arguments of a macro call. The default operation is not to expand macros in the arguments. The switch $onexpand enables the recognition and expansion of macros in the macro argument list. $offexpand will restore the default behavior.
Macro definitions are preserved in a save/restart file and are available again when performing a continued compilation.
The GAMS-F preprocessor combines aspects of traditional macros with that of functions and objects. The example 7 from the GAMS-F documentation using macros can be found in the GAMS model library under the name two3mac. Some of the main differences between GAMS macros and the GAMS-F preprocessor are:
<id> == <body>; to recognize a macro, we use $macro <id> <body> with the $ in position 1.$onmacro/offmacro. .local feature has been added to ensure local use and eliminates the need for new alias definitions..L when using in assignment statements. This is not a macro expansion feature, but a new GAMS feature that needs to be activated by $onDotL/$offDotLScenred2 is an updated and expanded version of the scenred utility for scenario reduction. Scenred2 is intended to be a replacement for the existing scenred, but we have made the newer version available as scenred2 due to some differences in the options used to control scenred's behavior. Having both available also facilitates comparisons between the two.
New features in scenred2 include:
two3mac (341): Simple 2 x 2 x 2 General Equilibrium Model Using Macros trnssdp (340): Solving the Transportation LP Problem using SDPgqapsdp (339): SDP Convexifications of the Generalized Quadratic Assignment Problemmaxcut (338): Goemans/Williamson Randomized Approximation Algorithm for MaxCutload4 (414): Tests various file opening options for GDX fileseigvec02 (413): Test Eigenvector/Eigenvalue utilitiescholes02 (412): Test 2 Cholesky utility choles01 (411): Test 1 Cholesky utility eigvec01 (410): Test Eigenvector utilityeigval01 (409): Test Eigenvalue utilityscnred01 (408): Basic Scenred2 test - tree construction scensol1 (407): Basic Scenario Solver Testgdxmerg2 (406): Bad acronym merge in gdxmerge gdx8 (405): Bad acronym mappinggdx7 (404): Bad acronym loadingmacro01 (403): Several macro testsassign2 (402): Test for bad assignment with .fxmcp08 (401): Test MCP that turfs up PATH preprocessing errorconvert6 (400): CONVERT test suite - hessian.gdxNew libraries 11.2
CPLEX 11.2 offers finer control for solution polishing. In previous
versions, the only stopping criterion for solution polishing was set
by the parameter PolishTime to limit time spent polishing a
solution. General stopping criteria, such as the time limit, absolute
MIP gap, relative MIP gap, MIP node limit or MIP integer solution
limit did not apply to solution polishing.
Now, however, CPLEX 11.2 allows the user to control more finely when
solution polishing terminates. In other words, the usual tolerances
(EpAGap and EpGapinitalized with GAMS parameters OptCA and OptCr)
and limits (IntSolLim, NodeLim and TiLim initialized with GAMS
paramter NodLim and ResLim) now apply to solution polishing.
In addition to those existing parameters that now control the termination of solution polishing, there are also new parameters specific to the starting conditions for solution polishing.
With these new parameters, a user can tell CPLEX when to switch from branch & cut to solution polishing. CPLEX is able to switch after it has found a feasible solution and put into place the MIP structures needed for solution polishing. When these two conditions are met (feasible solution and structures in place), CPLEX stops branch & cut and switches to solution polishing whenever the first of these starting conditions is met:
PolishAfterEpAGap)PolishAfterEpGap)PolishAfterIntSol)PolishAfterNode)PolishAfterTime)The new parameters are incompatible with the deprecated option PolishTime. If you use them together in an option file you will see an error like this:
Reading parameter(s) from "C:\tmp\cplex.opt" >> polishtime 5 *** Warning line 1: deprecated option "polishtime"; Use option polishafter... for finer solution polishing control. >> polishafterintsol 1 Finished reading from "cplex.opt" CPLEX Error 1807: Incompatible parameters. polishafterintsol: current = 2100000000, default = 2100000000, minimum = 1, maximum = 2100000000
A few examples with the corresponding GAMS/CPLEX option file:
TiLim 300 PolishAfterTime 100
PolishAfterIntSol 1
PolishAfterEpGap 0.1 EpGap 0.02
New libraries 5.0.1.292 now also for Sun Sparc Solaris
New libraries 4.7.01 fix preprocessing bug for both MCP and NLP front ends
Enhancements and bug fixes for the three experimental in-core communication solver links BDMLPD, CPLEXD and CONOPTD.
Solver/Platform availability - 22.9 December 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.03 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.2 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 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. | 3)GAMS distribution for DEC Alpha is 22.7. | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GAMS Distribution 22.8 August 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 Wolfgang Britz, Andrea Consiglio, Anton Eremeev, Mustafa Esen,Josef Kallrath, Erwin Kalvelagen, Todd Munson, Rich Roberts, and Andres Ramos.
.scr to .dat. For distribution 22.8 it is still .scr. The scratch extension now is a parameter that can be changed with the GAMS option ScrExt, e.g gams trnsport scrext=tmp. Within GAMS code you get the scratch extension using %gams.scrext%.$LOAD directive can read the universe from a gdx file by specifying $LOAD id=*.gdxcompress and gdxconvert gdxconvert = <value> and gdxcompress = <value> or via GAMS command line parameters: gdxconvert = <value> and gdxcompress = <value>.gdxcompress0 (or empty): no compression 1: compression turned ongdxconvert:V7: version 7 V6: version 6 V5: version 5gams <model_name> gdxconvert=v6 gdxcompress=1 gdx=<gdx_file>.gdx2xls: Converts an entire gdx data container to a Microsoft Excel spread sheet. invert: Calculates the inverse of a matrix provided as a gdx file (for more information see gdxutils documentation). msappavail: Checks which Microsoft Office programs are installed.xlstalk: Allows some interaction with Excel to open/close/save Excel files.gdxcopy: New option to replace existing gdx files.gdxdiff New id option to compare specified ids only.gdxmerge New optional output parameter to specify the name of the output file.gdxviewer: Fixed problem with cube view.Fixed problem when moving a column to the plane in the gdx data viewer.
New models, including tests for
invert utilityls solvergdxconvert and gdxcompress parametersGAMS introduces the new model library 'GAMS Data Utilities' containing models that demonstrate the various utilities to interface GAMS with other applications.
The models of the forthcoming book PRACTICAL FINANCIAL OPTIMIZATION - A Library of GAMS Models by Andrea Coniglio, Soren Nielsen, and Stavros A. Zenios have been included in the GAMS distribution. It is a companion volume to the book Practical Financial Optimization by Stavros A. Zenios.
New libraries 8.1.5 for Windows, Linux, and AIX
GAMS 22.8 introduces a third experimental solver BDMLPD besides
CONOPTD and CPLEXD. They are very similar compared to their
professional brothers BDMLP, CONOPT and CPLEX. 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.
New option hessian to dump the Hessian matrix into a GDX file. Similar to the option jacobian.
New libraries 11.1.1
New libraries 5.0.1.292. Sun Sparc Solaris 5.0.1.274.
New libraries 5 Rev 90
New libraries for Windows
Solver/Platform availability - 22.8 August 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.03 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.1 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 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. | 3)GAMS distribution for DEC Alpha is 22.7. | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 statem