hi all,

i would just like to solicit your advice regarding whether to get an

academic license for AMPL or GAMS. i'm currently doing a master's

thesis on cancer radiotherapy treatment planning (RTP), and i've yet

to decide between AMPL or GAMS for prototyping the models. some of my

decision criteria include language syntax, user interface, software

cost and available literature on RTP.

i think that the syntax for AMPL is better compared to GAMS because

the former more closely resembles the algebraic model formulations.

however, there seem to be more literature on RTP in GAMS and there's

also an integrated development environment for it. thanks for your

help.

Both systems are very good in what they are doing and widely used, so you cannot really go wrong with either choice. I would probably suggest to add extra points for the modeling system that is used by your colleagues and collaborators. That makes exchanging models and data easier and also is easier when discussing problems, tricks, issues etc.

Bob Fourer (AMPL) answered:

It's hard to find someone who can give equally expert advice on two competing

systems, as once you become familiar with one of them you don't usually have

much incentive to keep learning about the other. But here are a few comments

from my hardly unbiased view.

AMPL was designed with the idea of being much closer to mathematical notation

and generally much more natural to use than GAMS, and it's superior on that

score. A GAMS model typically relies on more special conventions and

reformulations than its AMPL counterpart; a case in point is the often extensive

use of the GAMS $ operator to impose various conditions. Also, the IDE

notwithstanding, GAMS is fundamentally more of a batch system whereas AMPL

offers a more flexible option of interactively exploring models and results.

Finally while in certain areas GAMS is established through long use, still I see

modelers in these areas choosing AMPL, particularly when they are undertaking

new projects that do not depend on existing GAMS models.

In my opinion AMPL and GAMS are closer in practice than suggested here (e.g. where you use $ in GAMS, one would use : in AMPL). I actually slightly prefer the GAMS syntax when doing real work, as it is a little bit more compact and it is obvious where a summation ends (in AMPL this is based on operator priority, in GAMS a sum is visually bracketed by parentheses).

Consider opensource alternatives - usually the buglist will be available when compared to closed source solutions. Opensource can be uphill though....

ReplyDeleteFor instance, GNU MathProg, which is based upon the AMPL 1.0 specification but has developed its own extensions.

Also, consider ZIMPL as a front end to many other solvers - like glpsol.

Recently, I hacked together some Octave code to read ZIMPL mps files and use gplsol from within the Octave environment. Octave being the opensource verison of matlab.

GAMS has more options for optimization solvers than AMPL.

ReplyDeleteFor applications in chemical engineering, GAMS has a greater number of solvers which show "positive" benchmarks on a wide number of problems. In my opinion, GAMS has also seen more tests on industrially relevant applications (partly due to it being arguably used more widely by engineers than AMPL).

Delete"Finally while in certain areas GAMS is established through long use, still I see

modelers in these areas choosing AMPL, particularly when they are undertaking

new projects that do not depend on existing GAMS models."

In my opinion and for the sample of AMPL + GAMS users (which includes people who develop solvers), this claim is totally false.

*for the sample of AMPL + GAMS users I know

Delete