Decision Optimization

Decision Optimization

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

 View Only
  • 1.  incubment and branch callbacks

    Posted Wed July 16, 2008 09:46 PM

    Originally posted by: SystemAdmin


    [leo said:]

    Hi, I use incumbent and branch callbacks in CPLEX11.1. When an integer soltuion is found, the incumbent callbakck is called to check whether we should accept this integer solution. When it is feasible, CPLEX will not call the branch callback and contitune to select a new node to explore. But in my implementation, the branch callback is still called after I accept the integer solution in the incumbent callback (I set *isfas_p =1).

    So I can not figure out this problem. Thanks for any help and comments.



    Leo
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: incubment and branch callbacks

    Posted Wed July 16, 2008 10:26 PM

    Originally posted by: SystemAdmin


    [Sylvain said:]

    I think the branch callback will always be called but cplex will not create any subproblem if the current solution is integer.
    If you try to use the function getNbranches() in the branch callback, you will see that no branches will be created.
    I also think that no branches will be created even though the integer solution is rejected...
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: incubment and branch callbacks

    Posted Wed July 16, 2008 10:48 PM

    Originally posted by: SystemAdmin


    [leo said:]

    [quote author=Sylvain link=topic=410.msg1184#msg1184 date=1216229163]
    I think the branch callback will always be called but cplex will not create any subproblem if the current solution is integer.
    If you try to use the function getNbranches() in the branch callback, you will see that no branches will be created.
    I also think that no branches will be created even though the integer solution is rejected...


    Do you make sure that the branch callback is always called ?

    I control the branching in the branch callback. When an infeasible integer solution, I wll add a constraints in the branch callback.

    If the branch callback is still called when I accept a feasible integer solution, I have to  control the branching in the branch callback. I have to tell CPLEX not to branch.  Do you think so?

    Thanks.

    Leo


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: incubment and branch callbacks

    Posted Wed July 16, 2008 11:02 PM

    Originally posted by: SystemAdmin


    [prubin said:]

    Sylvain is correct.  If there is a branch callback, it will be called at every node where branching could occur (meaning every node except those that are fathomed after solving the LP, either for infeasibility or based on the bound).  If you want to control branching under one circumstance but not under another, you need to write the branch callback so that it can tell which circumstance applies, and return without making any branches if you want CPLEX to do the branching.

    /Paul
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: incubment and branch callbacks

    Posted Thu July 17, 2008 07:22 PM

    Originally posted by: SystemAdmin


    [leo said:]

    Thanks. I will finish the program according to your suggestion.

    Leo
    #CPLEXOptimizers
    #DecisionOptimization