Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Improve performance

    Posted Thu November 13, 2014 07:38 AM

    Originally posted by: BrieBroom


    Hello Community,

     

    I'm looking for an advice to improve the solution quality of my model.

    I already created the model as lean as possible (sparse). So there is nothing I can/want to change there as all restrictions are important. So I was thinking about adjusting some parameters in the config-file.

    Currently the performance looks about as followed:

    8% gap after 20min

    7% gap after 2h

    6% gap after 22h

     

    I would like to improve it to about a 5% gap (ideally within 10h).

     

    Any tips from you guys which parameters I can adjust to improve the model?

    If you need any additional information, please let me know.

     

    regards


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Improve performance

    Posted Thu November 13, 2014 09:36 AM

    The easiest thing to try is to play with the MIP emphasis parameter.

    If that does not help you should check the engine log whether the lack of progress is more on the primal or more on the dual side. If good primal solutions are not found quickly enough it may help to force more aggressive heuristics via the heuristic frequency parameter. If the dual bound is not moving fast enough you can try with more aggressive cuts.

    If you post the engine log here we can probably help you to analyze it.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Improve performance

    Posted Thu November 13, 2014 10:08 AM

    Originally posted by: BrieBroom


    Thanks for the reply. Here is some of the the information...you can find the complete engine log attached.

     

     

     

    Tried aggregator 2 times.

    MIP Presolve eliminated 872 rows and 61 columns.

    MIP Presolve modified 3084 coefficients.

    Aggregator did 224 substitutions.

    Reduced MIP has 2858 rows, 3590 columns, and 13490 nonzeros.

    Reduced MIP has 1558 binaries, 0 generals, 0 SOSs, and 0 indicators.

    Presolve time = 0.03 sec. (19.76 ticks)

    Probing fixed 0 vars, tightened 696 bounds.

    Probing time = 0.14 sec. (1.47 ticks)

    Tried aggregator 1 time.

    MIP Presolve modified 366 coefficients.

    Reduced MIP has 2858 rows, 3590 columns, and 13490 nonzeros.

    Reduced MIP has 1558 binaries, 0 generals, 0 SOSs, and 0 indicators.

    Presolve time = 0.02 sec. (11.33 ticks)

    Probing fixed 0 vars, tightened 395 bounds.

    Probing time = 0.00 sec. (1.67 ticks)

    Clique table members: 5.

    MIP emphasis: balance optimality and feasibility.

    MIP search method: dynamic search.

    Parallel mode: deterministic, using up to 4 threads.

    Root relaxation solution time = 0.08 sec. (25.64 ticks)

     

     

    Thanks a lot for your help!

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Improve performance

    Posted Thu November 13, 2014 12:18 PM

    OK, I took a quick glance at the log. All feasible solutions are found by heuristics. So one thing to try would be to set the MIP emphasis parameter to 4 (find hidden feasible solutions). Does this get you the solution with objective 80200 earlier?

    BTW, we are always interested to test our code on hard models. Do you own your model and the data in it and would be willing to send it to us so that we can add it to our internal set of benchmarking models?


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Improve performance

    Posted Mon November 17, 2014 02:30 AM

    Originally posted by: BrieBroom


    I tried the different settings over the past couple days, but they did not yield any better solution. Seems like the automatic setting works pretty well.

     

    Unfortunately, I can't provide you with my model right now as it is part of an academic work in progress. Once it is finished, I can provide you the model and data though.

    Regards


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Improve performance

    Posted Tue November 18, 2014 12:43 AM

    What do you mean "did not yield a better solution"? The total running time did not decrease or changing the MIP emphasis did not help at all?

    I am asking because you could also try some hybrid strategies like "do aggressive heuristics for 1000 nodes, then disable heuristics completely". This would of course only be meaningful if aggressive heuristics give you the good solution faster than default settings. In addition to MIP emphasis you could play with CPX_PARAM_HEURFREQ and CPX_PARAM_RINSHEUR.


    #CPLEXOptimizers
    #DecisionOptimization