CPLEX Post Solve Statistics

418 views
Skip to first unread message

Ragu

unread,
Feb 26, 2014, 8:56:02 AM2/26/14
to ai...@googlegroups.com
Hi
I just solved a MILP and observed the message window for some solver statistics:


Removing perturbation.
There are no bound infeasibilities.
Max. unscaled (scaled) reduced-cost infeas. = 4.33211E-014 (4.33211E-014)
Max. unscaled (scaled) Ax-b resid.          = 9.07723E+002 (9.07723E+002)
Max. unscaled (scaled) c-B'pi resid.        = 8.65445E-014 (8.65445E-014)
Max. unscaled (scaled) |x|                  = 1.50317E+004 (1.50317E+004)
Max. unscaled (scaled) |slack|              = 3.20000E+002 (3.20000E+002)
Max. unscaled (scaled) |pi|                 = 1.50000E+002 (1.50000E+002)
Max. unscaled (scaled) |red-cost|           = 2.39932E+004 (2.39932E+004)
Postsolve: the maximum unscaled (primal) constraint violation is higher than the feasibility tolerance (9.08E+002 > 1.00E-006), 
and is attained by constraint c4(104,24). This indicates that the current model is ill-conditioned.
Postsolve: the maximum scaled (primal) constraint violation is higher than the feasibility tolerance (9.08E+002 > 1.00E-006), 
and is attained by constraint c4(104,24). This indicates that the current model is ill-conditioned.
Memory in use by CPLEX 12.5.0.0: 3651736 bytes.
Warning: Postsolve indicates that solution to Obj is not reliable.

I checked the corresponding constraint c4(104,24) and the value is within bounds. I do not have constraint RHS that are wacky big numbers . The bounds for majority of the constraint are in the 100 and there are some yes/no binary variables.  I am wondering how to interpret the" ill-conditioned" model perspective?
Would appreciate if someone could guide me in this regard. 
Also, can AIMMS list out the objective value at all the nodes in a B & B tree?

Marcel Hunting

unread,
Feb 26, 2014, 10:48:06 AM2/26/14
to ai...@googlegroups.com
Hi,

A maximum (primal) constraint violation of 900 means that the solution found is not feasible as there is a constraint that is violated by this amount. How did you check the value of the constraint c4(104,24)? AIMMS can print the constraint listing (by setting the general solvers option 'Constraint Listing') in which all constraints are evaluated using the solution returned by CPLEX. What does the constraint listing show for c4(104,24)?

An ill-conditioned model can also be caused by very large of very small (in absolute sense) coefficients.

CPLEX can write a detailed log file with the branch-and-bound tree, including the objective value of the nodes, by setting the CPLEX option 'MIP Display' to 'Display each nth node', the CPLEX option 'MIP Interval' to 1, and the general solvers option 'Solver Listing Messages' to 'All'. The logging information is written to the file 'CPLEX 12.5.sta' and is placed in the log directory of your AIMMS project.

Best regards,

Marcel Hunting
AIMMS Software Developer

Ragu

unread,
Feb 26, 2014, 10:59:25 AM2/26/14
to ai...@googlegroups.com
Hi Marcel
Appreciate the quick response.
I checked the constraint value under the Math Program Inspector first and then opened the .sta, and .sol files on CPLEX IDE to see whats happening with c4(104,24). 
For whatever reasons, I restarted AIMMS, changed the CPLEX output display and now I am seeing no errors in the message window.

There are no bound infeasibilities.
Max. unscaled (scaled) reduced-cost infeas. = 2.84217E-014 (2.72848E-012)
Max. unscaled (scaled) Ax-b resid.          = 1.81899E-012 (3.01981E-013)
Max. unscaled (scaled) c-B'pi resid.        = 6.93739E-014 (6.93739E-014)
Max. unscaled (scaled) |x|                  = 1.50317E+004 (4.07723E+002)
Max. unscaled (scaled) |slack|              = 9.07723E+002 (9.07723E+002)
Max. unscaled (scaled) |pi|                 = 1.50000E+002 (2.04800E+004)
Max. unscaled (scaled) |red-cost|           = 2.39932E+004 (2.39932E+004)
The basis condition number ('kappa')        = 9.56E+003
Checking solution: solution seems to be ok.
Memory in use by CPLEX 12.5.0.0: 53852312 bytes.

Also, would changing the MIP search method, MIP emphasis, LP method affect the conditioning? Or is it better to leave these settings to "automatic" and let AIMMS decide?

Marcel Hunting

unread,
Feb 27, 2014, 4:28:03 AM2/27/14
to ai...@googlegroups.com
Hi,

The solution that you get now seems to be good; the infeasibilities are very small and Kappa is ok.

If the model contains multiple optimal solutions than changing one the options MIP search method, MIP emphasis or LP method could result in a different optimal solution with different statistics (but likely similar to the current one). If the model contains one unique solution then changing one of these options will not have an effect on the solution statistics. Better leave them to "automatic" and let CPLEX decide.

Best regards,

Marcel
Reply all
Reply to author
Forward
0 new messages