6. Mixed Integer Linear Programming

Save this PDF as:

Size: px
Start display at page:

Transcription

1 6. Mixed Integer Linear Programming Javier Larrosa Albert Oliveras Enric Rodríguez-Carbonell Problem Solving and Constraint Programming (RPAR) Session 6 p.1/40

2 Mixed Integer Linear Programming A mixed integer linear program (MILP,MIP) is of the form min c T x Ax = b x 0 x i Z i I If all variables need to be integer, it is called a (pure) integer linear program (ILP, IP) If all variables need to be 0 or 1 (binary, boolean), it is called a 0 1 linear program Session 6 p.2/40

3 Applications of MIP Used in contexts where, e.g.: it only makes sense to take integral quantities of certain goods or resources, e.g.: men (human resources planning) power stations (facility location) binary decisions need to be taken producing a product (production planning) assigning a task to a worker (assignment problems) assigning a slot to a course (timetabling) And many many more... Session 6 p.3/40

4 Computational Complexity: LP vs. IP Including integer variables increases enourmously the modeling power, at the expense of more complexity LP s can be solved in polynomial time with interior-point methods (ellipsoid method, Karmarkar s algorithm) Integer Programming is an NP-complete problem. So: There is no known polynomial-time algorithm There are little chances that one will ever be found Even small problems may be hard to solve What follows is one of the many approaches (and one of the most successful) for attacking IP s Session 6 p.4/40

5 LP Relaxation of a MIP Given a MIP (IP) min c T x Ax = b x 0 x i Z i I its linear relaxation consists in the LP obtained by dropping the integrality constraints: (LP) min c T x Ax = b x 0 Can we solve IP by solving LP? By rounding? Session 6 p.5/40

6 Branch & Bound (1) The optimal solution of max x+y 2x+2y 1 8x+10y 13 x,y Z is (x,y) = (1,2) with objective 3 The optimal solution of its LP relaxation is (x,y) = (4,4.5) with objective 9.5 No direct way of getting from (x,y) = (4,4.5) to (x,y) = (1,2) by rounding! Something more elaborate is needed: branch & bound Session 6 p.6/40

7 Branch & Bound (2) y (4, 4.5) 8x+10y 13 (1,2) maxx+y x 0 2x+2y 1 y 0 x Session 6 p.7/40

8 Branch & Bound (3) Assume integer variables have lower and upper bounds Let P 0 initial problem, LP(P 0 ) LP relaxation of P 0 If in optimal solution of LP(P 0 ) all integer variables take integer values then it is also an optimal solution to P 0 Else Rounding the solution of LP(P 0 ) may yield to non-optimal or non-feasible solutions for P 0! Let x j be integer variable whose value β j at optimal solution of LP(P 0 ) satisfies β j Z. Define P 1 := P 0 x j β j P 2 := P 0 x j β j Feasible solutions to P 0 =feasible solutions to P 1 or P 2 Session 6 p.8/40

9 Branch & Bound (4) Let x j be integer variable whose value β j at optimal solution of LP(P 0 ) satisfies β j Z. P 1 := P 0 x j β j P i can be solved recursively P 2 := P 0 x j β j We can build a binary tree of subproblems whose leaves correspond to pending problems still to be solved Terminates as integer vars have finite bounds and, at each split, range of one var becomes strictly smaller If LP(P i ) has optimal solution where integer variables take integer values then solution is stored If LP(P i ) is infeasible then P i can be discarded (pruned, fathomed) Session 6 p.9/40

10 Example (1) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 End ==================================================================== Status: Objective: OPTIMAL obj = 8.5 (MAXimum) No. Column name St Activity Lower bound Upper bound x B y B Session 6 p.10/40

11 Example (2) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds y >= 5 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO FEASIBLE SOLUTION Session 6 p.11/40

12 Example (3) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds y <= 4 End ==================================================================== Status: Objective: OPTIMAL obj = 7.5 (MAXimum) No. Column name St Activity Lower bound Upper bound x B y NU Session 6 p.12/40

13 Example (4) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x >= 4 y <= 4 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO PRIMAL FEASIBLE SOLUTION Session 6 p.13/40

14 Example (5) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 3 y <= 4 End ==================================================================== Status: Objective: OPTIMAL obj = 6.7 (MAXimum) No. Column name St Activity Lower bound Upper bound x NU y B Session 6 p.14/40

15 Example (6) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 3 y = 4 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO PRIMAL FEASIBLE SOLUTION Session 6 p.15/40

16 Example (7) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 3 y <= 3 End ==================================================================== Status: Objective: OPTIMAL obj = 5.5 (MAXimum) No. Column name St Activity Lower bound Upper bound x B y NU Session 6 p.16/40

17 Example (8) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x = 3 y <= 3 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO PRIMAL FEASIBLE SOLUTION Session 6 p.17/40

18 Example (9) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 2 y <= 3 End ==================================================================== Status: Objective: OPTIMAL obj = 4.9 (MAXimum) No. Column name St Activity Lower bound Upper bound x NU y B Session 6 p.18/40

19 Example (10) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 2 y = 3 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO PRIMAL FEASIBLE SOLUTION Session 6 p.19/40

20 Example (11) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 2 y <= 2 End ==================================================================== Status: Objective: OPTIMAL obj = 3.5 (MAXimum) No. Column name St Activity Lower bound Upper bound x B y NU Session 6 p.20/40

21 Example (12) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x = 2 y <= 2 End ==================================================================== GLPSOL: GLPK LP/MIP Solver PROBLEM HAS NO PRIMAL FEASIBLE SOLUTION Session 6 p.21/40

22 Example (13) Max obj: x + y Subject To c1: -2 x + 2 y >= 1 c2: -8 x + 10 y <= 13 Bounds x <= 1 y <= 2 End ==================================================================== Status: Objective: OPTIMAL obj = 3 (MAXimum) No. Column name St Activity Lower bound Upper bound x NU y NU Session 6 p.22/40

23 Pruning in Branch & Bound We have already seen that if relaxation is infeasible, the problem can be pruned Now assume an (integral) solution has been found If solution has cost Z then any pending problem P j whose relaxation has optimal value > Z can be ignored cost(p j ) cost(lp(p j )) > Z The optimum will not be in any descendant of P j! This pruning of the search tree has a huge impact on the efficiency of Branch & Bound Session 6 p.23/40

24 Unboundedness in Branch & Bound We assumed integer variables are bounded In mixed problems, we allow non-integer variables to be unbounded Assume LP(P i ) is unbounded. Then: If in basic solution integer variables take integer values then the problem is unbounded (assuming that problem data are rational numbers) Else we proceed recursively as if an optimal solution to LP(P i ) had been found. What s different wrt LP(P i ) having optimal solution? Session 6 p.24/40

25 Unboundedness in Branch & Bound We assumed integer variables are bounded In mixed problems, we allow non-integer variables to be unbounded Assume LP(P i ) is unbounded. Then: If in basic solution integer variables take integer values then the problem is unbounded (assuming that problem data are rational numbers) Else we proceed recursively as if an optimal solution to LP(P i ) had been found. What s different wrt LP(P i ) having optimal solution? If LP(P i ) is unbounded then P i cannot be pruned: no need to check this! Session 6 p.24/40

26 Branch & Bound: Algorithmic Description S := {P 0 } /* set of pending problems */ Z := + /* best cost found so far */ while S do remove P from S; solve LP(P) if LP(P) is feasible then Let β be basic solution obtained after solving LP(P) if β satisfies integrality constraints then if β is optimal for LP(P) then if cost(β) < Z then store β; update Z else return UNBOUNDED else if β is optimal for LP(P) P can be pruned then continue Let x j be integer variable such that β j Z S := S {P x j β j, P x j β j } return Z Session 6 p.25/40

27 Heuristics in Branch & Bound Possible choices in Branch & Bound Choosing a pending problem Depth-first search Breadth-first search Best-first search (select node with best cost value) Choosing a branching variable That closest to halfway two integer values That with least cost coefficient That which is important in the model (0-1 variable) That which is biggest in a variable ordering No known strategy is best for all problems! Session 6 p.26/40

28 Remarks on Branch & Bound If integer variables not bounded, B&B may not terminate min 0 1 3x 3y 2 x,y Z is infeasible but B&B loops forever looking for solutions! New problems need not be solved from scratch but starting from optimal solution of parent problem Dual Simplex Method can be used: dual feasibility preserved if change bounds of basic vars Often Dual Simplex needs few iterations to obtain an optimal solution to new problem (reoptimization) Session 6 p.27/40

29 Lower Bounding Procedures Pruning at a node is achieved here by solving the LP relaxation with dual simplex But there exist other procedures for giving lower bounds on best objective value: Lagrangian relaxation (MIP) min c T x Ax b l x u x i Z i I (LG) min c T x+µ(ax b) l x u x i Z i I with µ 0 LG is a relaxation: gives lower bound on MIP LG can be trivially solved For good µ, LG is as good as LP relax. but cheaper Concrete problems have ad-hoc lower bounding procs Session 6 p.28/40

30 Cutting Planes (1) Let us consider a MIP of the form min c T x where S = x Rn x S and its linear relaxation min c T x x P where P = x Rn Ax = b l x u x i Z i I Ax = b l x u } Let β be such that β P but β S. A cut for β is a linear inequality â T x ˆb such that â T β >ˆb and γ S implies â T γ ˆb Session 6 p.29/40

31 Cutting Planes (2) y x+y 6 (4, 4.5) 8x+10y 13 (1,2) maxx+y (0,1) 2x+2y 1 x 0 y 0 x Session 6 p.30/40

32 Using Cuts for Solving MIP Let â T x ˆb be a cut. Then the MIP min c T x x S where S = x Rn Ax = b â T x ˆb l x u x i Z i I has the same set of feasible solutions S but its LP relaxation is strictly more constrained Rather than splitting into subproblems as in Branch & Bound, one can add the cut and solve the relaxation Used together with Branch & Bound: Branch & Cut If after adding cuts no solution is found, then branch Session 6 p.31/40

33 Gomory Cuts (1) There are several techniques for deriving cuts Some are problem-specific (e.g, travelling salesman) Here we will see a generic technique: Gomory cuts Let us consider a tableau with a row of the form x i = ω i + j R a ijx j (i B) Let β be an associated basic solution such that 1. i I 2. β(x i ) Z 3. For all j R we have β(x j ) = l j or β(x j ) = u j Can think that it is the optimal tableau of the relaxation Session 6 p.32/40

34 Gomory Cuts (2) Let δ = β(x i ) β(x i ). Then 0 < δ < 1 (assumption 2) By assumption 3, no non-basic variable is free Let R = R {j l j < u j } set of non-basic non-fixed vars Let L = {j I R β(x j ) = l j } Let U = {j I R β(x j ) = u j } Let x S. Then x i Z and Since β is basic solution x i = ω i + j R a ijx j β(x i ) = ω i + j R a ijβ(x j ) Session 6 p.33/40

35 Gomory Cuts (3) Subtracting Finally x i = ω i + j R a ijx j β(x i ) = ω i + j R a ijβ(x j ) x i β(x i ) = j R a ij(x j β(x j )) = j L a ij(x j l j ) j U a ij(u j x j ) x i β(x i ) = δ + j L a ij(x j l j ) j U a ij(u j x j ) Let us define L + = {j L a ij 0} L = {j L a ij < 0} U + = {j U a ij 0} U = {j L a ij < 0} Session 6 p.34/40

36 Gomory Cuts (4) x i β(x i ) = δ + j L a ij(x j l j ) j U a ij(u j x j ) Assume j L a ij(x j l j ) j U a ij(u j x j ) 0. Then j L + δ + j L a ij (x j l j ) j L + a ij (x j l j ) a ij 1 δ (x j l j )+ Moreover j L ( aij δ j U a ij (u j x j ) 1 j U a ij (u j x j ) 1 δ j U ( aij 1 δ ) (u j x j ) 1 ) (x j l j )+ j U + a ij δ (u j x j ) 0 Session 6 p.35/40

37 Gomory Cuts (5) x i β(x i ) = δ + j L a ij(x j l j ) j U a ij(u j x j ) Assume j L a ij(x j l j ) j U a ij(u j x j ) < 0. Then δ + j L j L a ij (x j l j ) j L a ij (x j l j )+ ( aij δ ) (x j l j )+ j U a ij (u j x j ) 0 j U + a ij (u j x j ) δ j U + a ij δ (u j x j ) 1 Moreover a ij j L + 1 δ (x j l j )+ ( aij j U 1 δ ) (u j x j ) 0 Session 6 p.36/40

38 Gomory Cuts (6) In any case j L j U + j L + j U ( aij a ij δ ) (x j l j )+ δ (u j x j )+ a ij 1 δ (x j l j )+ ( aij ) (u j x j ) 1 1 δ for any x S. However, β does not satisfy this inequality (set x j = l j for j L, and x j = u j j U) Session 6 p.37/40

39 Ensuring All Vertices Are Integer (1) Let us assume A,b have coefficients in Z Sometimes it is possible to ensure for an IP that all vertices of the relaxation are integer For instance, when the matrix A is totally unimodular: the determinant of every square submatrix is 0 or ±1 Sufficient condition: property K Each element of A is 0 or ±1 No more than two non-zeros appear in each columm Rows can be partitioned in two subsets R 1 and R 2 s.t. If a column contains two non-zeros of the same sign, one element is in each of the subsets If a column contains two non-zeros of different signs, both elements belong to the same subset Session 6 p.38/40

40 Assignment Problem m = # of workers = # of tasks Each worker must be assigned to exactly one task Each task is to be performed by exactly one worker c ij = cost when worker i performs task j Session 6 p.39/40

41 Assignment Problem m = # of workers = # of tasks Each worker must be assigned to exactly one task Each task is to be performed by exactly one worker c ij = cost when worker i performs task j { 1 if worker i performs task j x ij = 0 otherwise min n i=1 n j=1 c ijx ij n i=1 x ij = 1 n j=1 x ij = 1 x ij {0,1} j {1,...,m} i {1,...,m} i,j {1,...,m} This problem satisfies property K Session 6 p.39/40

42 Ensuring All Vertices Are Integer (2) Several kinds of IP s satisfy property K: Assignment Transportation Maximum flow Shortest path... Usually specialized network algorithms are more efficient for these problems than simplex techniques But simplex techniques are general and can be used if no implementation of network algorithms is available Session 6 p.40/40

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

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

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

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

Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

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

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?.......................................

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

Chapter 13: Binary and Mixed-Integer Programming

Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

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

Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

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

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

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

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,

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

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

! 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

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

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

Chapter 6 Linear Programming: The Simplex Method Introduction to the Big M Method In this section, we will present a generalized version of the simplex method that t will solve both maximization i and

! 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

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

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

3 Does the Simplex Algorithm Work?

Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances

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

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

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

Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

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

Solving Integer Programming with Branch-and-Bound Technique

Solving Integer Programming with Branch-and-Bound Technique This is the divide and conquer method. We divide a large problem into a few smaller ones. (This is the branch part.) The conquering part is done

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

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

. 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

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.

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

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

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,

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

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

OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

56:171 Operations Research Midterm Exam Solutions Fall 2001

56:171 Operations Research Midterm Exam Solutions Fall 2001 True/False: Indicate by "+" or "o" whether each statement is "true" or "false", respectively: o_ 1. If a primal LP constraint is slack at the

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

Solving Linear Programs

Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,

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.

Simplex method summary

Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for

Route optimization applied to school transports A method combining column generation with greedy heuristics

PREPRINT Route optimization applied to school transports A method combining column generation with greedy heuristics Mikael Andersson Peter Lindroth Department of Mathematics CHALMERS UNIVERSITY OF TECHNOLOGY

Chapter 2 Solving Linear Programs

Chapter 2 Solving Linear Programs Companion slides of Applied Mathematical Programming by Bradley, Hax, and Magnanti (Addison-Wesley, 1977) prepared by José Fernando Oliveira Maria Antónia Carravilla A

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

A numerically adaptive implementation of the simplex method

A numerically adaptive implementation of the simplex method József Smidla, Péter Tar, István Maros Department of Computer Science and Systems Technology University of Pannonia 17th of December 2014. 1

Interior Point Methods and Linear Programming

Interior Point Methods and Linear Programming Robert Robere University of Toronto December 13, 2012 Abstract The linear programming problem is usually solved through the use of one of two algorithms: either

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

Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

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

Cloud Branching Timo Berthold Zuse Institute Berlin joint work with Domenico Salvagnin (Università degli Studi di Padova) DFG Research Center MATHEON Mathematics for key technologies 21/May/13, CPAIOR

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

Duality in Linear Programming

Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow

An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems

MASTER S THESIS An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems Douglas Potter Department of Mathematical Sciences CHALMERS UNIVERSITY OF TECHNOLOGY

Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach

Information and Management Sciences Volume 19, Number 2, pp. 237-243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach P. Ji Y. F. Wan Hong

7.1 Modelling the transportation problem

Chapter Transportation Problems.1 Modelling the transportation problem The transportation problem is concerned with finding the minimum cost of transporting a single commodity from a given number of sources

Resource Allocation and Scheduling

Lesson 3: Resource Allocation and Scheduling DEIS, University of Bologna Outline Main Objective: joint resource allocation and scheduling problems In particular, an overview of: Part 1: Introduction and

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

Special Situations in the Simplex Algorithm

Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the

FE670 Algorithmic Trading Strategies. Stevens Institute of Technology

FE670 Algorithmic Trading Strategies Lecture 6. Portfolio Optimization: Basic Theory and Practice Steve Yang Stevens Institute of Technology 10/03/2013 Outline 1 Mean-Variance Analysis: Overview 2 Classical

Optimal Cheque Production: A Case Study

Blo UNIVERSITÀ DI SALERNO Dipartimento di Matematica e Informatica D.M.I. Via Ponte don Melillo 84084 Fisciano (SA) Italy Optimal Cheque Production: A Case Study Raffaele Cerulli, Renato De Leone, Monica

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;

Scheduling inbound calls in call centers

Iowa State University Digital Repository @ Iowa State University Graduate Theses and Dissertations Graduate College 2009 Scheduling inbound calls in call centers Somchan Vuthipadadon Iowa State University

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

Operation Research. Module 1. Module 2. Unit 1. Unit 2. Unit 3. Unit 1

Operation Research Module 1 Unit 1 1.1 Origin of Operations Research 1.2 Concept and Definition of OR 1.3 Characteristics of OR 1.4 Applications of OR 1.5 Phases of OR Unit 2 2.1 Introduction to Linear

56:171. Operations Research -- Sample Homework Assignments Fall 1992 Dennis Bricker Dept. of Industrial Engineering University of Iowa.

56:171 Operations Research -- Sample Homework Assignments Fall 1992 Dennis Bricker Dept. of Industrial Engineering University of Iowa Homework #1 (1.) Linear Programming Model Formulation. SunCo processes

Mixed integer programming methods for supply chain optimization

Mixed integer programming methods for supply chain optimization C h r i s t o s T. M a r a v e l i a s Chemical and Biological Engineering University of Wisconsin, Madison, WI 53706, USA July 9-9, 0, Angra

Linear Programming in Matrix Form

Linear Programming in Matrix Form Appendix B We first introduce matrix concepts in linear programming by developing a variation of the simplex method called the revised simplex method. This algorithm,

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;

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,

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

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

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

Optimization in R n Introduction

Optimization in R n Introduction Rudi Pendavingh Eindhoven Technical University Optimization in R n, lecture Rudi Pendavingh (TUE) Optimization in R n Introduction ORN / 4 Some optimization problems designing

Introduction to Operations Research

Introduction to Operations Research Matthew Galati magh@lehigh.edu Department of Industrial and Systems Engineering, Lehigh University Service Parts Solutions, IBM Corporation Introduction to Operations

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

Models in Transportation. Tim Nieberg

Models in Transportation Tim Nieberg Transportation Models large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation)

Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance

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

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

Modeling and solving linear programming with R. Jose M Sallan Oriol Lordan Vicenc Fernandez

Modeling and solving linear programming with R Jose M Sallan Oriol Lordan Vicenc Fernandez Open Access Support If you find this book interesting, we would appreciate that you supported its authors and

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,

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,

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

Scheduling Algorithm with Optimization of Employee Satisfaction

Washington University in St. Louis Scheduling Algorithm with Optimization of Employee Satisfaction by Philip I. Thomas Senior Design Project http : //students.cec.wustl.edu/ pit1/ Advised By Associate

Creating a More Efficient Course Schedule at WPI Using Linear Optimization

Project Number: ACH1211 Creating a More Efficient Course Schedule at WPI Using Linear Optimization A Major Qualifying Project Report submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial

Lecture 10 Scheduling 1

Lecture 10 Scheduling 1 Transportation Models -1- large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment and resources

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

Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

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

Using diversification, communication and parallelism to solve mixed-integer linear programs

Using diversification, communication and parallelism to solve mixed-integer linear programs R. Carvajal a,, S. Ahmed a, G. Nemhauser a, K. Furman b, V. Goel c, Y. Shao c a Industrial and Systems Engineering,

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

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh

Chapter 6: Sensitivity Analysis

Chapter 6: Sensitivity Analysis Suppose that you have just completed a linear programming solution which will have a major impact on your company, such as determining how much to increase the overall production

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

Classification - Examples

Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking