Performance World [ Performance World Home | Board | Tools | PerformanceLib | Links | Gams World Forum | Search | Contact ]


In order to do accurate performance evaluations it may be useful to obtain more detailed information about a solve than the end data the trace file gives. E.g., for a branch-and-bound based solver, we may want to have intermediate information about the solve for the rootnode, subnodes, and end results.

The solve trace option that is implemented in some of the GAMS solver interfaces allows users to output solve information, e.g., primal and dual bounds, for every n nodes or at every time step. For example, the user may be interested in the objective value of the incumbent solution or the best dual bound on the optimal value every 50 nodes and every five seconds of the solve.

Using the GAMS solve trace option

The solve trace option is invoked via a GAMS solver options file. Usually, options to specify a filename of the trace file to be created and options to specify time and node intervals are available.
Please refer to the GAMS solver manuals for the exact names of these options (search for solvetrace or miptrace).

A sample solve trace file is where the file includes statistics of a GAMS run using the MIP model blend2 from the Performance Library and the solver XPRESS.

Solve trace file format

The column headers for solve trace files are as follows:
    1. lineNum:          GAMS index to be able to read in the file as a table. 
    2. seriesID:         S=start, N=Node, T=time information, E=end.
    3. node:             
    4. seconds:          time after solve start.
    5. bestFound:        best integer solution at a given time or node.
    6. bestBound:        best bound at a given time or node.