Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  smaller bigMs make CPLEX performance worse

    Posted 11/08/18 04:12 AM

    Originally posted by: a_tTi


    Hi everyone

    We are currently trying to solve some large MILP problems with the Java CPLEX API. These problems contains a number of "bigM constraints".

    Theoretically, tuning the bigM constants to make the constraints tight should improve the performance of the solver. Thus, we defined constraint-specific values for the bigM's. In average, the new values are about 100 times smaller than the original ones.

    However, over 18 instances we observed no improvement, and in 5 of them we observed a surprisingly increase of the solution time up to 100% (i.e. from about 60 seconds to 130). The results are exactly the same, so we are convinced that the new values of the bigMs are correct (or at least they do not change the result).

    Can someone give me an explanation for this unexpected behaviour?

    Thanks!


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: smaller bigMs make CPLEX performance worse

    Posted 11/09/18 04:54 AM

    Can you show the log files for these runs or can you tell from the log files what makes things harder for CPLEX?

    One potential explanation is that using tighter big-M constraints makes it harder for CPLEX to find a first feasible solution.

    In any case, did you also try using logical constraints (IloCplex.ifThen()) instead of those bigM constraints? If bigM values are still large this is usually better from a numerical point of view.


    #CPLEXOptimizers
    #DecisionOptimization