interdiction branching
play

Interdiction Branching Andrea Lodi 1 , Ted Ralphs 2 , Fabrizio Rossi - PowerPoint PPT Presentation

Interdiction Branching Andrea Lodi 1 , Ted Ralphs 2 , Fabrizio Rossi 3 , Stefano Smriglio 3 1 DEIS, University of Bologna 2 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University 3 Dipartimento di Informatica, University of


  1. Interdiction Branching Andrea Lodi 1 , Ted Ralphs 2 , Fabrizio Rossi 3 , Stefano Smriglio 3 1 DEIS, University of Bologna 2 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University 3 Dipartimento di Informatica, University of L’Aquila Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 1 / 17

  2. Outline Branching Methods in MILP 1 The 0-1 IP Case and Multi-variable Branching 2 Interdiction Branching by Bilevel Programming 3 Computational Experiments 4 Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 2 / 17

  3. Branching Methods Definition 1 Branching is a method of partitioning of the feasible region of a mathematical program by means of a logical disjunction. Definition 2 A (linear) disjunction is a logical operator consisting of a finite set of x ∈ R n if and only systems of inequalities that evaluates TRUE with respect to a given ˜ if at least one of the systems is satisfied by ˜ x. Specifically, a disjunction is a logical operator of the form � A h x ≥ b h , x ∈ S (1) h ∈Q where A h ∈ Q m h × n , b h ∈ Q m h , n ∈ N , m h ∈ N , h ∈ Q . x if and only if there exists h ∈ Q such that The disjunction evaluates TRUE for ˜ A h ˜ x ≥ b h . Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 3 / 17

  4. The Branching Decision In branch and bound , branching creates one new subproblem for each term in the branching disjunction. Each resulting subproblem is solved recursively. Key Question: How should we select a disjunction? Typically, the set of disjunctions to be considered is limited a priori in some fashion. From this limited set, one must choose the “best” disjunction by a given measure. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 4 / 17

  5. The Branching Decision In branch and bound , branching creates one new subproblem for each term in the branching disjunction. Each resulting subproblem is solved recursively. Key Question: How should we select a disjunction? Typically, the set of disjunctions to be considered is limited a priori in some fashion. From this limited set, one must choose the “best” disjunction by a given measure. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 4 / 17

  6. Selecting a Disjunction and Bilevel Programming The overall goal of any branching scheme is to reduce running time. As a proxy, most branching schemes try to minimize the (estimated) bound decrease resulting from imposing the disjunction. The problem of selecting the disjunction whose imposition results in the largest bound improvement has a natural bilevel structure . This comes from the fact that the bound is computed by solving another optimization problem: roughly speaking, one is solving an optimization problem over the set of optimal solutions of another optimization problem. The disjunction selection problem can sometimes be formulated as a bilevel program : The upper-level variables can be used to model the choice of disjunction (we’ll see an example shortly). The lower-level problem models the bound computation after the disjunction has been imposed. In strong branching, we are essentially solving the bilevel program by enumeration while interdiction branching is to select the branching disjunction directly by solving a bilevel program. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 5 / 17

  7. Selecting a Disjunction and Bilevel Programming The overall goal of any branching scheme is to reduce running time. As a proxy, most branching schemes try to minimize the (estimated) bound decrease resulting from imposing the disjunction. The problem of selecting the disjunction whose imposition results in the largest bound improvement has a natural bilevel structure . This comes from the fact that the bound is computed by solving another optimization problem: roughly speaking, one is solving an optimization problem over the set of optimal solutions of another optimization problem. The disjunction selection problem can sometimes be formulated as a bilevel program : The upper-level variables can be used to model the choice of disjunction (we’ll see an example shortly). The lower-level problem models the bound computation after the disjunction has been imposed. In strong branching, we are essentially solving the bilevel program by enumeration while interdiction branching is to select the branching disjunction directly by solving a bilevel program. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 5 / 17

  8. Selecting a Disjunction and Bilevel Programming The overall goal of any branching scheme is to reduce running time. As a proxy, most branching schemes try to minimize the (estimated) bound decrease resulting from imposing the disjunction. The problem of selecting the disjunction whose imposition results in the largest bound improvement has a natural bilevel structure . This comes from the fact that the bound is computed by solving another optimization problem: roughly speaking, one is solving an optimization problem over the set of optimal solutions of another optimization problem. The disjunction selection problem can sometimes be formulated as a bilevel program : The upper-level variables can be used to model the choice of disjunction (we’ll see an example shortly). The lower-level problem models the bound computation after the disjunction has been imposed. In strong branching, we are essentially solving the bilevel program by enumeration while interdiction branching is to select the branching disjunction directly by solving a bilevel program. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 5 / 17

  9. Selecting a Disjunction and Bilevel Programming The overall goal of any branching scheme is to reduce running time. As a proxy, most branching schemes try to minimize the (estimated) bound decrease resulting from imposing the disjunction. The problem of selecting the disjunction whose imposition results in the largest bound improvement has a natural bilevel structure . This comes from the fact that the bound is computed by solving another optimization problem: roughly speaking, one is solving an optimization problem over the set of optimal solutions of another optimization problem. The disjunction selection problem can sometimes be formulated as a bilevel program : The upper-level variables can be used to model the choice of disjunction (we’ll see an example shortly). The lower-level problem models the bound computation after the disjunction has been imposed. In strong branching, we are essentially solving the bilevel program by enumeration while interdiction branching is to select the branching disjunction directly by solving a bilevel program. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 5 / 17

  10. Issues on Variable Branching For certain combinatorial problems, branching on single variables can result in very unbalanced trees. Consider the knapsack or set-partitioning problems, for instance. Fixing a variable to 1 is typically very strong. Fixing a variable to zero can have little or not effect for difficult instances. Often, this phenomenon is caused by symmetry or near-symmetry of the variables. Fixing a single variable to zero has no effect because there will be another (symmetric) variable to take its place. A number of authors have proposed methods specific to certain combinatorial problems, see, e.g., Ryan & Foster (1981), Balas & Yu (1986). There have also been attempts to derive general methods of multi-variable branching, e.g., SOS branching. Of course, one can try to use more general two-term disjunctions (split disjunctions) but in this talk we are concerned with multi-variable branching. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 6 / 17

  11. Issues on Variable Branching For certain combinatorial problems, branching on single variables can result in very unbalanced trees. Consider the knapsack or set-partitioning problems, for instance. Fixing a variable to 1 is typically very strong. Fixing a variable to zero can have little or not effect for difficult instances. Often, this phenomenon is caused by symmetry or near-symmetry of the variables. Fixing a single variable to zero has no effect because there will be another (symmetric) variable to take its place. A number of authors have proposed methods specific to certain combinatorial problems, see, e.g., Ryan & Foster (1981), Balas & Yu (1986). There have also been attempts to derive general methods of multi-variable branching, e.g., SOS branching. Of course, one can try to use more general two-term disjunctions (split disjunctions) but in this talk we are concerned with multi-variable branching. Lodi, Ralphs, Rossi & Smriglio () Interdiction Branching Aussois XIV, January 5, 2010 6 / 17

Recommend


More recommend