GAMS [ Home | Downloads | Documentation | Solvers | APIs | Tools | Model Libraries | Resources | Sales | Support | Contact Us | Search ]

Release Notes

Major releases contain substantial changes to the GAMS system. The License Check date is set to the release date of the major release.

Minor releases are mainly issued to provide bug fixes, performance improvements, and maintenance releases of solver libraries. Additionally, they can provide a few new features that do not change existing behavior. The License Check Date remains the same as for the prior major release. This means that any license file that worked with the prior major release will also work with this minor release.

Maintenance releases do not provide any new features. They are issued to provide bug fixes, performance improvements, and maintenance releases of solver libraries. The License Check Date remains the same as for the prior major release. This means that any license file that worked with the prior major release will also work with this maintenance release.

GAMS Distribution 21.5 - November 11, 2004

This is a Minor release.

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 parameter DUMPOPT 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 for DUMPOPT >= 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.

    • $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:

        put '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 '" /

        This may be cumbersome. The use of $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:

         
        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
        ;

        It also works outside of the put statement:

        $onput
        It even works outisde the put statement,
        as long as a put file is assigned.
        $offput
    • $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):

        $if NOT set one $set one default value
        display '%two%';
        $setddlist three four

        The following GAMS invocation will cause an error since --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

  • 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) );