next up previous contents Back to SYMPHONY Home Page
Next: Controlling Execution and Output Up: Debugging Your Application Previous: Using the Interactive Graph

Other Debugging Techniques

Another useful built-in function is MakeMPS, which will write the current LP relaxation to a file in MPS format. This file can then be read into the LP solver interactively or examined by hand for errors. Many times, CPLEX gives much more explicit error messages interactively than through the callable library. The form of the function is

void MakeMPS(LPData *lp_data, int bc_index, int iter_num)
The matrix is written to the file ``matrix.[bc_index].[iter_num].mps'' where bc_index is the usually passed as the index of the current subproblem and iter_num is the current iteration number. These can, however, be any numbers the user chooses. If SYMPHONY is forced to abandon solution of an LP because the LP solver returns an error code, the current LP relaxation is automatically written to the file ``matrix.[bc_index].[iter_num].mps'' where bc_index is the index of the current subproblem and iter_num is the current iteration number. MakeMPS can be called using breakpoint code to examine the status of the matrix at any point during execution.

Logging is another useful feature. Logging the state of the search tree can help isolate some problems more easily. See Section 3.4 for the appropriate parameter settings to use logging.


next up previous contents
Next: Controlling Execution and Output Up: Debugging Your Application Previous: Using the Interactive Graph
Ted Ralphs
2000-09-08