Thursday, August 7, 2008

GAMS and Very Large Models

I am currently working on a very large GAMS model (about 15k lines of code, no big include files with data, just small LP models but very many of them). Some suggestions for improvements in GAMS that could help me with with a model this size:

  • IDE: quick way to go to declaration of an identifier (right mouse click on symbol)
  • Run time errors: quick way to jump to place in source code where this happened
  • Allow scalar,parameter,set declarations inside a loop (most modern programming languages allow this)
  • Allow display of current loop element (loop(i, display i;) now gives the whole set which is not very useful)
  • Do not allow redeclaration of symbols (so I get a warning if it is already used)
  • Better navigation of listing file if we have displays in nested loops
  • Some interactive debugging facilities (breakpoint, watches etc.)
  • More flexible limrow/limcol feature
  • Some string facilities
  • Very large log files: make it easy to find first, next syntax error

Some of these features are not easy to implement, but others should not be too difficult.