Linear and Integer Programming - ideas

Size: px
Start display at page:

Download "Linear and Integer Programming - ideas"

Transcription

1 Linear and Integer Programming - ideas Paweł Zieliński Institute of Mathematics and Computer Science, Wrocław University of Technology, Poland pziel/ Toulouse, France 2012

2 Literature [1] S.P. Bradley, A.C. Hax, T. L. Magnanti Applied Mathematical Programming Addison-Wesley Pub. Co. (Reading, Mass.), [2] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Optimization, John Wiley & Sons, [3] C.H. Papadimitriou, K. Steiglitz, Combinatorial Optimization. Algorithms and Complexity, Dover Publication, Inc,Mineola, A large part of the lecture has been prepared on the basis of the book [1]. pziel/lectures/toulouse/html

3 The general LP Linear Programming problem (LP) z = n c j x j max(min) j=1 X = in a matrix-vector form { n j=1 a ijx j ( ) b i i = 1,..., m, x j 0 j = 1,..., n, z = c T x max(min) { Ax ( ) b, X = x 0, where A R m n, c R n, b R m, and x R n is the vector of variables.

4 A geometrical interpretation LP Example: x Optimal solution 40 x 1 4x 1 + 5x 2 max x 1 + 2x x 1 + 3x x 1 0, x 2 0

5 A geometrical interpretation LP Example: x B C Infinite number of optimal solutions 40 x 1 4x 1 + 3x 2 max x 1 + 2x x 1 + 3x x 1 0, x 2 0

6 A geometrical interpretation LP Example: x Optimal solution x 1 x x 2 min 2x 1 + 5x x 1 + x 2 20 x 1 5 x 1 0, x 2 0

7 Properties of LP x x 2 x x x x 1 Optimal solutions Fact The set of feasible solutions X is a convex set. Fact If an objective function of the LP is bounded in the set of feasible solutions X, then its optimal value is attained at least at one of vertices of set X.

8 Properties of LP The canonical LP z = n j=1 c jx j max { n X = j=1 a ijx j b i i = 1,..., m, x j 0 j = 1,..., n, The standard LP z = n j=1 c jx j max n X j=1 a ijx j + x n+i = b i i = 1,..., m, = x j 0 j = 1,..., n, x n+i 0 i = 1,..., m, where x n+i are slack variables. For inequality, we subtract variable x n+i called surplus variable. Fact There is a one to one correspondence between the set X (the canonical LP) and the set X (the standard LP).

9 Properties of LP z = c T x max(min) Ax = b, x 0, rank(a) = m, B R m m is a nonsingular submatrix of A, and P R m n m. Wlog B is consisted of the first m columns of A. [ ] x Ax = b [B, P] B = b. If x P = 0 then the solution [x B, 0] T of Ax = b is called basic solution and x B = B 1 b. x P The nonsingular matrix B is called basis. If x 0, then x 0 is called basic feasible solution. Theorem Solution x X is a vertex of X if and only if x is a basic feasible solution of Ax = b.

10 Properties of LP 4x 1 + 5x 2 max x 1 + 2x 2 40 X = 4x 1 + 3x x 1, x 2 0 4x 1 + 5x 2 max x 1 + 2x 2 + x 3 = 40 X = 4x 1 + 3x 2 +x 4 = 120 x 1, x 2, x 3, x 4 0 x A B D C x 1 x A = [0, 20, 0, 60 ] x B = [ 24, 8, 0, 0 ] x C = [ 30, 0, 10, 0 ] x D = [ 0, 0, 40, 120 ] x = [40, 0, 0, -60 ] x = [0, 40, -40, 0 ]

11 An idea of an algorithm for LP Idea: In order to find an optimal solution of LP it suffices to enumerate systematically vertices of the set of feasible solutions (or equivalently basic feasible solutions) and choose a vertex in which the optimal value of the objective function is attained. x 2 40 The second vertex Optimal solution 40 x 1 Initial vertex

12 Simplex Algorithm z = c T x min Ax = b, x 0 Assume that we have a basic feasible solution x T = [x B, x P ] T (x B 0, x P = 0) [ ] x Ax = b [B, P] B = b x P Bx B = b, x B = B 1 b and x B 0

13 Simplex Alg. - choosing a column entering the basis Let us partition the cost vector c: Since x B = B 1 b B 1 Px P, z = c T B x B + c T P x P z = c T B B 1 b + (c T P ct B B 1 P)x P = z 0 + p T x P, where z 0 = c T B B 1 b, p T = c T P ct B B 1 P. Vector p, called relative cost vector, can be computed in two steps: B T π = c B and p T := c T P πt P Entering criterion: An index k, k = m + 1,..., n, of column of P = [P m+1,..., P n ] entering to the basis is such that: p k = c k π T P k < 0

14 Simplex Alg. - choosing a column leaving the basis Bx B P k Θ k + P k Θ k = b B(x B B 1 P k Θ k ) + P k Θ k = b B(x B y k Θ k ) + P k Θ k = b Bx(Θ k ) + P k Θ k = b We claim: { x B y k Θ k 0 x(θ k ) = Θ k 0 x(θ k ) = { x B i y k i Θ k 0 1 i m Θ k 0 Leaving criterion: A new basic feasible solution x(θ k ), where Θ k = x { } i B x B yi k = min i y k : yi k > 0, 1 i m i Column B i leaves the basis B = [B 1,..., B m ].

15 Simplex Algorithm Step 1. Construct initial basis B (a basic feasible solution x T = [x B, x P ] T x B 0, x P = 0, x B = B 1 b). Step 2. Check the optimality criterion If p T = c T P πt P 0, then x is optimal - STOP. Stop 3. Choose column P k (variable x k ) to pivot in (i.e., variable x k to introduce into the basis) with respect to criterion: p k = c k π T P k < 0. Step 4. Choose column B i to drive out (variable x i to drive out the basis). If for all i = 1,..., m, yi k 0, then STOP (the problem is unbounded). Step 5. Construct a new basis feasible solution x(θ k ) Go to Step 2.

16 Methods for solving Integer Programming problems (IP) We can distinguish three following approaches for solving integer programming problems: enumeration techniques, including the branch-and-bound technique, cutting-plane techniques, methods based on decomposition.

17 Solving IP by means of LP Example: z = max z = 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0 and integer

18 Solving IP by means of LP x 2 6 x 1 + x 2 = L 0 Optimal continuous solution z = 5x 1 + 8x 2 = x 1 + 9x 2 = x 1

19 Solving IP by means of LP Optimal Round Nearest Integer continuous off integer optimal solution solution solution 9 x 1 4 = x 2 4 = z infeasible

20 Branch-and-bound method for IP Branch-and-bound method is based on divide and conquer strategy. Key facts: IP= LP + integrality restrictions Fact 1. The optimal value of the objective function of LP is always an upper bound (a maximization problem) on the optimal value of IP. Fact 2. The value of the objective function of IP for any integer feasible solution is always a lower bound (a maximization problem) on the optimal objective value of IP.

21 Branch-and-bound method for IP Let us drop integrality restrictions and solve the following LP problem. z = max z = 5x 1 + 8x 2 L 0 = x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0 We get: x 1 = 2 1 4, x 2 = 3 3 4, z0 = and an upper bound z Since the objective function coefficients are integral, we can improve the upper bound z 41.

22 Branch-and-bound method for IP We select a fractional decision variable, for instance x 2 (we may select x 1 as well), however, in practice, a number of useful heuristics are applied to make this choice. Then we add restriction either x 2 3 or x 2 4, excluding the interval (3, 4). x L 1 Optimal continuous solution L x 1

23 Branch-and-bound method for IP L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 L 1 L 2 L 1 = max z = 5x 1 + 8x 2 max z = 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 L x = x 1, x 2 0 x 1 + x 2 6 5x 1 + 9x 2 45 x 2 3 x 1, x 2 0 A selection of node L 1 or L 2 is heuristic. Let us consider L 1. We get: x 1 = 1.8, x 2 = 4, z = 41.

24 Branch-and-bound method for IP We select a fractional decision variable, for instance x 1. Then we add restriction either x 1 1 or x 1 2, excluding the interval (1, 2). x L 4 Optimal continuous solution L x 1

25 Branch-and-bound method for IP L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 x 1 = 1.8 x 2 = 4 z = 41 L 1 L 2 x 1 2 x 1 1 L 3 = L 3 L 4 Infeasible problem max z = 5x 1 + 8x 2 max z = 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 2 4 x 1 2 x 1, x 2 0 L 4 = x 1 + x 2 6 5x 1 + 9x 2 45 x 2 4 x 1 1 x 1, x 2 0 infeasible x 1 = 1, x 2 = 4 4 9, z =

26 Branch-and-bound method for IP We select a fractional decision variable, for instance x 2. Then we add restriction either x 2 4 or x 2 5, excluding the interval (4, 5). x 2 6 L L 4 L 5 Optimal continuous solution L x 1 Consider L 5.

27 Branch-and-bound method for IP L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 x 1 = 1.8 x 2 = 4 z = 41 L 1 L 2 x 1 2 x 1 1 L 3 L 4 Infeasible problem x 1 = 1 x 2 = z = at most 10% from optimum x 2 4 lower bound x 2 5 x 1 = 1 L 5 L 6 x 2 = 4 z = 37 z 37

28 Branch-and-bound method for IP L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 x 1 = 1.8 x 2 = 4 z = 41 L 1 L 2 x 1 2 x 1 1 L 3 L 4 infeasible problem x 1 = 1 x 2 = z = x 2 4 x 2 5 at most 2.5% from optimum! lower bound L 5 L 6 x 1 = 1 x 2 = 4 z = 37 z 37 x 1 = 0 x 2 = 5 z = 40 z 40

29 Branch-and-bound method for IP L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 L 1 L 2 x 1 = 1.8 x 2 = 4 z = 41 x 1 = 3 x 2 = 3 z = 39 x 1 2 x 1 1 L 3 L 4 Infeasible problem x 1 = 1 x 2 = z = x 2 4 optimum! x 2 5 x 1 = 1 L 5 L 6 x 2 = 4 z = 37 z 37 x 1 = 0 x 2 = 5 z = 40 z 40

30 Branch-and-bound method for IP x 2 6 L L 4 L 5 Optimal continuous solution Optimal integer solution L x 1

31 Can the upper bound be improved? L 0 x 1 = 2.25 x 2 = 3.75 z = z 41 x 2 4 x 2 3 x 1 = 1.8 x 2 = 4 z = 41 L 1 L 2 x 1 = 3 x 2 = 3 z = 39 x 1 2 x 1 1 L 3 L 4 Infeasible problem x 1 = 1 x 2 = z = Assume that in our example we consider node L 2 prior L 5 or L 6. Thus an optimal solution is in either L 2 or L 4. Hence z is bounded by Since the 9 objective function coefficients are integral, we can improve upper bound to 40.

32 Summary Assume that we have already considered node L j. Then L j need not be subdivided if: LP over L j is infeasible, an optimal solution of LP in L j is integer, the value of the objective function of LP over L j is not greater than an actual lower bound. Remarks: Relaxations of LP are solved effectively. There are no general methods of selecting decision variable. There are no general methods of selecting node after branching.

33 When can we solve IP by solving LP? IP problem LP problem max c T x Ax = b x 0 and integer max c T x Ax = b x 0 Assume that A and b are integer. When has an optimal solution to LP integer components?

34 When has an optimal solution to LP integer components? Basic solution is [ x Ax = b [B, P] B x P x B = B 1 b, x P = 0. ] = b. If B 1 is an integer matrix, then then x B is integer.

35 Unimodularity A square integer matrix B is called unimodular if its determinant det(b) = ±1 An integer matrix A is called totally unimodular if every square, nonsingular submatrix of A is unimodular. x B = B 1 b = 1 det(b) Badj b, where B adj is the adjoint of B. Hence if B is unimodular and b is integer, x B is integer. Theorem If A is called totally unimodular, then all the vertices of {x : Ax = b, x 0} are integer for any integer vector b.

36 Unimodularity Theorem Let A be a matrix whose elements a ij are equal to 0, 1 or -1. Then A is totally unimodular if Each column contains at most two nonzero elements. The rows can be partitioned into two subsets Q 1 i Q 2 such that: if column contains two nonzero elements with the same signs, then the rows corresponding to these elements belong to the different subsets, if column contains two nonzero elements with the different signs, then the rows corresponding to these elements belong to the same subset. Corollary The node-arc incidence matrix of a directed network is totally unimodular.

37 The minimum cost flow problem Consider the problem of shipment of a commodity through a network in order to satisfy demands at certain nodes V 3 from available supplies at other nodes V 1. For each i V 1 supply a i is given, for each i V 3 demand b i is given. Each arc (i, j) has an associated cost c ij that denotes the cost per unit flow on that arc. A capacity u ij is also associated with each arc (i, j) that denotes the maximum amount that can flow on the arc. The problem consists in finding a least cost flow. Given a network G = (V, A), V = {1,..., n}. The set of nodes V is partitioned into V 1 (sources - supply nodes), V 2 (transshipment nodes), V 3 (sinks - demand nodes). For every i V the following sets are defined S(i) = {j (i, j) A} and P(i) = {j (j, i) A} c ij x ij min i V j S(i) x ij j S(i) j P(i) x ji 0 x ij u ij, (i, j) A. a i i V 1, = 0 i V 2, b i i V 3, the constraints is totally unimodular

38 The transportation problem (with capacities) It is sufficient to set V 2 =, P(i) = for i V 1, S(i) = for i V 3. c ij x ij min i V 1 j S(i) x ij a i, i V 1, j S(i) j P(i) x ji b i, i V 3, 0 x ij u ij, (i, j) A.

39 The assignment problem It is sufficient to set V 2 =, P(i) = for i V 1, S(i) = for i V 3. It is a particular case of the transportation problem: u ij = for (i, j) E, a i = 1 for i V 1, b i = 1 for i V 3 and V 1 = V 3. j S(i) j P(i) min i V 1 j S(i) c ij x ij x ij = 1, i V 1, x ji = 1, i V 3, x ij 0, (i, j) A.

40 The shortest path problem It is sufficient to set V 1 = {1}, V 3 = {m}, a 1 = 1, b m = 1, u ij = 1 for (i, j) A. j S(i) min i V x ij j P(i) x ji j S(i) c ij x ij = 1 i = 1, = 0 i V 2, 1 i i = m, 0 x ij 1. (i, j) A.

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

3.3 Easy ILP problems and totally unimodular matrices

3.3 Easy ILP problems and totally unimodular matrices 3.3 Easy ILP problems and totally unimodular matrices Consider a generic ILP problem expressed in standard form where A Z m n with n m, and b Z m. min{c t x : Ax = b, x Z n +} (1) P(b) = {x R n : Ax =

More information

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Lecture 6 Simplex method for linear programming

Lecture 6 Simplex method for linear programming Lecture 6 Simplex method for linear programming Weinan E 1,2 and Tiejun Li 2 1 Department of Mathematics, Princeton University, weinan@princeton.edu 2 School of Mathematical Sciences, Peking University,

More information

Lectures 6, 7 and part of 8

Lectures 6, 7 and part of 8 Lectures 6, 7 and part of 8 Uriel Feige April 26, May 3, May 10, 2015 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients,

More information

BBM402-Lecture 20: LP Duality

BBM402-Lecture 20: LP Duality BBM402-Lecture 20: LP Duality Lecturer: Lale Özkahya Resources for the presentation: https://courses.engr.illinois.edu/cs473/fa2016/lectures.html An easy LP? which is compact form for max cx subject to

More information

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009 Branch-and-Bound Algorithm November 3, 2009 Outline Lecture 23 Modeling aspect: Either-Or requirement Special ILPs: Totally unimodular matrices Branch-and-Bound Algorithm Underlying idea Terminology Formal

More information

The Simplex Algorithm

The Simplex Algorithm 8.433 Combinatorial Optimization The Simplex Algorithm October 6, 8 Lecturer: Santosh Vempala We proved the following: Lemma (Farkas). Let A R m n, b R m. Exactly one of the following conditions is true:.

More information

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs

More information

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming Linear Programming Linear Programming Lecture Linear programming. Optimize a linear function subject to linear inequalities. (P) max " c j x j n j= n s. t. " a ij x j = b i # i # m j= x j 0 # j # n (P)

More information

Multicommodity Flows and Column Generation

Multicommodity Flows and Column Generation Lecture Notes Multicommodity Flows and Column Generation Marc Pfetsch Zuse Institute Berlin pfetsch@zib.de last change: 2/8/2006 Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Linear programming Linear programming. Optimize a linear function subject to linear inequalities. (P) max c j x j n j= n s. t. a ij x j = b i i m j= x j 0 j n (P) max c T x s. t. Ax = b Lecture slides

More information

Lecture slides by Kevin Wayne

Lecture slides by Kevin Wayne LINEAR PROGRAMMING I a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Lecture slides by Kevin Wayne Last updated on 7/25/17 11:09 AM Linear programming

More information

9.1 Linear Programs in canonical form

9.1 Linear Programs in canonical form 9.1 Linear Programs in canonical form LP in standard form: max (LP) s.t. where b i R, i = 1,..., m z = j c jx j j a ijx j b i i = 1,..., m x j 0 j = 1,..., n But the Simplex method works only on systems

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

TRANSPORTATION PROBLEMS

TRANSPORTATION PROBLEMS Chapter 6 TRANSPORTATION PROBLEMS 61 Transportation Model Transportation models deal with the determination of a minimum-cost plan for transporting a commodity from a number of sources to a number of destinations

More information

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 1 In this section we lean about duality, which is another way to approach linear programming. In particular, we will see: How to define

More information

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta Chapter 4 Linear Programming: The Simplex Method An Overview of the Simplex Method Standard Form Tableau Form Setting Up the Initial Simplex Tableau Improving the Solution Calculating the Next Tableau

More information

MATHEMATICAL PROGRAMMING I

MATHEMATICAL PROGRAMMING I MATHEMATICAL PROGRAMMING I Books There is no single course text, but there are many useful books, some more mathematical, others written at a more applied level. A selection is as follows: Bazaraa, Jarvis

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu https://moodle.cis.fiu.edu/v2.1/course/view.php?id=612 Gaussian Elimination! Solving a system of simultaneous

More information

Chapter 1. Preliminaries

Chapter 1. Preliminaries Introduction This dissertation is a reading of chapter 4 in part I of the book : Integer and Combinatorial Optimization by George L. Nemhauser & Laurence A. Wolsey. The chapter elaborates links between

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans April 5, 2017 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the introductory

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

1 The linear algebra of linear programs (March 15 and 22, 2015)

1 The linear algebra of linear programs (March 15 and 22, 2015) 1 The linear algebra of linear programs (March 15 and 22, 2015) Many optimization problems can be formulated as linear programs. The main features of a linear program are the following: Variables are real

More information

Notes taken by Graham Taylor. January 22, 2005

Notes taken by Graham Taylor. January 22, 2005 CSC4 - Linear Programming and Combinatorial Optimization Lecture : Different forms of LP. The algebraic objects behind LP. Basic Feasible Solutions Notes taken by Graham Taylor January, 5 Summary: We first

More information

Introduction to integer programming II

Introduction to integer programming II Introduction to integer programming II Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical Statistics Computational Aspects of Optimization

More information

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n 2 4. Duality of LPs and the duality theorem... 22 4.2 Complementary slackness... 23 4.3 The shortest path problem and its dual... 24 4.4 Farkas' Lemma... 25 4.5 Dual information in the tableau... 26 4.6

More information

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory Instructor: Shengyu Zhang 1 LP Motivating examples Introduction to algorithms Simplex algorithm On a particular example General algorithm Duality An application to game theory 2 Example 1: profit maximization

More information

Lecture 9: Dantzig-Wolfe Decomposition

Lecture 9: Dantzig-Wolfe Decomposition Lecture 9: Dantzig-Wolfe Decomposition (3 units) Outline Dantzig-Wolfe decomposition Column generation algorithm Relation to Lagrangian dual Branch-and-price method Generated assignment problem and multi-commodity

More information

IE 5531: Engineering Optimization I

IE 5531: Engineering Optimization I IE 5531: Engineering Optimization I Lecture 7: Duality and applications Prof. John Gunnar Carlsson September 29, 2010 Prof. John Gunnar Carlsson IE 5531: Engineering Optimization I September 29, 2010 1

More information

Linear Programming, Lecture 4

Linear Programming, Lecture 4 Linear Programming, Lecture 4 Corbett Redden October 3, 2016 Simplex Form Conventions Examples Simplex Method To run the simplex method, we start from a Linear Program (LP) in the following standard simplex

More information

Advanced Linear Programming: The Exercises

Advanced Linear Programming: The Exercises Advanced Linear Programming: The Exercises The answers are sometimes not written out completely. 1.5 a) min c T x + d T y Ax + By b y = x (1) First reformulation, using z smallest number satisfying x z

More information

Supplementary lecture notes on linear programming. We will present an algorithm to solve linear programs of the form. maximize.

Supplementary lecture notes on linear programming. We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2016 Supplementary lecture notes on linear programming CS 6820: Algorithms 26 Sep 28 Sep 1 The Simplex Method We will present an algorithm to solve linear programs of the form

More information

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting Summary so far z =max{c T x : Ax apple b, x 2 Z n +} I Modeling with IP (and MIP, and BIP) problems I Formulation for a discrete set that is a feasible region of an IP I Alternative formulations for the

More information

Summary of the simplex method

Summary of the simplex method MVE165/MMG631,Linear and integer optimization with applications The simplex method: degeneracy; unbounded solutions; starting solutions; infeasibility; alternative optimal solutions Ann-Brith Strömberg

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 28th, 2013 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the introductory

More information

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality.

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality. CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Primal-Dual Algorithms Date: 10-17-07 14.1 Last Time We finished our discussion of randomized rounding and

More information

Notes on Dantzig-Wolfe decomposition and column generation

Notes on Dantzig-Wolfe decomposition and column generation Notes on Dantzig-Wolfe decomposition and column generation Mette Gamst November 11, 2010 1 Introduction This note introduces an exact solution method for mathematical programming problems. The method is

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47 Linear Programming Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Linear Programming 1 / 47 Linear function: f (x 1, x 2,..., x n ) = n a i x i, i=1 where

More information

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/ yyye (LY, Chapters 2.3-2.5, 3.1-3.4) 1 Geometry of Linear

More information

Summary of the simplex method

Summary of the simplex method MVE165/MMG630, The simplex method; degeneracy; unbounded solutions; infeasibility; starting solutions; duality; interpretation Ann-Brith Strömberg 2012 03 16 Summary of the simplex method Optimality condition:

More information

Lesson 27 Linear Programming; The Simplex Method

Lesson 27 Linear Programming; The Simplex Method Lesson Linear Programming; The Simplex Method Math 0 April 9, 006 Setup A standard linear programming problem is to maximize the quantity c x + c x +... c n x n = c T x subject to constraints a x + a x

More information

Systems Analysis in Construction

Systems Analysis in Construction Systems Analysis in Construction CB312 Construction & Building Engineering Department- AASTMT by A h m e d E l h a k e e m & M o h a m e d S a i e d 3. Linear Programming Optimization Simplex Method 135

More information

Simplex Method for LP (II)

Simplex Method for LP (II) Simplex Method for LP (II) Xiaoxi Li Wuhan University Sept. 27, 2017 (week 4) Operations Research (Li, X.) Simplex Method for LP (II) Sept. 27, 2017 (week 4) 1 / 31 Organization of this lecture Contents:

More information

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

AM 121: Intro to Optimization! Models and Methods! Fall 2018! AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 15: Cutting plane methods Yiling Chen SEAS Lesson Plan Cut generation and the separation problem Cutting plane methods Chvatal-Gomory

More information

Discrete Optimization

Discrete Optimization Prof. Friedrich Eisenbrand Martin Niemeier Due Date: April 15, 2010 Discussions: March 25, April 01 Discrete Optimization Spring 2010 s 3 You can hand in written solutions for up to two of the exercises

More information

Introduction to Linear and Combinatorial Optimization (ADM I)

Introduction to Linear and Combinatorial Optimization (ADM I) Introduction to Linear and Combinatorial Optimization (ADM I) Rolf Möhring based on the 20011/12 course by Martin Skutella TU Berlin WS 2013/14 1 General Remarks new flavor of ADM I introduce linear and

More information

Lecture 2: The Simplex method

Lecture 2: The Simplex method Lecture 2 1 Linear and Combinatorial Optimization Lecture 2: The Simplex method Basic solution. The Simplex method (standardform, b>0). 1. Repetition of basic solution. 2. One step in the Simplex algorithm.

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2) Note 3: LP Duality If the primal problem (P) in the canonical form is min Z = n j=1 c j x j s.t. nj=1 a ij x j b i i = 1, 2,..., m (1) x j 0 j = 1, 2,..., n, then the dual problem (D) in the canonical

More information

AM 121: Intro to Optimization Models and Methods

AM 121: Intro to Optimization Models and Methods AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 2: Intro to LP, Linear algebra review. Yiling Chen SEAS Lecture 2: Lesson Plan What is an LP? Graphical and algebraic correspondence Problems

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

Linear Programming and the Simplex method

Linear Programming and the Simplex method Linear Programming and the Simplex method Harald Enzinger, Michael Rath Signal Processing and Speech Communication Laboratory Jan 9, 2012 Harald Enzinger, Michael Rath Jan 9, 2012 page 1/37 Outline Introduction

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

Integer Programming. Wolfram Wiesemann. December 6, 2007

Integer Programming. Wolfram Wiesemann. December 6, 2007 Integer Programming Wolfram Wiesemann December 6, 2007 Contents of this Lecture Revision: Mixed Integer Programming Problems Branch & Bound Algorithms: The Big Picture Solving MIP s: Complete Enumeration

More information

Relation of Pure Minimum Cost Flow Model to Linear Programming

Relation of Pure Minimum Cost Flow Model to Linear Programming Appendix A Page 1 Relation of Pure Minimum Cost Flow Model to Linear Programming The Network Model The network pure minimum cost flow model has m nodes. The external flows given by the vector b with m

More information

CO 250 Final Exam Guide

CO 250 Final Exam Guide Spring 2017 CO 250 Final Exam Guide TABLE OF CONTENTS richardwu.ca CO 250 Final Exam Guide Introduction to Optimization Kanstantsin Pashkovich Spring 2017 University of Waterloo Last Revision: March 4,

More information

Optimization methods NOPT048

Optimization methods NOPT048 Optimization methods NOPT048 Jirka Fink https://ktiml.mff.cuni.cz/ fink/ Department of Theoretical Computer Science and Mathematical Logic Faculty of Mathematics and Physics Charles University in Prague

More information

Week 4. (1) 0 f ij u ij.

Week 4. (1) 0 f ij u ij. Week 4 1 Network Flow Chapter 7 of the book is about optimisation problems on networks. Section 7.1 gives a quick introduction to the definitions of graph theory. In fact I hope these are already known

More information

Integer Programming, Part 1

Integer Programming, Part 1 Integer Programming, Part 1 Rudi Pendavingh Technische Universiteit Eindhoven May 18, 2016 Rudi Pendavingh (TU/e) Integer Programming, Part 1 May 18, 2016 1 / 37 Linear Inequalities and Polyhedra Farkas

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Transportation Problem

Transportation Problem Transportation Problem Alireza Ghaffari-Hadigheh Azarbaijan Shahid Madani University (ASMU) hadigheha@azaruniv.edu Spring 2017 Alireza Ghaffari-Hadigheh (ASMU) Transportation Problem Spring 2017 1 / 34

More information

Semidefinite and Second Order Cone Programming Seminar Fall 2001 Lecture 5

Semidefinite and Second Order Cone Programming Seminar Fall 2001 Lecture 5 Semidefinite and Second Order Cone Programming Seminar Fall 2001 Lecture 5 Instructor: Farid Alizadeh Scribe: Anton Riabov 10/08/2001 1 Overview We continue studying the maximum eigenvalue SDP, and generalize

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Linear Programming: Simplex

Linear Programming: Simplex Linear Programming: Simplex Stephen J. Wright 1 2 Computer Sciences Department, University of Wisconsin-Madison. IMA, August 2016 Stephen Wright (UW-Madison) Linear Programming: Simplex IMA, August 2016

More information

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations The Simplex Method Most textbooks in mathematical optimization, especially linear programming, deal with the simplex method. In this note we study the simplex method. It requires basically elementary linear

More information

Chapter 3, Operations Research (OR)

Chapter 3, Operations Research (OR) Chapter 3, Operations Research (OR) Kent Andersen February 7, 2007 1 Linear Programs (continued) In the last chapter, we introduced the general form of a linear program, which we denote (P) Minimize Z

More information

Chapter 1: Linear Programming

Chapter 1: Linear Programming Chapter 1: Linear Programming Math 368 c Copyright 2013 R Clark Robinson May 22, 2013 Chapter 1: Linear Programming 1 Max and Min For f : D R n R, f (D) = {f (x) : x D } is set of attainable values of

More information

A Review of Linear Programming

A Review of Linear Programming A Review of Linear Programming Instructor: Farid Alizadeh IEOR 4600y Spring 2001 February 14, 2001 1 Overview In this note we review the basic properties of linear programming including the primal simplex

More information

CS Algorithms and Complexity

CS Algorithms and Complexity CS 50 - Algorithms and Complexity Linear Programming, the Simplex Method, and Hard Problems Sean Anderson 2/15/18 Portland State University Table of contents 1. The Simplex Method 2. The Graph Problem

More information

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

Integer Programming. The focus of this chapter is on solution techniques for integer programming models. Integer Programming Introduction The general linear programming model depends on the assumption of divisibility. In other words, the decision variables are allowed to take non-negative integer as well

More information

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of Column Generation MTech Seminar Report by Soumitra Pal Roll No: 05305015 under the guidance of Prof. A. G. Ranade Computer Science and Engineering IIT-Bombay a Department of Computer Science and Engineering

More information

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique. IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, 31 14. You wish to solve the IP below with a cutting plane technique. Maximize 4x 1 + 2x 2 + x 3 subject to 14x 1 + 10x 2 + 11x 3 32 10x 1 +

More information

Lecture 5 January 16, 2013

Lecture 5 January 16, 2013 UBC CPSC 536N: Sparse Approximations Winter 2013 Prof. Nick Harvey Lecture 5 January 16, 2013 Scribe: Samira Samadi 1 Combinatorial IPs 1.1 Mathematical programs { min c Linear Program (LP): T x s.t. a

More information

Integer programming, Barvinok s counting algorithm and Gomory relaxations

Integer programming, Barvinok s counting algorithm and Gomory relaxations Integer programming, Barvinok s counting algorithm and Gomory relaxations Jean B. Lasserre LAAS-CNRS, Toulouse, France Abstract We propose an algorithm based on Barvinok s counting algorithm for P max{c

More information

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. Problem 1 Consider

More information

The Simplex Method. Lecture 5 Standard and Canonical Forms and Setting up the Tableau. Lecture 5 Slide 1. FOMGT 353 Introduction to Management Science

The Simplex Method. Lecture 5 Standard and Canonical Forms and Setting up the Tableau. Lecture 5 Slide 1. FOMGT 353 Introduction to Management Science The Simplex Method Lecture 5 Standard and Canonical Forms and Setting up the Tableau Lecture 5 Slide 1 The Simplex Method Formulate Constrained Maximization or Minimization Problem Convert to Standard

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

A primal-simplex based Tardos algorithm

A primal-simplex based Tardos algorithm A primal-simplex based Tardos algorithm Shinji Mizuno a, Noriyoshi Sukegawa a, and Antoine Deza b a Graduate School of Decision Science and Technology, Tokyo Institute of Technology, 2-12-1-W9-58, Oo-Okayama,

More information

Linear Programming. Leo Liberti. LIX, École Polytechnique. Operations research courses / LP theory p.

Linear Programming. Leo Liberti. LIX, École Polytechnique. Operations research courses / LP theory p. Operations research courses / LP theory p. 1/47 Linear Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Operations research courses / LP theory p. 2/47 Contents LP formulations

More information

The Simplex Method for Solving a Linear Program Prof. Stephen Graves

The Simplex Method for Solving a Linear Program Prof. Stephen Graves The Simplex Method for Solving a Linear Program Prof. Stephen Graves Observations from Geometry feasible region is a convex polyhedron an optimum occurs at a corner point possible algorithm - search over

More information

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek

More information

TIM 206 Lecture 3: The Simplex Method

TIM 206 Lecture 3: The Simplex Method TIM 206 Lecture 3: The Simplex Method Kevin Ross. Scribe: Shane Brennan (2006) September 29, 2011 1 Basic Feasible Solutions Have equation Ax = b contain more columns (variables) than rows (constraints),

More information

Decision Procedures An Algorithmic Point of View

Decision Procedures An Algorithmic Point of View An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

More information

Duality of LPs and Applications

Duality of LPs and Applications Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will

More information

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16:38 2001 Linear programming Optimization Problems General optimization problem max{z(x) f j (x) 0,x D} or min{z(x) f j (x) 0,x D}

More information

Benders' Method Paul A Jensen

Benders' Method Paul A Jensen Benders' Method Paul A Jensen The mixed integer programming model has some variables, x, identified as real variables and some variables, y, identified as integer variables. Except for the integrality

More information

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 7.5 Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

III. Linear Programming

III. Linear Programming III. Linear Programming Thomas Sauerwald Easter 2017 Outline Introduction Standard and Slack Forms Formulating Problems as Linear Programs Simplex Algorithm Finding an Initial Solution III. Linear Programming

More information

Example Problem. Linear Program (standard form) CSCI5654 (Linear Programming, Fall 2013) Lecture-7. Duality

Example Problem. Linear Program (standard form) CSCI5654 (Linear Programming, Fall 2013) Lecture-7. Duality CSCI5654 (Linear Programming, Fall 013) Lecture-7 Duality Lecture 7 Slide# 1 Lecture 7 Slide# Linear Program (standard form) Example Problem maximize c 1 x 1 + + c n x n s.t. a j1 x 1 + + a jn x n b j

More information