Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Warm start for an IP Model

    Posted 03/11/19 12:26 PM

    Originally posted by: brown_rice


    Hi,

    Does that make sense to use warm start for an IP model? At https://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.2/ilog.odms.cplex.help/CPLEX/UsrMan/topics/discr_optim/mip/para/49_mipStarts.html, it is stated that warm start is used for MIP. 

    When I call cplex for my IP model, it takes around 7 hours to reach the optimum. I obtain 0.42% optimality gap in 1.96 hours. Then, I run a heuristic to get an initial solution and warm start the model through giving a vector including all the binary variables and some of integer variables.

     

       0     0    20177.6236   460    20484.1969      Cuts: 32    74086    1.50%

    *     0+    0                        20283.6236    20177.6236             0.52%

          0     0    20177.6236   440    20283.6236      Cuts: 20    74459    0.52%

          0     0    20177.6236   445    20283.6236      Cuts: 20    75360    0.52%

    Heuristic still looking.

    Heuristic still looking.

          0     2    20177.6236   445    20283.6236    20177.6236    75360    0.52%

    Elapsed time = 616.81 sec. (251496.04 ticks, tree = 0.01 MB, solutions = 2)

     

    Within 10 minutes, I reach 0.52% optimality gap. However, straight 6 hours, optimality gap does not change at all. Am I doing something wrong? or what could be the reason?

     

    Elapsed time = 11537.09 sec. (2939524.53 ticks, tree = 1645.10 MB, solutions = 2)

       2115  1037        cutoff          20283.6236    20177.6236  2555924    0.52%

       2118  1026    20269.9724   398    20283.6236    20177.6236  2530005    0.52%

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Warm start for an IP Model

    Posted 03/11/19 01:52 PM

    Originally posted by: Lessi


     

    I think you can also try parameters related to cuts (try aggressive cut generation mode, for example), or parameters related to the solver (focusing on proving optimality), and you can develop own cuts/constraints to strengthen the formulation. 


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Warm start for an IP Model

    Posted 03/12/19 04:07 PM

    Warm starts definitely make sense, and some times they can provide significant performance improvements (mainly by providing a good incumbent, allowing nodes to be pruned sooner). Like everything else with MIPs, though, there is no guarantee. Occasionally a warm start will perform worse than a cold start. Some days you get the bear; some days the bear gets you.

    As far as your lower bound getting stuck, I agree with Lessi that you might try changing the MIP emphasis (either to proving optimality or to improving the bound), and you might try setting some cut parameters to more aggressive levels. Note that you can stop the solution at some point (time limit, iteration limit, gap limit), change some of the parameters, then resume solving without losing your progress As long as you do not modify the model itself, CPLEX will resume from the tree in effect when the first solve stopped.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Warm start for an IP Model

    Posted 03/19/19 02:46 PM

    Originally posted by: brown_rice


    Hi,

    Thank you both. When I call cplex to solve my IP model, I get an objective value of 14800.418549331. Then, I run my heuristic to get an initial partial solution to warm start my model. Here what CPLEX tells me; MIP start 'm1' defined initial solution with objective 14800.4185.

     

    This is actually the optimal solution. Why does not CPLEX stop working at this point? It just shows an optimality gap and gets stuck in an infinite loop. I attached the engine log output.


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Warm start for an IP Model

    Posted 03/19/19 04:19 PM

    CPLEX does not stop because it does not know that this is the optimal solution, due to the 0.41% gap (which is greater than the gap tolerance setting). The lower bound is not improving, which is why it gets stuck (but not in an "infinite loop" ... it will eventually terminate, assuming it does not run out of time or memory). Things you can try include setting the gap tolerance greater than 0.41% (so that the solution is accepted as optimal), or playing with other parameter settings. I would try setting the MP emphasis to either proven optimality or improvement of the best bound.

    As a side remark, I strongly recommend post logs as text files rather than Word documents. Not everyone uses MS Office.


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Warm start for an IP Model

    Posted 03/19/19 05:20 PM

    Originally posted by: brown_rice


    Hi,

    That makes sense and I also attached the txt version. I guess changing the gap tolerance might cause a problem on other data sets. I will play with the mipemphasis parameter. If anything changes, I will edit my comment.

    Thanks for the advice.


    #CPLEXOptimizers
    #DecisionOptimization