Integer Programming: Large Scale Methods Part I (Chapter 16)

Size: px
Start display at page:

Download "Integer Programming: Large Scale Methods Part I (Chapter 16)"

Transcription

1 Integer Programming: Large Scale Methods Part I (Chapter 16) University of Chicago Booth School of Business Kipp Martin November 9, / 55

2 Outline List of Files Key Concepts Column Generation/Decomposition 2 / 55

3 List of Files tsp gms.txt tsp7.txt tsp8.txt tspsolution7.txt 3 / 55

4 A Review of Key Concepts the quality of the formulation is what counts, not the size quality usually measured by the lower bound if we can read the problem into memory we can solve the linear relaxation (of course it may be a poor relaxation) many interesting applications have too many constraints or variables to read into memory if there are too many variables we generate variables as needed we generate variables as needed by a pricing algorithm if there are too many constraints we generate constraints as needed we generate constraints as needed by a separation algorithm 4 / 55

5 Motivation: The mixed integer linear program under consideration is: min c x (MIP) s.t. Ax b Bx d x 0 x j Z, j I One solution approach is to solve the LP relaxation within branch and bound min c x (LP) s.t. Ax b Bx d x 0 5 / 55

6 Motivation: Solving the LP relaxation may not be a good idea? Why? What is one of our major themes? Γ = {x Bx d, x 0, x j Z, j I } 6 / 55

7 Motivation: As an alternative, we try to define A and B appropriately and solve: min c x (conv(mip)) s.t. Ax b x conv(γ) How to break the constraints into A and B takes a fair amount of skill and practice. We want the characterization of conv(γ) to be an easy hard problem. If it is too easy there may not be a big win in terms of better lower bounds. 7 / 55

8 Motivation: x x 1 8 / 55

9 Motivation: There are three approaches to actually solving min c x (conv(mip)) s.t. Ax b x conv(γ) Approach 1: Characterize conv(γ) by the inequalities that define the polyhedron. This is the cutting plane approach. Approach 2: Characterize conv(γ) through inverse projection. Often called decomposition or column generation. Approach 3: Lagrangian Relaxation 9 / 55

10 Motivation: Mixed Integer Finite Basis Theorem: If Γ = {x R n Bx d, x 0, x j Z, j I }, then conv(γ) is a polyhedron and there exist x 1,..., x r Γ such that conv(γ) = {x R n x = q z i x i + i=1 r i=q+1 z i x i, q z i = 1, z i 0, i = 1,..., r} (1) i=1 10 / 55

11 Motivation: Apply finite basis theorem to Γ min c x (conv(mip)) s.t. Ax b x conv(γ) min c x (conv(mipfb)) s.t. Ax b q z i x i + r z i x i = x i=1 i=q+1 q z i = 1 i=1 z i 0, i = 1,..., r 11 / 55

12 Motivation: Substitute out the x variables and solve the convex hull relaxation: min q r z i c x i + z i c x i i=1 i=q+1 q z i Ax i + i=1 r i=q+1 z i Ax i b q z i = 1 i=1 z i 0 i = 1,..., q 12 / 55

13 Motivation: The formulation in the z variables is often called an extended variable formulation. Using the finite basis theorem is just one way to get an extended variable formulation. Think back to our lot sizing example we gave an extended variable formulation without using the finite basis theorem. Finding good extended variable formulations is an important research area. 13 / 55

14 Motivation: Important: If life were fair the solution to the convex hull relaxation will binary (0/1) z i. Why do I want the z i binary? Unfortunately, what do we know about life? So what do we do if we have fractional z i? Branch of course! Next slide please. 14 / 55

15 Motivation: Oh no, no, no: It is time for me to do what I do best and what I do best is worry! By this point you know me pretty well. What am I worried about? I think this has homework potential. 15 / 55

16 Motivation: Yet Another Problem: Too many z i. So here are the dragons to sleigh: Too many z i. Fractional z i. My worry from the previous page. 16 / 55

17 Consider a graph G = (V, E) with vertex set V and undirected edges E, with a weight (distance or time or cost) c e for each e V. The objective is find a tour of minimum weight where a tour starts with vertex 1, visits every other vertex exactly one, and returns to vertex 1. If i V, let δ(i) denote the set of edges adjacent to i. The TSP problem is min c e x e (2) e E e δ(i) e E(S) x e = 2, i V (3) x e S 1, S V \{1} (4) x e = n (5) e E x e {0, 1}, e E (6) 17 / 55

18 Here is a tour / 55

19 Another way to write the symmetric TSP is: min e E c e x e x Γ 1 x Γ 2 where Γ 1 is the set of all edge sets that satisfy e δ(i) x e = 2, i V Thus Γ 1 is the set of all edge sets where the degree of every vertex in the resulting graphs is exactly two. We call these constraints the degree two constraints. 19 / 55

20 Here is an example of an edge set that satisfies the degree two constraints / 55

21 Γ 2 is the set of all edge sets that satisfy x e = 2 e δ(1) x e S 1, S V \{1} e E(S) x e = n e E A set of edges that satisfy these constraints is called a 1-tree. 21 / 55

22 A 1-tree is a graph where: Vertex one has exactly two edges incident to it There is a tree defined on vertices {2,..., n} there is path from every vertex to every other vertex in the set {2,..., n} there are exactly n 2 edges that lie in vertex set {2,..., n} 22 / 55

23 Here is an example of a 1-tree / 55

24 Here is an example of a 1-tree / 55

25 A tour is therefore an edge set that satisfies the degree two constraints and is a 1-tree. So our problem is: min e E c e x e x Γ 1 x Γ 2 25 / 55

26 Alternative Formulation: We now give another formulation for this problem where we define a variable z j for every 1-tree in Γ 2. The index j is used to index the 1-trees. Corresponding to the j th index, there is a set of edges E j that correspond to the 1-tree. The cost, f j, associated with the j th 1-tree is: f j = e E j c e The number of edges incident to node i in the j th tree is d ij = 1 e (E j δ(i)) 26 / 55

27 Example Problem: We illustrate with a five-city problem (taken from the Wolsey book) / 55

28 Here is a one-tree that we index with j = 1: / 55

29 When j = 1: E 1 = {(1, 2), (2, 3), (3, 4), (4, 5), (1, 5)} f j = e E 1 c e = = 28 d 11 = 2, d 21 = 2, d 31 = 2, d 41 = 2, d 51 = 2 29 / 55

30 Here is a one-tree we index with j = 2: / 55

31 When j = 2: E 2 = {(1, 2), (1, 3), (2, 3), (3, 4), (4, 5)} f j = e E 1 c e = = 25 d 12 = 2, d 22 = 2, d 32 = 3, d 42 = 2, d 52 = 1 31 / 55

32 Alternative Formulation (continued): s.t. min J f j z j (7) j=1 J d ij z j = 2, i V (8) j=1 J z j = 1 (9) j=1 z j {0, 1}, j = 1,..., J (10) Constraints (9) and (10) taken together force the selection of exactly one 1-tree. Constraint (8) forces the degree of every vertex in the selected 1-tree to be 2 (i.e. we have a tour) and the objective forces the selection of the minimum cost 1-tree of degree / 55

33 Apply finite basis theorem to Γ min c x (conv(mip)) s.t. Ax b x conv(γ) min c x (conv(mipfb)) s.t. Ax b q z i x i + r z i x i = x i=1 i=q+1 q z i = 1 i=1 z i 0, i = 1,..., r 33 / 55

34 In the TSP model what corresponds to: 1. the Ax b constraints 2. the x conv(γ) constraints 34 / 55

35 Substitute out the x variables and solve the convex hull relaxation: min q r z i c x i + z i c x i i=1 i=q+1 q z i Ax i + i=1 r i=q+1 z i Ax i b q z i = 1 i=1 z i 0 i = 1,..., q 35 / 55

36 Alternative Formulation (continued): How large is this new formulation? How many rows? How many columns? 36 / 55

37 Formulation Comparison: Original Model Reformulated Model Variables O(n 2 ) Argh! Constraints Argh! n + 1 Once again we have fourth and long and time to bring in the punter. 37 / 55

38 Here is how we punt: Step 1: Solve (naturally) a relaxation drop the binary constraints in (10) and replace with nonnegative. This is our master problem. Step 2: We simply have too many columns to deal with. We solve the problem over a small (very small) subset of columns. This is the restricted master. 38 / 55

39 Example Restricted Master with seven 1-tree solutions: min 28z z z z z z z 7 s.t. 2z 1 + 2z 2 + 2z 3 + 2z 4 + 2z 5 + 2z 6 + 2z 7 = 2 2z 1 + 2z 2 + 2z 3 + 1z 4 + 1z 5 + 2z 6 + 3z 7 = 2 2z 1 + 3z 2 + 2z 3 + 3z 4 + 2z 5 + 3z 6 + z 7 = 2 2z 1 + 2z 2 + 3z 3 + 3z 4 + 3z 5 + z 6 + z 7 = 2 2z 1 + z 2 + z 3 + z 4 + 2z 5 + 2z 6 + 3z 7 = 2 z 1 + z 2 + z 3 + z 4 + z 5 + z 6 + z 7 = 1 z i 0 z = 22.25, z = (0, 0,.25, 0,.25,.25,.25) u = (14.875, 0, 4.5, 0.25, 1), π = 0 39 / 55

40 The transformation matrix for the seven 1-trees: z 1 z 2 z 3 z 4 z 5 z 6 z 7 x x x x x x x 25 1 x x x / 55

41 Pricing: At each step of the process, we solve the LP relaxation of the restricted master. Here is the key problem How do we calculate the reduced costs of the columns NOT IN THE MASTER? Stated another way we want to find the 1-tree with minimum reduced cost not yet in the master. We do the same thing we did for cuts solve a subproblem that finds the 1-tree with minimum reduced cost and we add that to the formulation to get a new restricted master. 41 / 55

42 Pricing Continued: Let u be a vector of dual values associated with the degree two constraints, constraint set (8). There is one dual variable for each vertex (constraint (8)) in the graph. If E j is the set of vertices in a 1-tree the reduced cost is n f j u l d lj π l=1 Rewriting based on the definition of f j and d ij gives c e u 1 1 u 2 1 u n 1 π e E j e δ(1) e δ(2) e δ(n) 42 / 55

43 Pricing Continued: Each edge e E j is incident to exactly two vertices e i and e k. Therefore, the reduced cost for variable z j is e E j (c e u ei u ek ) π To illustrate let s calculate the reduced cost for z 2. In the picture on the next slide we show the corresponding 1-tree with the corresponding values of c e u ei u ek. 43 / 55

44 Pricing Continued: 1-tree for z For example, = c 12 u 1 u 2 = / 55

45 Pricing Continued: 1-tree for z 2 with updated costs E 2 = {(1, 2), (1, 3), (2, 3), (3, 4), (4, 5)} e E 2 (c e u ei u ek ) π = = / 55

46 Pricing Continued: We just calculated the reduced cost for a column in the restricted master. But what about all of the columns NOT in the restricted master. We solve the following subproblem. Subproblem: min e E(c e u ei u ek )x e π x Γ 2 46 / 55

47 Pricing Continued: Using the updated costs, c e u ei u ek, the minimum 1-tree is found as follows: Step 1: Find the two edges adjacent to vertex 1 with minimum cost. Add those to E j. Step 2: Find the minimum cost tree on V \{1}. Apply the greedy algorithm. Sort the edges in ascending order by cost Loop over the sorted edges and add an edge if it does not create a cycle, keep adding edges until a tree results. 47 / 55

48 Pricing Continued: The current dual solution on the degree two constraints is u = (14.875, 0, 4.5, 0.25, 1) which gives the following values for c e u ei u ek / 55

49 Pricing Continued: The numbers we are using come from tsp.gams and including the file tsp7.txt. We have the following display statements: DISPLAY z.l # optimal objective value DISPLAY lambda.l; # optimal primal variables DISPLAY degree2.m; # degree 2 dual values DISPLAY convexity.m; # convexity dual value DISPLAY edgecost; # updated edge costs I put in code to calculate the updated edge costs. 49 / 55

50 Pricing Continued: Find the minimum cost 1-tree based on the updated costs. Step 1: The two edges adjacent to vertex 1 with minimum cost are edges (1, 4) and (1, 5). Add these to the 1-tree. Step 2: Form the tree. Add edge (3, 5) first, it is the cheapest. Next add edge (2, 4). The next cheapest is edge (2, 5). This does not result in cycle. We are now done. The minimum reduced cost is (in this solution π = 0) = / 55

51 The One Tree Generated by the Subproblem: / 55

52 We found a new 1-tree with reduced cost Give this new 1-tree index 8 the corresponding variable is z 8. Add this to the restricted master. See the file tsp8.txt for the GAMS parameters. The new restricted master (solved with GAMS using tsp8.txt) appears next. 52 / 55

53 The Restricted Master After One Iteration: min 28z z z z z z z z 8 s.t. 2z 1 + 2z 2 + 2z 3 + 2z 4 + 2z 5 + 2z 6 + 2z 7 + 2z 8 = 2 2z 1 + 2z 2 + 2z 3 + 1z 4 + 1z 5 + 2z 6 + 3z 7 + 2z 8 = 2 2z 1 + 3z 2 + 2z 3 + 3z 4 + 2z 5 + 3z 6 + z 7 + z 8 = 2 2z 1 + 2z 2 + 3z 3 + 3z 4 + 3z 5 + z 6 + z 7 + 2z 8 = 2 2z 1 + z 2 + z 3 + z 4 + 2z 5 + 2z 6 + 3z 7 + 3z 3 = 2 z 1 + z 2 + z 3 + z 4 + z 5 + z 6 + z 7 + z 8 = 1 z i 0 z = 20.33, z = (0, 0, 1 3, 0, 0, 1 3, 0, 1 3 ) u = (10.833,.333, 1.667, 0.667, 0), π = 0 53 / 55

54 The transformation matrix: z 1 z 2 z 3 z 4 z 5 z 6 z 7 z 8 x x x x x x x x x x / 55

55 What is next? Keep adding columns until there are no columns (1-trees) with a negative reduced left to add. Uh oh, I am worried: What if there are fractional solutions? Life is not fair, but we already know this. If there are fractional z variables do branch, cut, AND price. Uh oh, I am STILL worried: Even if we do find the optimal solution in the z i variables in branch and bound, will we have an optimal solution to the original problem? 55 / 55

CHAPTER 9. Integer Programming

CHAPTER 9. Integer Programming CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

More information

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

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook Dantzig-Wolfe bound and Dantzig-Wolfe cookbook thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline LP strength of the Dantzig-Wolfe The exercise from last week... The Dantzig-Wolfe

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

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

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

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

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

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

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

More information

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

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2 4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the

More information

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

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

More information

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

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

Proximal mapping via network optimization

Proximal mapping via network optimization L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

More information

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Lecture 11: 0-1 Quadratic Program and Lower Bounds Lecture : - Quadratic Program and Lower Bounds (3 units) Outline Problem formulations Reformulation: Linearization & continuous relaxation Branch & Bound Method framework Simple bounds, LP bound and semidefinite

More information

DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II. Matrix Algorithms DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

More information

Online Adwords Allocation

Online Adwords Allocation Online Adwords Allocation Shoshana Neuburger May 6, 2009 1 Overview Many search engines auction the advertising space alongside search results. When Google interviewed Amin Saberi in 2004, their advertisement

More information

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

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right

More information

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

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

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued. Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

More information

Can linear programs solve NP-hard problems?

Can linear programs solve NP-hard problems? Can linear programs solve NP-hard problems? p. 1/9 Can linear programs solve NP-hard problems? Ronald de Wolf Linear programs Can linear programs solve NP-hard problems? p. 2/9 Can linear programs solve

More information

Nonlinear Programming Methods.S2 Quadratic Programming

Nonlinear Programming Methods.S2 Quadratic Programming Nonlinear Programming Methods.S2 Quadratic Programming Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard A linearly constrained optimization problem with a quadratic objective

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Social Media Mining. Graph Essentials

Social Media Mining. Graph Essentials Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

More information

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

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

Mathematical finance and linear programming (optimization)

Mathematical finance and linear programming (optimization) Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

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.

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. 1: 1. Compute a random 4-dimensional polytope P as the convex hull of 10 random points using rand sphere(4,10). Run VISUAL to see a Schlegel diagram. How many 3-dimensional polytopes do you see? How many

More information

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Solving LPs: The Simplex Algorithm of George Dantzig Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

More information

An Introduction to Linear Programming

An Introduction to Linear Programming An Introduction to Linear Programming Steven J. Miller March 31, 2007 Mathematics Department Brown University 151 Thayer Street Providence, RI 02912 Abstract We describe Linear Programming, an important

More information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order

More information

Branch and Cut for TSP

Branch and Cut for TSP Branch and Cut for TSP jla,jc@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 1 Branch-and-Cut for TSP Branch-and-Cut is a general technique applicable e.g. to solve symmetric

More information

CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

More information

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

More information

26 Linear Programming

26 Linear Programming The greatest flood has the soonest ebb; the sorest tempest the most sudden calm; the hottest love the coldest end; and from the deepest desire oftentimes ensues the deadliest hate. Th extremes of glory

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Optimization Theory for Large Systems

Optimization Theory for Large Systems Optimization Theory for Large Systems LEON S. LASDON CASE WESTERN RESERVE UNIVERSITY THE MACMILLAN COMPANY COLLIER-MACMILLAN LIMITED, LONDON Contents 1. Linear and Nonlinear Programming 1 1.1 Unconstrained

More information

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

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

How to speed-up hard problem resolution using GLPK?

How to speed-up hard problem resolution using GLPK? How to speed-up hard problem resolution using GLPK? Onfroy B. & Cohen N. September 27, 2010 Contents 1 Introduction 2 1.1 What is GLPK?.......................................... 2 1.2 GLPK, the best one?.......................................

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

International Doctoral School Algorithmic Decision Theory: MCDA and MOO International Doctoral School Algorithmic Decision Theory: MCDA and MOO Lecture 2: Multiobjective Linear Programming Department of Engineering Science, The University of Auckland, New Zealand Laboratoire

More information

Definition 11.1. Given a graph G on n vertices, we define the following quantities:

Definition 11.1. Given a graph G on n vertices, we define the following quantities: Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

More information

EdExcel Decision Mathematics 1

EdExcel Decision Mathematics 1 EdExcel Decision Mathematics 1 Linear Programming Section 1: Formulating and solving graphically Notes and Examples These notes contain subsections on: Formulating LP problems Solving LP problems Minimisation

More information

Near Optimal Solutions

Near Optimal Solutions Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

More information

Linear Programming I

Linear Programming I Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

More information

Guessing Game: NP-Complete?

Guessing Game: NP-Complete? Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Simplified Benders cuts for Facility Location

Simplified Benders cuts for Facility Location Simplified Benders cuts for Facility Location Matteo Fischetti, University of Padova based on joint work with Ivana Ljubic (ESSEC, Paris) and Markus Sinnl (ISOR, Vienna) Barcelona, November 2015 1 Apology

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal ABSTACT Mohit Singh Tepper School of Business Carnegie Mellon University Pittsburgh, PA USA mohits@andrew.cmu.edu In the MINIMUM

More information

Solutions to Homework 6

Solutions to Homework 6 Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

More information

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where. Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

More information

Linear Programming. April 12, 2005

Linear Programming. April 12, 2005 Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

More information

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

Some representability and duality results for convex mixed-integer programs. Some representability and duality results for convex mixed-integer programs. Santanu S. Dey Joint work with Diego Morán and Juan Pablo Vielma December 17, 2012. Introduction About Motivation Mixed integer

More information

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy David P. Williamson Anke van Zuylen School of Operations Research and Industrial Engineering, Cornell University,

More information

4.6 Linear Programming duality

4.6 Linear Programming duality 4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

More information

Problem Set 7 Solutions

Problem Set 7 Solutions 8 8 Introduction to Algorithms May 7, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Handout 25 Problem Set 7 Solutions This problem set is due in

More information

Noncommercial Software for Mixed-Integer Linear Programming

Noncommercial Software for Mixed-Integer Linear Programming Noncommercial Software for Mixed-Integer Linear Programming J. T. Linderoth T. K. Ralphs December, 2004. Revised: January, 2005. Abstract We present an overview of noncommercial software tools for the

More information

Steiner Tree Approximation via IRR. Randomized Rounding

Steiner Tree Approximation via IRR. Randomized Rounding Steiner Tree Approximation via Iterative Randomized Rounding Graduate Program in Logic, Algorithms and Computation μπλ Network Algorithms and Complexity June 18, 2013 Overview 1 Introduction Scope Related

More information

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2 IEOR 4404 Homework # Intro OR: Deterministic Models February 14, 011 Prof. Jay Sethuraman Page 1 of 5 Homework #.1 (a) What is the optimal solution of this problem? Let us consider that x 1, x and x 3

More information

Polytope Examples (PolyComp Fukuda) Matching Polytope 1

Polytope Examples (PolyComp Fukuda) Matching Polytope 1 Polytope Examples (PolyComp Fukuda) Matching Polytope 1 Matching Polytope Let G = (V,E) be a graph. A matching in G is a subset of edges M E such that every vertex meets at most one member of M. A matching

More information

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

In this paper we present a branch-and-cut algorithm for SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

More information

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

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions. Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.

More information

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

Optimization Modeling for Mining Engineers

Optimization Modeling for Mining Engineers Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2

More information

Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

More information

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

More information

MATHEMATICS Unit Decision 1

MATHEMATICS Unit Decision 1 General Certificate of Education January 2008 Advanced Subsidiary Examination MATHEMATICS Unit Decision 1 MD01 Tuesday 15 January 2008 9.00 am to 10.30 am For this paper you must have: an 8-page answer

More information

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8] Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

More information

Multiple Spanning Tree Protocol (MSTP), Multi Spreading And Network Optimization Model

Multiple Spanning Tree Protocol (MSTP), Multi Spreading And Network Optimization Model Load Balancing of Telecommunication Networks based on Multiple Spanning Trees Dorabella Santos Amaro de Sousa Filipe Alvelos Instituto de Telecomunicações 3810-193 Aveiro, Portugal dorabella@av.it.pt Instituto

More information

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

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem [J. Res. Natl. Inst. Stand. Technol. 111, 161-185 (2006)] A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem Volume 111 Number 2 March-April 2006 Christine Villa and Karla

More information

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

More information

Connectivity and cuts

Connectivity and cuts Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

More information

Warshall s Algorithm: Transitive Closure

Warshall s Algorithm: Transitive Closure CS 0 Theory of Algorithms / CS 68 Algorithms in Bioinformaticsi Dynamic Programming Part II. Warshall s Algorithm: Transitive Closure Computes the transitive closure of a relation (Alternatively: all paths

More information

Linear programming and reductions

Linear programming and reductions Chapter 7 Linear programming and reductions Many of the problems for which we want algorithms are optimization tasks: the shortest path, the cheapest spanning tree, the longest increasing subsequence,

More information

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max SOLUTION OF LINEAR PROGRAMMING PROBLEMS THEOREM 1 If a linear programming problem has a solution, then it must occur at a vertex, or corner point, of the feasible set, S, associated with the problem. Furthermore,

More information

Branch, Cut, and Price: Sequential and Parallel

Branch, Cut, and Price: Sequential and Parallel Branch, Cut, and Price: Sequential and Parallel T.K. Ralphs 1, L. Ladányi 2, and L.E. Trotter, Jr. 3 1 Department of Industrial and Manufacturing Systems Engineering, Lehigh University, Bethlehem, PA 18017,

More information

Duality in General Programs. Ryan Tibshirani Convex Optimization 10-725/36-725

Duality in General Programs. Ryan Tibshirani Convex Optimization 10-725/36-725 Duality in General Programs Ryan Tibshirani Convex Optimization 10-725/36-725 1 Last time: duality in linear programs Given c R n, A R m n, b R m, G R r n, h R r : min x R n c T x max u R m, v R r b T

More information

Linear Programming Problems

Linear Programming Problems Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

More information

Facility Location: Discrete Models and Local Search Methods

Facility Location: Discrete Models and Local Search Methods Facility Location: Discrete Models and Local Search Methods Yury KOCHETOV Sobolev Institute of Mathematics, Novosibirsk, Russia Abstract. Discrete location theory is one of the most dynamic areas of operations

More information

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form Section 1.3 Matrix Products A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form (scalar #1)(quantity #1) + (scalar #2)(quantity #2) +...

More information

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold Zachary Monaco Georgia College Olympic Coloring: Go For The Gold Coloring the vertices or edges of a graph leads to a variety of interesting applications in graph theory These applications include various

More information

(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7

(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7 (67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition

More information

Nonlinear Optimization: Algorithms 3: Interior-point methods

Nonlinear Optimization: Algorithms 3: Interior-point methods Nonlinear Optimization: Algorithms 3: Interior-point methods INSEAD, Spring 2006 Jean-Philippe Vert Ecole des Mines de Paris Jean-Philippe.Vert@mines.org Nonlinear optimization c 2006 Jean-Philippe Vert,

More information

Binary Image Reconstruction

Binary Image Reconstruction A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands kbatenbu@math.leidenuniv.nl Abstract We present a new algorithm

More information

LECTURE: INTRO TO LINEAR PROGRAMMING AND THE SIMPLEX METHOD, KEVIN ROSS MARCH 31, 2005

LECTURE: INTRO TO LINEAR PROGRAMMING AND THE SIMPLEX METHOD, KEVIN ROSS MARCH 31, 2005 LECTURE: INTRO TO LINEAR PROGRAMMING AND THE SIMPLEX METHOD, KEVIN ROSS MARCH 31, 2005 DAVID L. BERNICK dbernick@soe.ucsc.edu 1. Overview Typical Linear Programming problems Standard form and converting

More information

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

More information

Linear Programming: Chapter 11 Game Theory

Linear Programming: Chapter 11 Game Theory Linear Programming: Chapter 11 Game Theory Robert J. Vanderbei October 17, 2007 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/ rvdb Rock-Paper-Scissors

More information

Support Vector Machines Explained

Support Vector Machines Explained March 1, 2009 Support Vector Machines Explained Tristan Fletcher www.cs.ucl.ac.uk/staff/t.fletcher/ Introduction This document has been written in an attempt to make the Support Vector Machines (SVM),

More information

This exposition of linear programming

This exposition of linear programming Linear Programming and the Simplex Method David Gale This exposition of linear programming and the simplex method is intended as a companion piece to the article in this issue on the life and work of George

More information