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

Similar documents
Design and Analysis of Algorithms (V)

Linear Programming CISC4080, Computer Algorithms CIS, Fordham Univ. Linear Programming

Linear Programming 1

Linear Programming and its Applications

Linear Programming: Introduction

CS483 Analysis of Algorithms Lecture 09 Linear Programming 01

Linear Programming. Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Notes for Lecture 18

Chapter 7. Linear programming and reductions

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

Artificial Intelligence

Linear programming and duality theory

Example: profit maximization

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

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

OPERATIONS RESEARCH. Linear Programming Problem

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

Programming, numerics and optimization

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

11 Linear Programming

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

Some Advanced Topics in Linear Programming

Linear Programming Motivation: The Diet Problem

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

5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY

Mathematical and Algorithmic Foundations Linear Programming and Matchings

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

Lecture 4: Linear Programming

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

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

Lecture 9: Linear Programming

Linear Programming Duality and Algorithms

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

1 Linear programming relaxation

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

16.410/413 Principles of Autonomy and Decision Making

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

Linear Programming in Small Dimensions

The simplex method and the diameter of a 0-1 polytope

Advanced Algorithms Linear Programming

Graphing Linear Inequalities in Two Variables.

UNIT 6 MODELLING DECISION PROBLEMS (LP)

Lesson 11: Duality in linear programming

Fundamentals of Integer Programming

Chapter 3 Linear Programming: A Geometric Approach

An example of LP problem: Political Elections

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

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

Combinatorial Optimization

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

5.3 Cutting plane methods and Gomory fractional cuts

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

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

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

Integer Programming Theory

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

Linear Programming Problems

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

The Simplex Algorithm for LP, and an Open Problem

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

CSC 8301 Design & Analysis of Algorithms: Linear Programming

Lecture Notes 2: The Simplex Algorithm

Convex Optimization CMU-10725

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

Linear Programming. them such that they

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

AMATH 383 Lecture Notes Linear Programming

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

UNIT 2 LINEAR PROGRAMMING PROBLEMS

Solutions for Operations Research Final Exam

CMPSCI611: The Simplex Algorithm Lecture 24

Real life Problem. Review

Chapter II. Linear Programming

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

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

Linear programming II João Carlos Lourenço

The Simplex Algorithm

Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs

INTRODUCTION TO LINEAR AND NONLINEAR PROGRAMMING

Introduction to Linear Programming

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

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Linear Programming and Integer Linear Programming

Dual-fitting analysis of Greedy for Set Cover

Read: H&L chapters 1-6

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

Math Models of OR: The Simplex Algorithm: Practical Considerations

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

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

OPTIMIZATION METHODS

Graphical Analysis. Figure 1. Copyright c 1997 by Awi Federgruen. All rights reserved.

AM 121: Intro to Optimization Models and Methods Fall 2017

6 Randomized rounding of semidefinite programs

THEORY OF LINEAR AND INTEGER PROGRAMMING

Identical text Minor difference Moved in S&W Wrong in S&W Not copied from Wiki 1

CHAPTER 3 LINEAR PROGRAMMING: SIMPLEX METHOD

Algorithmic Game Theory and Applications. Lecture 6: The Simplex Algorithm

Three Dimensional Geometry. Linear Programming

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Transcription:

Linear Programming 3 describes a broad class of optimization tasks in which both the optimization criterion and the constraints are linear functions. Linear Programming consists of three parts: A set of decision variables An objective function: maximize or minimize a given linear objective function A set of constraints: satisfy a set of linear inequalities involving these variables Iris Hui-Ru Jiang Fall 2014 Linear Programming Example: Profit Maximization (1/4) 2 Course contents: Formulation Duality The simplex method Reading: Chapter 7 (Dasgupta) Chapter 29 (Cormen) 4 A boutique chocolatier has two products: A (Pyramide): profit $1 per box B (Nuit): profit $6 per box Constraints: The daily demand for these exclusive chocolates is limited to at most 200 boxes of A and 300 boxes of B The current workforce can produce a total of at most 400 boxes of chocolate per day Decision variables: x 1 = Boxes of A x 2 = Boxes of B Objective Function: Maximize profit

Example: Profit Maximization (2/4) Example: Profit Maximization (4/4) 5 A linear equation in x 1 and x 2 defines a line in the 2D plane A linear inequality designates a half-space The set of all feasible solutions of this linear program is the intersection of five half-spaces. It is a convex polygon 7 The Simplex method: hill climbing George Dantzig, 1947 Starts at a vertex, say (0, 0) Repeatedly looks for an adjacent vertex (connected by an edge of the feasible region) of better objective value Upon reaching a vertex that has no better neighbor, simplex declares it to be optimal and halts (100, 300) Example: Profit Maximization (3/4) Multipliers? 6 Search for the optimal solution It is a general rule of linear programs that the optimum is achieved at a vertex of the feasible region. 8 max x 1 + 6x 2 x 1 <= 200 (1) x 2 <= 300 (2) x 1 + x 2 <= 400 (3) x 1, x 2 >= 0. Optimal: (x 1, x 2 ) = (100, 300); objective value = 1900 (100, 300) Can this answer be checked somehow? (1) + 6*(2): x 1 + 6x 2 <= 2000 0*(1) + 5*(2) + (3): x 1 + 6x 2 <= 1900 The multipliers (0, 5, 1) constitute a certificate of optimality How would we systematically find the magic multipliers?

Duality (1/3) Duality (3/3) 9 Multipliers y i s must be nonnegative max x 1 + 6x 2 x 1 <= 200 (1) x 2 <= 300 (2) x 1 + x 2 <= 400 (3) x 1, x 2 >= 0. 11 Generic form: If the left-hand side to look like our objective function, the righthand side is an upper bound on the optimum solution Dual theorem: If a linear program has a bounded optimum, then so does its dual, and the new optimum values coincide. Max-flow min-cut We want a tight bound! Duality (2/3) The Simplex Algorithm 10 A new LP: finding multipliers that gives the best upper bound on our original LP Primal LP Dual LP 12 Any feasible value of dual LP is an upper bound on primal LP If we find a pair of primal and dual feasible values that are equal, they must be both optimal. Every constraint specifies an n-dimensional half-space Travel along edges until no improvement can be made

Vertex and Neighbors Example (1/3) 13 15 Pick a subset of the inequalities. If there is a unique point that satisfies them with equality, and this point happens to be feasible, then it is a vertex {2, 3, 7} A {4, 6} no vertex Two vertices are neighbors if they have n - 1 defining inequalities in common {2, 3, 7} A {1, 3, 7} C The Simplex Algorithm Example (2/3) 14 On each iteration, simplex has two tasks: Task 1: Check whether the current vertex is optimal Task 2: Determine where to move next Both tasks are easy if the vertex happens to be at the origin Transform the coordinate system to move vertex u to the origin 16 Task 1: The origin is optimal if and only if all c i <= 0 Task 2: We can move by increasing some x i for which c i > 0 Until we hit some other constraint

Example (3/3) 17 Standard Form 18 Variants Either a maximization or a minimization problem Constraints can be equations and/or inequalities Variables are restricted to be nonnegative or unrestricted in sign Standard form Objective function: minimization Constraints: equations Variables: nonnegative Slack variables