Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Interpreting barrier log file

    Posted 07/12/10 03:04 PM

    Originally posted by: vdesai


    Hi all,
    I am having difficulty in understanding something from barrier log file.

    1) I sometimes get messages of the type:
    Refinement - orig 2.45e-07, refined 2.45e-07, target 4.00e-06, 0 iter

    From my experience, the solution does not seem right when I get too many of these messages. An example of such a log file is attached. Probably it indicates the problem is numerically ill-posed.

    2) Sometimes the barrier method runs for a while and comes back with the message "Barrier cannot determine infeasibility."

    Can someone give me some pointers to find out more about these issues. Thanks.

    Best,
    Vijay
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Interpreting barrier log file

    Posted 07/16/10 01:23 PM

    Originally posted by: Christian Bliek


    Hi Vijay,

    When you see the refinement message it means that CPLEX has determined that the solution to the linear system it solves internally might not be very accurate and it therefore proceeds to refine this solution. So indeed, when you see these messages it means that the problem at hand may be more numerically challenging.

    When you see "Barrier cannot determine infeasibility" it means that CPLEX was able to reduce the complementarity below the desired convergence tolerance, but that the primal and dual error are not within desired tolerance. Basically, this means that CPLEX has converged in terms of complementarity, but that at that point it can't draw any other conclusion, nor regarding optimality, nor regarding primal/dual feasibility. Once again this can happen on models that may be numerically hard.

    One thing you can check is whether the data in your problem is reasonably scaled, i.e. that you do not have quantities of say order 1e-10 mixed with quantities of order 1e10. If it is not, I suggest you try to improve your formulation so that it is better scaled.

    Models where the coefficients were converted from single precision to double precision might also sometimes cause problems because CPLEX tries to reach tolerances lower than single precision and is then basically facing the numerical noise in the model.

    You might also want to turn on the numerical emphasis parameter (set emph num y). CPLEX will then be more cautious on the numerical side.

    Another suggestion is use our infeasibility algorithm (set bar alg 1). This uses the homogeneous formulation. We have found that it often behaves better on numerically difficult models. It is not our default algorithm because it is slightly more costly.

    Finally, you may also consider modifying the desired complementarity tolerance. For the model producing the log you attached, I would suggest increasing the tolerance, e.g. move it from its default value 1e-8 to 1e-6.

    Christian.
    #CPLEXOptimizers
    #DecisionOptimization