Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

Branch callback abort at root node restarts optimization

  • 1.  Branch callback abort at root node restarts optimization

    Posted Mon November 25, 2019 07:46 AM

    Originally posted by: srinit34


    hi

    I have a branch callback which simply calls abort.

    When I call solve a second time (ie after the abort), I want  optimization to continue from one of the two child nodes of the root, and not from the root itself.

    Can this be done?

    Thanks !

    edit : I also tried using make branch with arguments (0, null ) and ( 1 , null ) just before the abort, but cplex still seems to restart from the root node. Try with MIP b1c1s1 from MIpLIB.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Branch callback abort at root node restarts optimization

    Posted Wed November 27, 2019 03:22 AM

    If you abort from the branch callback then branching decisions made in this callback invocation are discarded. Can you try aborting from a node selection callback instead?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Branch callback abort at root node restarts optimization

    Posted Wed November 27, 2019 01:38 PM

    Originally posted by: srinit34


    thanks Daniel. Yes, I already figured that node callback is the better place to abort when the leaf count exceeds 1.

    But I am still confused about 2 things with b1c1s1:

    1) upon resumption, cuts seems to be generated again.

    2) the node log seems to show 1 leaf, not 2 as I expected.

     

    It also seems that on the second invocation of solve, I need an empty branch callback. If I just remove all callbacks and have traditional search, that is not enough to resume search?

     

           Nodes                                         Cuts/
       Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap         Variable B NodeID Parent  Depth

          0     1    20167.0784   234                   Cuts: 168    12465   

     

     


    #CPLEXOptimizers
    #DecisionOptimization