Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Warmstarting CPXmipopt?

    Posted 10/13/16 05:33 AM

    Originally posted by: excalibur1491


    Hi,

     

    I have a rather simple question but I haven't found the answer on the doc.

    I run CPXmipopt, then I modify the problem a bit (change bounds of variables), and I run CPXmipopt again. All this inside the same function. The problem has changed, but not brutally, only a small percentage of the variables had their bounds changed.

    Should I be doing something special for CPLEX to do a warmstart from the previous solution? I have the suspicion that it doesn't actually...

     

    Thanks


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Warmstarting CPXmipopt?

    Posted 10/13/16 06:27 AM

    CPLEX automatically carries over the solutions from the previous solve as a MIP start for the next solve: Each solution found for the first model becomes a MIP start for the second omdel. If the solutions are still feasible in the next solve then they are used, otherwise they are discarded. If you enable log output then you should see messages about MIP starts right at the beginning of the second solve.

    If the solutions of the first solve are infeasible for the second solve but you know how to repair this infeasibility, then you should extract the solutions after the first solve, repair them, and explicitly add them as MIP start for the second solve. Another option would be to explicitly change the effortlevel to Repair for all MIP starts after the first solve. Yet another option would be to query the solutions after the first solve but only submit them as a partial MIP start for the second model. That is, you remove all variables from the MIP start for which you know their current values are infeasible. And maybe remove some more variables. You are left with a subset of the integer variables. This you submit as MIP start with effortlevel at least SolveMIP. CPLEX will then automatically attempt to complete this partial MIP start to obtain a feasible solution.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Warmstarting CPXmipopt?

    Posted 10/13/16 06:28 PM

    Originally posted by: excalibur1491


    Thanks,

     

    I am quite confident that my solutions from previous runs are infeasible in the next step of the LNS... I am not sure how I would repair it actually, all my constraints are connected to each other like some sort of spaghetti code. I will have to think about this though, because it seems like it could help me a bit (not my major issue, the major problem I have now is that my linear relaxation gives very bad bounds).

     

    I've seen this doc https://www.ibm.com/support/knowledgecenter/SS9UKU_12.5.0/com.ibm.cplex.zos.help/UsrMan/topics/discr_optim/mip/para/49_mipStarts.html .

    With this and your explanation of what partial MIP starts I think I can get onto it.

     

    Thanks for the help.


    #CPLEXOptimizers
    #DecisionOptimization