Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Tightening node bound

    Posted 02/14/20 02:11 PM

    Is there a way to tighten the bound at a node using generic callbacks? I'm using the Java API. As best I can tell, the only IloCplex.Callback.Context methods that allow a bound to be specified are the various makeBranch() variations. The problem with using them is that, unlike with legacy callbacks, there seems to be no method to interrogate CPLEX about how CPLEX would branch ... and I have no ambition to make branching decisions.

    Would calling postHeuristicSolution() with the solution CPLEX got at the node but with a tighter objective estimate result in CPLEX using the objective estimate as the node bound?

    Thanks,

    Paul

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Tightening node bound

    Posted 02/17/20 10:12 AM

    Unfortunately, there is no way to overwrite the node bound estimate without doing a custom branch.

    The trick with the heuristic will not work either: you could indeed fool CPLEX by providing a fake objective value and using the NOCHECK option, but then CPLEX would treat this as _globally_ valid bound/cutoff.

    The only way I think of right now is this: define a variable that is equivalent to the objective and then inject local cuts that tighten the bounds on that variable.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Tightening node bound

    Posted 02/17/20 10:22 AM