Solving the ILP using branch-and-cut

Similar documents
Branch and Cut for TSP

CHAPTER 9. Integer Programming

Polytope Examples (PolyComp Fukuda) Matching Polytope 1

24. The Branch and Bound Method

Chapter 13: Binary and Mixed-Integer Programming

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

3. Linear Programming and Polyhedral Combinatorics

Cost-efficient network synthesis from leased lines

5.1 Bipartite Matching

In this paper we present a branch-and-cut algorithm for

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

How To Solve The Line Connectivity Problem In Polynomatix

Discuss the size of the instance for the minimum spanning tree problem.

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Noncommercial Software for Mixed-Integer Linear Programming

Applied Algorithm Design Lecture 5

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

Guessing Game: NP-Complete?

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

Optimization Modeling for Mining Engineers

Can linear programs solve NP-hard problems?

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Largest Fixed-Aspect, Axis-Aligned Rectangle

Completely Positive Cone and its Dual

Convex Programming Tools for Disjunctive Programs

Scalar Valued Functions of Several Variables; the Gradient Vector

Discrete Optimization

Linear Programming Notes V Problem Transformations

How to speed-up hard problem resolution using GLPK?

Some representability and duality results for convex mixed-integer programs.

A Approximation Algorithm for a Generalization of the Weighted Edge-Dominating Set Problem

The Generalized Assignment Problem with Minimum Quantities

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Cloud Branching. Timo Berthold. joint work with Domenico Salvagnin (Università degli Studi di Padova)

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Chapter 3 INTEGER PROGRAMMING 3.1 INTRODUCTION. Robert Bosch. Michael Trick

Semi-Matchings for Bipartite Graphs and Load Balancing

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

Minimally Infeasible Set Partitioning Problems with Balanced Constraints

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Algorithm Design and Analysis

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

The Taxman Game. Robert K. Moniot September 5, 2003

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Adaptive Linear Programming Decoding

What is Linear Programming?

Solving Quadratic Equations

3.1 Solving Systems Using Tables and Graphs

1 Norms and Vector Spaces

Linear Programming. March 14, 2014

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Application of linear programming methods to determine the best location of concrete dispatch plants

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Increasing for all. Convex for all. ( ) Increasing for all (remember that the log function is only defined for ). ( ) Concave for all.

Module1. x y 800.

Linear Programming. April 12, 2005

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

AN INTEGER PROGRAMMING APPROACH TO EQUITABLE COLORING PROBLEMS. Laura Bahiense. Clicia Valladares Peixoto Friedman FFP/UERJ,

arxiv: v1 [math.co] 7 Mar 2012

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Approximation Algorithms

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Data Structures Fibonacci Heaps, Amortized Analysis

Near Optimal Solutions

3. INNER PRODUCT SPACES

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Solution of a Large-Scale Traveling-Salesman Problem

Chapter 3: Section 3-3 Solutions of Linear Programming Problems

Zeros of Polynomial Functions

b) since the remainder is 0 I need to factor the numerator. Synthetic division tells me this is true

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Special Situations in the Simplex Algorithm

36 CHAPTER 1. LIMITS AND CONTINUITY. Figure 1.17: At which points is f not continuous?

Representation of functions as power series

ABSTRACT. For example, circle orders are the containment orders of circles (actually disks) in the plane (see [8,9]).

Transcription:

Solving the ILP using branch-and-cut Solving ILPs is a main topic in combinatorial optimization. We will take a brief look at the branch-and-cut approach. Branch-and-cut makes use of two techniques: Cutting planes: to solve an ILP, one considers relaxations of the (usually the LP-relaxation) and repeatedly cuts away parts of the polytope (by adding new constraints) in the hope of obtaining an integer solution. To find cutting planes one has to solve the separation, that means find a violated, valid inequality of the ILP. Branch-and-bound: an enumeration tree of all possible variable settings is partially traversed, computing local upper bounds and global lower bounds, which are used to avoid parts of the tree that cannot produce the optimal value. 3000

Solving the ILP using branch-and-cut (2) x x (a) c (b) f c f x x (c) c (d) c Adding cutting planes. optimal integer solution. The last cutting plane is facet-defining and leads to the 3001

Solving the ILP using branch-and-cut (3) The convex hull of all feasible incidence vectors (the green points in the previous figure) forms the polytope P (the inner, white polytope in the previous figure). If one considers the inequalities of the ILP, they generally describe a larger polytope (the yellow polytope), although this polytope does not contain an infeasible integer point (the red points). If the solution x of the LP-relaxation is integral, it corresponds to a feasible incidence vector that represents an optimal solution. Otherwise we search for a valid inequality fx f 0 that cuts off the solution x, i. e., fy f 0 f x > f 0. for all y P and The set {x fx = f 0 } is called a cutting plane. 3002

Solving the ILP using branch-and-cut (4) The search for a cutting plane is called the separation. Any cutting plane found is added to the linear program and the linear program is solved again. There is a special class of cutting planes we are interested in, namely the facets of the polytope. As we know, facets of a d-dimensional polytope are faces of dimension d 1. They are in a sense the best cutting planes since they directly bound the polyhedron. Hence, it is important to identify the classes of facet-defining inequalities. 3003

Solving the ILP using branch-and-cut (5) We generally compute cutting planes for two reasons: 1. A class of contraints in our ILP formulation is too large (i.e., exponentially large) to write down (we relax the LP-relaxation further). 2. The inequalities in the original ILP formulation are not sufficient to yield an integer solution. Hence we search for valid inequalities that cut off those fractional solutions. For example consider the number of mixed cycles in the MWT. It grows exponentially with the size of the graph. Instead of writing them all down, we relax the first by omitting them, and then compute cutting planes by checking whether they are violated. [Indeed we do something slightly different, since the mixed cycle inequalities do not always describe facets of the MWT-polytope.] 3004

ILP using branch-and-cut (6) How often do we have to repeat that? Are we guaranteed to find a solution? The following theorem by Grötschel, Lovász, and Schrijver gives a partial answer: Theorem. For any proper class of polyhedra, the optimization is polynomially solvable if and only if the separation is polynomially solvable. This basically says, that for NP-complete s there is little hope to guarantee a quick termination of the cutting plane algorithm. 3005

ILP using branch-and-cut (7) Either we just do not know enough classes of facet-defining inequalities, or we cannot solve the separation for one of these classes in polynomial time. Hence we repeat the cutting step either until an integer solution is found that fulfills all constraints (which would be optimal for the original ), or until we get stuck, that means we cannot find a violated inequality for any of our classes of valid inequalities. 3006

ILP using branch-and-cut (8) In this case we branch. That is, we choose a variable x i and solve two sub-cases, namely the case x i = 0 and the case x i = 1. Repeated application produces a enumeration tree of possible cases. We call an upper bound for the original ILP local, if it is obtained from considering a sub in the enumeration tree. If the solution found for a sub is feasible for the original and has a higher score than any solution found so far, then it is recorded and its value becomes the new global lower bound for the original objective function. Remember that the feasibility of a new solution has to be carefully checked, since we fixed a number of variables on our way to the sub. 3007

ILP using branch-and-cut (9) Subsequently, we only pursue subs whose local upper bound is greater or equal to the global lower bound. This is an example of the branch-and-bound paradigm for solving hard combinatorial s. Branch-and-bound is a divide-and-conquer approach to solving a by dividing it into s. The local solution of a sub gives rise to a lower bound for the best possible score for the original, if the solution of the sub also solves the original. The highest such local score attained so far gives rise to a global lower bound for the original and is used to skip parts of the enumeration tree in which the current global lower bound can t be beaten. 3008

ILP using branch-and-cut (10) General strategy: bound xk=0 branch xk=1 xj=0 branch xj=1 xi=0 branch relax Original xi=1 feasible solution from gives local upper bound maintain global lower bound The details are a bit more involved and are skipped here. We now take the initial MWT as an example to point out the important steps in branch-and-cut algorithms. 3009