Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Polishing - Deterministic

    Posted Mon August 12, 2013 05:25 AM

    Originally posted by: VivekPeriaraj


    Hello,

     

    I am using CPLEX 12.5.0.0. I use polishing to get to a better solution quickly. I have the same model run with after polishing criteria settings (after EP Gap of 1%) and run with a TILIM of 1000 seconds, but it results in two different solutions. Is it possible? The model is same between the runs as far I could tell. If so, is there a way to attain deterministic behavior?

    I have attached the results of two runs.

     

    Regards,

    Vivek.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Polishing - Deterministic

    Posted Mon August 12, 2013 10:24 AM

    Using a wallclock time limit is inherently non-deterministic (it is up to the operating system's scheduler how much time in that time frame CPLEX is allowed to run). To get deterministic behavior you should use some deterministic limit, like deterministic time limit, node limit, iteration limit etc.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Polishing - Deterministic

    Posted Mon August 12, 2013 10:59 AM

    Originally posted by: VivekPeriaraj


    Hi Daniel,

     

    Thanks. I will try with deterministic time. One other question I had, which I noticed after posting:

     

    In the attachment, until the optimizer reaches 1% EP Gap, everything is identical between the two runs. But immediately after the polishing begins, there are slight differences. Do you think this could be because the two models are slightly different? Unfortunately, I don't have the model 1 LP files or the code that generated it.

     

    In addition, the model 1 has:

    Implied bound cuts applied: 203

    And model 2 has:

    Implied bound cuts applied: 218

     

    But everything else is same in the B&C segment. What could create this difference?

     

    Regards,

    Vivek.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Polishing - Deterministic

    Posted Thu August 15, 2013 03:19 AM

    It looks like things are not exactly the same at the point at which the 0.01% gap is reached: The first run reports

    Root node processing (before b&c):
      Real time             =   11.93 sec. (9470.33 ticks)
    Parallel b&c, 8 threads:
      Real time             =   71.74 sec. (47036.19 ticks)
      Sync time (average)   =    0.01 sec.
      Wait time (average)   =    0.00 sec.
                              ------------
    Total (root+branch&cut) =   83.67 sec. (56506.51 ticks)

    while the second one reports:

    Root node processing (before b&c):
      Real time             =   12.18 sec. (9470.33 ticks)
    Parallel b&c, 8 threads:
      Real time             =   70.62 sec. (47036.93 ticks)
      Sync time (average)   =    0.01 sec.
      Wait time (average)   =    0.00 sec.
                              ------------
    Total (root+branch&cut) =   82.80 sec. (56507.25 ticks)

    As you can see, the number of deterministic ticks for B&C for the two runs are different. This indicates that different things have been done in the two runs. If the two models were indeed different then this may be the reason for the differences.

    Even small differences may cause the subsequent polishing to behave in different ways as well.


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Polishing - Deterministic

    Posted Thu August 15, 2013 10:00 AM

    Originally posted by: VivekPeriaraj


    Hi Daniel,

     

    Thanks. I looked at the number of columns in both the models (even though I don't have the LP files of model 1, I have the statistics about the number columns that went into that model) and they are exactly identical. The only other thing I have noticed between the two runs is that during the B&C of run 1, there were other CPU intensive (GAMS CPLEX runs) processes running on the server. Do you think this may have caused slight differences in the B&C path? 

     

    Regards,
    Vivek.


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Polishing - Deterministic

    Posted Thu August 15, 2013 12:03 PM

    Originally posted by: VivekPeriaraj


    I just did a small run with other processes running and that didn't affect the B&C path. It must be that the two models were slightly different.

     

    Thanks a lot for your help, Daniel!

     

    Regards,
    Vivek.


    #CPLEXOptimizers
    #DecisionOptimization