21.5 Minor release (November 11, 2004)
Table of Contents
Distribution 21.5 includes newly available solver libraries and minor enhancements in the GAMS system, as well as introduces the interior-point NLP solver KNITRO from Ziena Optimization.
Acknowledgements
We would like to thank all of the users who have reported bugs or made suggestions in improving this release, especially Richard Roberts for catching an IDE bug.
Solvers
CONOPT
- New libraries (14e) are included which address minor fixes.
CPLEX
- New libraries (9.0.2) are included which address minor fixes.
KNITRO
- New interior-point nonlinear programming solver added to the GAMS NLP solver portfolio.
MOSEK
- New libraries (3.1) are included which address minor fixes.
XA
- New libraries are included which address minor fixes.
XPRESS
- New libraries are included which address minor fixes.
GAMS System
Model Library
- A model showing a successive recalibration algorithm for solving general equilibrium models has been added (decomphh.gms).
- A model illustrating numerical integration using trapezoidal approximations for Herves (transposable element) activity calculations is included (herves.gms).
Testlib
- 27 new quality check models have been added. See the Testlib page for details.
New functions
- sinh, cosh, tanh
$ Dollar control options
$on/offVerbatim
- The
$on/offVerbatim
commands are used in conjunction with the GAMS parameterDUMPOPT
to suppress the input preprocessing for input lines that are copied to the dmp file. This feature is mainly used to maintain different versions of related models in a central environment.
The$on/offVerbatim
commands are only recognized forDUMPOPT >= 10
and apply only to lines in the file the commands appeared.
The use of $goto and$on/offVerbatim
are incompatible and may produce unexpected results.
- The
$on/offPut
- This option simplifies the writing of put statements that copy text. Previously, to copy text into a put file one may have to write many lines similar to the ones below:
This may be cumbersome. The use ofput 'text A with a double quote "' "text A with a single quote '" / put 'text B with a double quote "' "text B with a single quote '" / put 'text C with a double quote "' "text C with a single quote '" /
$on/offPut
will result in the same text written to the put file without having to specify the 'put' explicitly for each line and allows you to specify mixed quotes in a single statement. Consider the following example:
It also works outside of the put statement:file fx; put fx 'text with " and ' "' required a split of the text" / $onput With the new on/off put we can freely mix and match ' and " characters. $offput ;
$onput It even works outisde the put statement, as long as a put file is assigned. $offput
- This option simplifies the writing of put statements that copy text. Previously, to copy text into a put file one may have to write many lines similar to the ones below:
$setDDlist
- This statement catches misspelled 'double dash' GAMS parameters. For example, in the program below (ein.gms), the only 'double dash' options are 'one', 'two', 'three' and 'four' (note the use of the string macro for
%two%
automatically makes it part of the allowed list of double dash parameters):
The following GAMS invocation will cause an error since$if NOT set one $set one default value display '%two%'; $setddlist three four
--five
is not a valid 'double dash' option.> gams ein.gms --two=twovalue --five=20 1 Display 'twovalue' **** --five=20 3 $setddlist three four $620
- This statement catches misspelled 'double dash' GAMS parameters. For example, in the program below (ein.gms), the only 'double dash' options are 'one', 'two', 'three' and 'four' (note the use of the string macro for
Other new features
- alias(*,u1,u2,..)
- The universe is assumed to be ordered and ordered operators like lag, leads and ORD can be applied.
- Faster execution of GAMS statements using set(s) containing a single element.
- SortedUels(*,*)
- A new predefined tuple to report sets in sorted order. For example, to write in sorted order:
alias(*,u); loop(SortedUels(u,i), put / i.tl i.te(i) );
- A new predefined tuple to report sets in sorted order. For example, to write in sorted order: