Analyzing the solution process
Xpress-SLP provides a comprehensive set of callbacks to interact with, and to analyze the solution process. However, there are a set of purpose build options that are intended to assist and make the analysis more efficient.
For infeasible problems, it often helps to identify the source of conflict by running XPRESS' Irreducible Infeasibiliy Set (IIS) finder tool. The set found by IIS often helps to either point to a problem in the original model formulation, or if the infeasibility is a result of conflicting step bounds or linearization updates; please see control XSLP_ANALYZE.
Xpress-SLP can collect the various solutions it generates during the solution pool to an XPRS solution pool object. The solution pool is accessible using the XSLP_SOLUTIONPOOL pointer attribute. The solutions to collect are defined by XSLP_ANALYZE. It is also possible to let XSLP write the collected solutions to disk for easier access.
It is often advantageous to trace a certain variable, constraint or a certain property through the solution process. XSLP_TRACEMASK and XSLP_TRACEMASKOPS allows for collecting detailed information during the solution process, without the need to stop XSLP between iterations.
For in depth debugging purposes or support requests, it is possible to create XSLP save files and linearizations at verious iterations, controlled by XSLP_AUTOSAVE and XSLP_ANALYZE.