Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Similar documents
Artificial Intelligence

Discrete Optimization. Lecture Notes 2

Linear programming and duality theory

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

16.410/413 Principles of Autonomy and Decision Making

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Some Advanced Topics in Linear Programming

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

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

Ellipsoid Algorithm :Algorithms in the Real World. Ellipsoid Algorithm. Reduction from general case

CMPSCI611: The Simplex Algorithm Lecture 24

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Convex Optimization CMU-10725

Linear Programming and its Applications

David G. Luenberger Yinyu Ye. Linear and Nonlinear. Programming. Fourth Edition. ö Springer

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

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

Advanced Algorithms Linear Programming

Linear Programming Duality and Algorithms

INTRODUCTION TO LINEAR AND NONLINEAR PROGRAMMING

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Linear Optimization and Extensions: Theory and Algorithms

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

LECTURE 13: SOLUTION METHODS FOR CONSTRAINED OPTIMIZATION. 1. Primal approach 2. Penalty and barrier methods 3. Dual approach 4. Primal-dual approach

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

The Simplex Algorithm

3 INTEGER LINEAR PROGRAMMING

Linear Programming in Small Dimensions

Chapter 4 Concepts from Geometry

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

An example of LP problem: Political Elections

Chapter II. Linear Programming

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

DETERMINISTIC OPERATIONS RESEARCH

Introduction to Linear Programming

Mathematical and Algorithmic Foundations Linear Programming and Matchings

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Chapter 15 Introduction to Linear Programming

OPERATIONS RESEARCH. Linear Programming Problem

LECTURE 6: INTERIOR POINT METHOD. 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm

AM 121: Intro to Optimization Models and Methods Fall 2017

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

EARLY INTERIOR-POINT METHODS

11 Linear Programming

Linear Programming Motivation: The Diet Problem

THEORY OF LINEAR AND INTEGER PROGRAMMING

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Linear Programming 1

Applied Integer Programming

Read: H&L chapters 1-6

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology

4 Integer Linear Programming (ILP)

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Programming, numerics and optimization

Combinatorial Optimization

CSE 460. Today we will look at" Classes of Optimization Problems" Linear Programming" The Simplex Algorithm"

Graphing Linear Inequalities in Two Variables.

The Simplex Algorithm

Lecture 9: Linear Programming

Linear programming II João Carlos Lourenço

LARGE SCALE LINEAR AND INTEGER OPTIMIZATION: A UNIFIED APPROACH

Integer Programming Theory

Solving LP in polynomial time

Heuristic Optimization Today: Linear Programming. Tobias Friedrich Chair for Algorithm Engineering Hasso Plattner Institute, Potsdam

What s Linear Programming? Often your try is to maximize or minimize an objective within given constraints

Linear Programming. them such that they

Polyhedral Compilation Foundations

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

CSC 8301 Design & Analysis of Algorithms: Linear Programming

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

Linear Programming: Introduction

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

New Directions in Linear Programming

Simplex Algorithm in 1 Slide

Mathematical Programming and Research Methods (Part II)

Fundamentals of Integer Programming

Finite Math Linear Programming 1 May / 7

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

16.410/413 Principles of Autonomy and Decision Making

Linear Programming. Course review MS-E2140. v. 1.1

Linear Optimization. Andongwisye John. November 17, Linkoping University. Andongwisye John (Linkoping University) November 17, / 25

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Week 5. Convex Optimization

Solutions for Operations Research Final Exam

6 Randomized rounding of semidefinite programs

Linear methods for supervised learning

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Tutorial on Convex Optimization for Engineers

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Transcription:

Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x cost or objective function subject to Ax = b equalities x 0 inequalities c R n, b R m, A R m n Linear programming: x R n (polynomial time) Integer programming: x Z n (NP-complete) Extremely general framework, especially IP 15-853 Page1 15-853 Page2 Related Optimization Problems Unconstrained optimization max{f(x) : x R n } Constrained optimization max{f(x) : g i (x) 0, h j (x) = 0} Quadratic programming max{1/2x T Qx + c T x : Ax b, Ex = d} Zero-One programming max{c T x : Ax = b, x {0,1} n, c R n, b R m } Mixed Integer Programming max{c T x : Ax = b, x 0, x i Z n, i I, x r R n, r R} How important is optimization? 50+ packages available 1300+ papers just on interior-point methods 100+ books in the library 10+ courses at most Universities 100s of companies All major airlines, delivery companies, trucking companies, manufacturers, make serious use of optimization. 15-853 Page3 15-853 Page4 1

Linear+Integer Programming Outline Linear Programming General formulation and geometric interpretation Simplex method Ellipsoid method Interior point methods Integer Programming Various reductions of NP hard problems Linear programming approximations Branch-and-bound + cutting-plane techniques Applications of Linear Programming 1. A substep in most integer and mixed-integer linear programming (MIP) methods 2. Selecting a mix: oil mixtures, portfolio selection 3. Distribution: how much of a commodity should be distributed to different locations. 4. Allocation: how much of a resource should be allocated to different tasks 5. Network Flows 15-853 Page5 15-853 Page6 Linear Programming for Max-Flow in 5 3 Create two variables per edge: Create one equality per vertex: + + = + + and two inequalities per edge: 3, 3 add edge x 0 from out to in maximize x 0 7 1 6 2 7 2 3 out 15-853 Page7 In Practice In the real world most problems involve at least some integral constraints. Many resources are integral Can be used to model yes/no decisions (0-1 variables) Therefore 1. A subset in integer or MIP programming is the most common use in practice 15-853 Page8 2

Algorithms for Linear Programming Simplex (Dantzig 1947) Ellipsoid (Kachian 1979) first algorithm known to be polynomial time Interior Point first practical polynomial-time algorithms Projective method (Karmakar 1984) Affine Method (Dikin 1967) Log-Barrier Methods (Frisch 1977, Fiacco 1968, Gill et.al. 1986) Many of the interior point methods can be applied to nonlinear programs. Not known to be poly. time State of the art 1 million variables 10 million nonzeros No clear winner between Simplex and Interior Point Depends on the problem Interior point methods are subsuming more and more cases All major packages supply both The truth: the sparse matrix routines, make or break both methods. The best packages are highly sophisticated. 15-853 Page9 15-853 Page10 problem Comparisons, 1994 Simplex (primal) Simplex (dual) Barrier + crossover binpacking 29.5 62.8 560.6 distribution 18,568.0 won t run too big forestry 1,354.2 1,911.4 2,348.0 maintenace 57,916.3 89,890.9 3,240.8 crew 7,182.6 16,172.2 1,264.2 airfleet 71,292.5 108,015.0 37,627.3 energy 3,091.1 1,943.8 858.0 4color 45,870.2 won t run too big Formulations There are many ways to formulate linear programs: objective (or cost) function maximize c T x, or minimize c T x, or find any feasible solution (in)equalities Ax b, or Ax b, or Ax = b, or any combination nonnegative variables x 0, or not Fortunately it is pretty easy to convert among forms 15-853 Page11 15-853 Page12 3

Formulations The two most common formulations: Canonical form maximize c T x subject to Ax b x 0 e.g. 7 + 5 7, 0 slack variables y 1 More on slack variables later. Standard form maximize c T x subject to Ax = b x 0 7 + 5 + y 1 = 7,, y 1 0 15-853 Page13 Geometric View A polytope in n-dimensional space Each inequality corresponds to a half-space. The feasible set is the intersection of the halfspaces This corresponds to a polytope Polytopes are convex: if x,y is in the polytope, so is the line segment joining them. The optimal solution is at a vertex (i.e., a corner). Simplex moves around on the surface of the polytope Interior-Point methods move within the polytope 15-853 Page14 Geometric View Notes about higher dimensions maximize: z = 2 + 3 subject to: 2 4 2 + 18 10, 0 An intersection of 5 halfspaces Feasible Set Objective Function 2 + 3 2 4 10 Corners 2 + 18 15-853 Page15 For n dimensions and no degeneracy Each corner (extreme point) consists of: n intersecting (n-1)-dimensional hyperplanes e.g. for n = 3, 3 intersecting 2d planes make corner n intersecting edges Each edge corresponds to moving off of one hyperplane (still constrained by n-1 of them) # Corners can be exponential in n (e.g., a hypercube) Simplex will move from corner to corner along the edges 15-853 Page16 4

The Simple Essense of Simplex Polytope P Input: max f(x) = cx s.t. x in P = {x : Ax b, x 0} Consider Polytope P from canonical form as a graph G = (V,E) with V = polytope vertices, E = polytope edges. 1) Find any vertex v of P. 2) While there exists a neighbor u of v in G with f(u) < f(v), update v to u. 3) Output v. Choice of neighbor if several u have f(u) < f(v)? Optimality and Reduced Cost The Optimal solution must include a corner. The Reduced cost for a hyperplane at a corner is the cost of moving one unit away from the plane along its corresponding edge. z 1 p i e i r i = -z e i For maximization, if all reduced cost are nonnegative, then we are at an optimal solution. Finding the most negative reduced cost is one often used heuristic for choosing an edge to leave on 15-853 Page17 15-853 Page18 Reduced cost example Simplex Algorithm z = 2 + 3 e i 1 2 4 e i = (2, 1) Ex: reduced cost for leaving -axis from point (4,0) Moving 1 unit off of - axis will move us (2,1) units along the edge. The reduced cost of leaving the plane is -(2,3) (2,1) = -7 15-853 Page19 1. Find a corner of the feasible region 2. Repeat A. For each of the n hyperplanes intersecting at the corner, calculate its reduced cost B. If they are all non-negative, then done C. Else, pick the most negative reduced cost This is called the entering plane D. Move along corresponding edge (i.e. leave that hyperplane) until we reach the next corner (i.e. reach another hyperplane) The new plane is called the departing plane 15-853 Page20 5

Example Simplifying Departing Step 1 Entering Step 2 z = 2 + 3 Start Problem: The Ax b constraints not symmetric with the x 0 constraints. We would like more symmetry. Idea: Leave only inequalities of the form x 0. Use slack variables to do this. Convert into form: maximize c T x subject to Ax = b x 0 15-853 Page21 15-853 Page22 maximize c T x subject to Ax b x 0 A = m n i.e. m equations, n variables Standard Form 10 2 + 18 2 4 slack variables Standard Form maximize c T x subject to A x = b x 0 A = m (m+n) i.e. m equations, m+n variables 2 + + = 18 15-853 Page23 maximize: z = 2 + 3 subject to: 2 + = 4 2 + + = 18 + = 10,,,, 0 Example, again The equality constraints impose a 2d plane embedded in 5d space, looking at the plane gives the figure above 15-853 Page24 6

Using Matrices If before adding the slack variables A has size m n then after it has size m (n + m) m can be larger or smaller than n A = n m 1 0 0 0 1 0 0 0 1 slack vrs. Assuming rows are independent, the solution space of Ax = b is an n-dimensional subspace. m 15-853 Page25 Simplex Algorithm, again 1. Find a corner of the feasible region 2. Repeat A. For each of the n hyperplanes intersecting at the corner, calculate its reduced cost B. If they are all non-negative, then done C. Else, pick the most negative reduced cost This is called the entering plane D. Move along corresponding line (i.e. leave that hyperplane) until we reach the next corner (i.e. reach another hyperplane) The new plane is called the departing plane 15-853 Page26 Simplex Algorithm (Tableau Method) m reduced costs n F r Free Variables I b 0 z Basic Vars. current cost This form is called a Basic Solution the n free variables are set to 0 the m basic variables are set to b A valid solution to Ax = b if reached using Gaussian Elimination Represents n intersecting hyperplanes If feasible (i.e. b 0), then the solution is called a Basic Feasible Solution and is a corner of the feasible set Corner 1-2 1 0 0 4 2 + = 4 2 1 0 1 0 18 2 + + = 18 + = 10-2 -3 0 0 0 0 z - 2-3 = 0 Free variables Basic Vars. 15-853 Page27 15-853 Page28 7

Corner Corner free variables basic variables 1-2 1 0 0 4 2 1 0 1 0 18-2 -3 0 0 0 0 -.5 -.5 1 0 0-2 2.5.5 0 1 0 20.5.5 0 0 1 12-3.5-1.5 0 0 0-6 15-853 Page29 15-853 Page30 Corner Corner 1-2 1 0 0 4-2 5 0 1 0 10 2-7 0 0 0 8.2.4 1 0 0 8 -.4.2 0 1 0 2.4 -.2 0 0 1 8 -.8 1.4 0 0 0 22 15-853 Page31 15-853 Page32 8

Corner Simplex Method Again -.5-2.5 1 0 0-5.5.5 0 1 0 9 1-2 0 0 0 18 Note that in general there are n+m choose m corners Once you have found a basic feasible solution (a corner), we can move from corner to corner by swapping columns and eliminating. ALGORITHM 1. Find a basic feasible solution 2. Repeat A. If r (reduced cost ) 0, DONE B. Else, pick column with most negative r C. Pick row with least positive b /(selected column) D. Swap columns E. Use Gaussian elimination to restore form 15-853 Page33 15-853 Page34 Tableau Method Tableau Method A. If r are all non-negative then done n B. Else, pick the most negative reduced cost This is called the entering plane F I b n r Free Variables values are 0 0 Basic Variables z current cost F r I 0 b z reduced costs if all 0 then done min{r i } entering variable 15-853 Page35 15-853 Page36 9

Tableau Method C. Move along corresponding line (i.e. leave that hyperplane) until we reach the next corner (i.e. reach another hyperplane) The new plane is called the departing plane F r u I 0 1 b z min positive b j /u j departing variable Tableau Method D. Swap columns r swap E. Gauss-Jordan elimination F i+1 x x x b x x z I b i+1 r i+1 0 z i+1 No longer in proper form Back to proper form 15-853 Page37 15-853 Page38 Example 1-2 1 0 0 4 2 + = 4 2 1 0 1 0 18 2 + + = 18 + = 10-2 -3 0 0 0 0 z - 2-3 = 0 Find corner 1-2 1 0 0 4 2 1 0 1 0 18-2 -3 0 0 0 0 = = 0 (start) 15-853 Page39 Example 1-2 1 0 0 4 18 2 1 0 1 0 18-2 -3 0 0 0 0 10 1-2 1 0 0 4-2 2 1 0 1 0 18 18 10-2 -3 0 0 0 0-2 b j /v j min positive x 2 15-853 Page40 10

swap Example 18 Example 18 1 0 1 0-2 4 2 0 0 1 1 18-2 0 0 0-3 0 10 1 2 1 0 0 24 2-1 0 1 0 8-2 3 0 0 0 30 10 1 2 1 0 0 24 2-1 0 1 0 8-2 3 0 0 0 30-2 Gauss-Jordan Elimination 1 2 1 0 0 24 24 2-1 0 1 0 8 4-2 -3 0 0 0 30-2 15-853 Page41 15-853 Page42 swap Example 18 Simplex Concluding remarks 0 2 1 1 0 24 1-1 0 2 0 8 0 3 0-2 0 30 10 For dense matrices, takes O(n(n+m)) time per iteration Can take an exponential number of iterations. In practice, sparse methods are used for the iterations. -.5 2.5 1 0 0 20.5 -.5 0 1 0 4 1 2 0 0 0 38-2 Gauss-Jordan Elimination 15-853 Page43 15-853 Page44 11

Duality Primal (P): maximize z = c T x subject to Ax b x 0 (n equations, m variables) Dual (D): minimize z = y T b subject to A t y c y 0 (m equations, n variables) Duality Theorem: if x is feasible for P and y is feasible for D, then cx yb and at optimality cx = yb. feasible solutions for Primal (maximization) Duality (cont.) Optimal solution for both feasible solutions for Dual (minimization) Quite similar to duality of Maximum Flow and Minimum Cut. Useful in many situations. 15-853 Page45 15-853 Page46 Duality Example Primal: maximize: z = 2 + 3 subject to: 2 4 2 + 18 10, 0 Dual: minimize: z = 4y 1 + 18y 2 + 10y 3 subject to: y 1 + 2y 2 2-2y 1 + Y 2 + Y 3 3 y 1, y 2, y 3 0 Solution to both is 38 ( =4, =10), (y 1 =0, y 2 =1, y 3 =2). 15-853 Page47 12