14.1 Problem Analyzer¶
The problem analyzer prints a survey of the structure of the problem, with information about linear constraints and objective, quadratic constraints, conic constraints and variables.
In the initial stages of model formulation the problem analyzer may be used as a quick way of verifying that the model has been built or imported correctly. In later stages it can help revealing special structures within the model that may be used to tune the optimizer’s performance or to identify the causes of numerical difficulties.
The problem analyzer is run using
Task.analyzeproblem. It prints its output to a log stream. The output is similar to the one below (this is the problem survey of the
aflow30a problem from the MIPLIB 2003 collection).
Analyzing the problem *** Structural report Dimensions Constraints Variables Matrix var. Cones 479 842 0 0 Constraint and bound types Free Lower Upper Ranged Fixed Constraints: 0 0 421 0 58 Variables: 0 0 0 842 0 Integer constraint types Binary General 421 0 *** Data report Nonzeros Min Max |cj|: 421 1.1e+01 5.0e+02 |Aij|: 2091 1.0e+00 1.0e+02 # finite Min Max |blci|: 58 1.0e+00 1.0e+01 |buci|: 479 0.0e+00 1.0e+01 |blxj|: 842 0.0e+00 0.0e+00 |buxj|: 842 1.0e+00 1.0e+02 *** Done analyzing the problem
The survey is divided into a structural and numerical report. The content should be self-explanatory.