Computational Integer Programming Lecture 8: Branch and Bound

Computational Integer Programming Lecture 8: Branch and Bound

Computational Integer Programming Lecture 8: Branch and Bound Dr. Ted Ralphs Computational MILP Lecture 8 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 • Wolsey Chapter 7 • 1 Computational MILP Lecture 8 2 Computational Integer Optimization We now turn to the details of how integer optimization problems are • solved in practice. Computationally, the most important aspects of solving integer • optimization problems are { A method for obtaining good bounds on the value of the optimal solution (usually by solving a relaxation or dual; and { A method for generating valid disjunctions violated by a given (infeasible) solution. In this lecture, we will motivate this fact by introducing the branch and • bound algorithm. We will then look at various methods of obtaining bounds. • Later, we will examine branch and bound in more detail. • 2 Computational MILP Lecture 8 3 Integer Optimization and Disjunction As we know, the difficulty in solving an integer optimization problem • arises from the requirement that certain variables take on integer values. Such requirements can be described in terms of logical disjunctions, • constraints of the form [ x Xi 2 1≤i≤k n for Xi R ; i 1; : : : ; k. ⊆ 2 The integer variables in a given formulation may represent logical • conditions that were originally expressed in terms of disjunction. In fact, the MILP Representability Theorem tells us that any MILP can • be re-formulated as an optimization problem whose feasible region is k [ 1 t = i + intcone r ; : : : ; r F P f g i=1 is the disjunctive set defined above, for some appropriately chosen F 1 t n polytopes 1;:::; k and vectors r ; : : : ; r Z . P P 2 3 Computational MILP Lecture 8 4 Two Conceptual Reformulations From what we have seen so far, we have to two conceptual reformulations • of a given integer optimization problem. The first is in terms of disjunction: • ( k !) > [ 1 t max c x x i + intcone r ; : : : ; r (DIS) j 2 P f g i=1 The second is in terms of valid inequalities: • max c>x x conv( ) (CP) j 2 S where is the feasible region. S In principle, if we had a method for generating either of these • reformulations, this would lead to a practical method of solution. Unfortunately, these reformulations are necessarily of exponential size in • general, so there can be no way of generating them efficiently. 4 Computational MILP Lecture 8 5 Valid Disjunctions In practice, we dynamically generate parts of the reformulations (CP) and • (DIS) in order to obtain a proof of optimality for a particular instance. The concept of valid disjunction, arises from a desire to approximate the • feasible region of (DIS). k n Definition 1. Let Xi i=1 be a collection of subset of R . Then if S f g k 1≤i≤k Xi , the disjunction associated with Xi i=1 is said to be valid for an⊇ MILP S with feasible set . f g S k Definition 2. If Xi i=1 is a disjunction valid for and Xi is polyhedral for all i 1; : : : ;f k ,g then we say the disjunction isS linear. 2 f g k Definition 3. If Xi i=1 is a disjunction valid for and Xi Xj = for all i; j 1; : : :f ; k g, we say the disjunction is partitiveS . \ ; 2 f g k Definition 4. If Xi i=1 is a disjunction valid for that is both linear and partitive, we callf itg admissible. S 5 Computational MILP Lecture 8 6 Valid Inequalities Likewise, we can think of the concept of a valid inequality as arising from • our desire to approximate conv( ) (the feasible region of (CP)). S The inequality denoted by (π; π0) is called a valid inequality for if • π>x π x . S ≤ 0 8 2 S n > Note (π; π0) is a valid inequality if and only if x R π x π0 . • S ⊆ f 2 j ≤ g 6 Computational MILP Lecture 8 7 Optimality Conditions p Let us now consider an MILP (A; b; c; p) with feasible set = (Z+ • n−p S P\ × R ), where is the given formulation. + P k Further, let Xi i=1 be a linear disjunction valid for this MILP so that • nf g Xi R is polyhedral. \ P ⊆ > Then maxX \S c x is an MILP for all i 1; : : : ; k. • i 2 For each i = 1; : : : ; k, let i be a polyhedron such that Xi i • P \ S ⊆ P ⊆ Xi. P\ In other words, i is a valid formulation for subproblem i, possibly • strengthened by additionalP valid inequalities. k Note that i is itself a valid linear disjunction. • fP gi=1 We will see why there is a distinction between Xi and i later on. • P Conceptually, we are combining and relaxing the formulations (CP) and • (DIS). 7 Computational MILP Lecture 8 8 Optimality Conditions (cont'd) From the disjunction on the previous slide, we obtain a relaxation of a • general MILP. This relaxation yields a practical set of optimality conditions. • In particular, • > (1) max max n c x zIP ; i21;:::;k x2Pi\R+ ≥ which implies that if we have x∗ such that 2 S > > ∗ (OPT) max max n c x = c x ; i21;:::;k x2Pi\R+ then x∗ must be optimal. 8 Computational MILP Lecture 8 9 More on Optimality Conditions Although it is not obvious, these optimality conditions can be seen as a • generalization of those from LP. They are also the optimality conditions implicitly underlying many • advanced algorithms. There is an associated duality theory that we will see later. • By parameterizing (1), we obtain a \dual function" that is the solution • to a dual that generalizes the LP dual. 9 Computational MILP Lecture 8 10 Branch and Bound Branch and bound is the most commonly-used algorithm for solving • MILPs. It is a recursive, divide-and-conquer approach. • Suppose is the feasible set for an MILP and we wish to compute • S> maxx2S c x. Consider a partition of into subsets ;::: k. Then • S S1 S max c>x = max max c>x x2S f1≤i≤kgfx2Si g . In other words, we can optimize over each subset separately. • Idea: If we can't solve the original problem directly, we might be able to • solve the smaller subproblems recursively. Dividing the original problem into subproblems is called branching. • Taken to the extreme, this scheme is equivalent to complete enumeration. • 10 Computational MILP Lecture 8 11 Branching in Branch and Bound k Branching is achieved by selecting an admissible disjunction Xi and • f gi=1 using it to partition , e.g., i = Xi. S S S\ We only consider linear disjunctions so that the subproblem remain • MILPs after branching. The reason for choosing partitive disjunctions is self-evident. • The way this disjunction is selected is called the branching method and • is a topic we will examine in some depth. ∗ ∗ Generally speaking, we want x 1≤i≤kXi, where x is the (infeasible) • solution produced by solving the62 [bounding problem associated with a given subproblem. A typical disjunction is • ∗ X = xj x ; (2) 1 f ≤ b j cg ∗ X = xj x ; (3) 2 f ≥ d j eg where x∗ argmax c>x. 2 x2P 11 Computational MILP Lecture 8 12 Bounding in Branch and Bound The bounding problem is a problem solved to obtain a bound on the • > optimal solution value of a subproblem maxSi c x. Typically, the bounding problem is either a relaxation or a dual of the • subproblem (these concepts will be defined formally in Lecture 7). Solving the bounding problem serves two purposes. • { In some cases, the solution x∗ to the relaxation may actually be a feasible solution (x∗ , in which case c>x∗ is a global lower bound l( ). 2 S S { Bounding enables us to inexpensively a bound b( i) on the optimal solution value of subproblem i. S If b( i) l( ), then i can't contain a solution strictly better than the • bestS one≤ foundS so far.S Thus, we may discard or prune subproblem i. • 12 Computational MILP Lecture 8 13 Constructing a Bounding Problem There are many ways to construct a bounding problem and this will be • the topic of later lectures. The easiest of the these is to form the LP relaxation max n , P\R+\Xi • obtained by dropping the integrality constraints. For the rest of the lecture, assume all variables have finite upper and • lower bounds. 13 Computational MILP Lecture 8 14 LP-based Branch and Bound: Initial Subproblem In LP-based branch and bound, we first solve the LP relaxation of the • original problem. The result is one of the following: 1. The LP is infeasible MILP is infeasible. 2. We obtain a feasible) solution for the MILP optimal solution. 3. We obtain an optimal solution to the LP that) is not feasible for the MILP upper bound. ) In the first two cases, we are finished. • In the third case, we must branch and recursively solve the resulting • subproblems. 14 Computational MILP Lecture 8 15 Branching in LP-based Branch and Bound In LP-based branch and bound, the most commonly used disjunctions • are the variable disjunctions, imposed as follows: { Select a variable i whose value x^i is fractional in the LP solution. { Create two subproblems. In one subproblem, impose the constraint xi x^i . ∗ ≤ b c In the other subproblem, impose the constraint xi x^i . ∗ ≥ d e What does it mean in a 0-1 problem? • 15 Computational MILP Lecture 8 16 The Geometry of Branching Figure 1: The original feasible region 16 Computational MILP Lecture 8 17 The Geometry of Branching (cont'd) Figure 2: Branching on disjunction x 2 OR x 3 1 ≤ 1 ≥ 17 Computational MILP Lecture 8 18 Continuing the Algorithm After Branching After branching, we solve each of the subproblems recursively.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us