Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Strong Branching Score at each Branch and Bound Node

    Posted 12/27/17 12:28 AM

    Originally posted by: Arun2325


    For my project, I am using Python CPLEX API to solve an integer program using Branch and Bound (BnB). As part of the project, I need to compute and store the strong branching scores of all the fractional variables at BnB nodes. Though there are no direct ways of computing the strong branching score, I can find the up and down pseudo costs of all variables using BranchCallback. If the up and down pseudo costs of a variable were to give the change in the objective value of the up and down branches, respectively, then strong branching score of a variable is just the product of these two pseudocosts. But through experiments, I observe that the pseudo costs are not the change in objective values. If not pseudo costs, how else can I compute the strong branching scores of all fractional variables?    

     

    Note: I have parameterized CPLEX to use strong branching variable selection strategy at all nodes and for all fractional variables.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Strong Branching Score at each Branch and Bound Node

    Posted 12/27/17 10:22 AM

    Originally posted by: EXCT_RALF_GOLLMER


    Hi, I cannot understand why you would compute

    "strong branching score of a variable is just the product of these two pseudocosts."

    In my understanding strong branching is performing (a limited number of) simplex steps on the problem, not only using pseudocosts.

    So do you intend to use the scores you compure for selecting the candidates for the real strong branching?

    There are other approaches, too, see

    Achterberg, Koch, Martin: Branching rules revisited, Operations Research Letters, Volume 3, Issue 1, January 2005, Pages 42-54

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Strong Branching Score at each Branch and Bound Node

    Posted 12/27/17 11:06 AM

    Originally posted by: Arun2325


    Yes, I am using the strong branching (SB) scores for selecting variable for the real strong branching. For example, if at a particular node there are five fractional variables, then I will compute the SB score of all the five variables and choose the variable with the highest SB score for branching. To compute the SB score of a variable, I need to know the objective values of up and down nodes (supposing that this variable is used for branching) of that variable (since SB score of a variable is the product of change in objective values at the up and down nodes). Since my initial presumption that the up and down pseudocosts of a variable are the change in objective values of the up and down branches, respectively, turned out to be wrong, I am trying to find other ways to compute the SB scores of all fractional variables at a node.

     

    I am trying to replicate the results published in this paper:  Alvarez, Alejandro Marcos, Quentin Louveaux, and Louis Wehenkel. "A machine learning-based approximation of strong branching." INFORMS Journal on Computing 29.1 (2017): 185-195.


    #CPLEXOptimizers
    #DecisionOptimization