For a test problem, check manually (outside GAMS) that the solution satisfies all constraints. If not, your GAMS model may be wrong. If all constraints are satisfied, try using a different solver and see if the same objective value is achieved. If the other solver gets a better result, your current runs may be stopping short of optimality. If the objective ...


Collecting things in a parameter is actually very simple. set run /.../; parameter objresult(run,*); loop(run, solve m .... objresult(run,"obj") = m.objval; objresult(run,"bestbound") = m.objest; objresult(run,"absgap") = abs(m.objval-m.objest); );


You cannot loop over include files ($include is compile-time, while loop is execution- time, this is similar to say C where you cannot loop over #include). One could loop over complete GAMS models (call gams inside a loop), or over reading data from GDX (GAMS data) files. But often a better approach is the following. I would just read in all problem data in ...


There is a good description of different problem instances here. From the link: ...benchmark problems (Solomon, 1987) composed of six different problem types (C1,C2,R1,R2,RC1,RC2). Each data set contains between eight to twelve 100-node problems. The names of the six problem types have the following meaning. Sets C have clustered customers whose time ...


There is also: GasLib, with gas network instances based on perturbed real-world data.

Only top voted, non community-wiki answers of a minimum length are eligible