Chapter 1 Linear Programming. Paragraph 4 The Simplex Algorithm

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

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

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

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

Introduction to Operations Research

Discrete Optimization. Lecture Notes 2

4.1 Graphical solution of a linear program and standard form

16.410/413 Principles of Autonomy and Decision Making

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

CSC 8301 Design & Analysis of Algorithms: Linear Programming

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

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

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

The Simplex Algorithm

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

Linear programming II João Carlos Lourenço

The Simplex Algorithm for LP, and an Open Problem

Read: H&L chapters 1-6

Linear Programming Duality and Algorithms

CMPSCI611: The Simplex Algorithm Lecture 24

CSE 40/60236 Sam Bailey

AM 121: Intro to Optimization Models and Methods Fall 2017

Lecture Notes 2: The Simplex Algorithm

ISE203 Optimization 1 Linear Models. Dr. Arslan Örnek Chapter 4 Solving LP problems: The Simplex Method SIMPLEX

Mathematical and Algorithmic Foundations Linear Programming and Matchings

CASE STUDY. fourteen. Animating The Simplex Method. case study OVERVIEW. Application Overview and Model Development.

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

Linear Programming. L.W. Dasanayake Department of Economics University of Kelaniya

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.

Solutions for Operations Research Final Exam

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

The Simplex Algorithm. Chapter 5. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Introduction to Linear Programming

Artificial Intelligence

Unit.9 Integer Programming

4.1 The original problem and the optimal tableau

Chapter II. Linear Programming

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem

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

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

Linear Programming. them such that they

Lesson 17. Geometry and Algebra of Corner Points

Transportation Problems

IE 5531: Engineering Optimization I

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

Optimization. Lecture08 12/06/11

OPERATIONS RESEARCH. Linear Programming Problem

Problem Set 2 Geometry, Algebra, Reality

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

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

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

An iteration of the simplex method (a pivot )

Finite Math Linear Programming 1 May / 7

CURVE SKETCHING EXAM QUESTIONS

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

Linear Programming Problems

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

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

R n a T i x = b i} is a Hyperplane.

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

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

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

Lecture 9: Linear Programming

The Simplex Algorithm

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

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Lecture 16 October 23, 2014

Linear Programming and its Applications

J Linear Programming Algorithms

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

Notes for Lecture 18

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

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

Math Models of OR: The Simplex Algorithm: Practical Considerations

A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS

Math 5593 Linear Programming Lecture Notes

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

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Marginal and Sensitivity Analyses

A Generalized Model for Fuzzy Linear Programs with Trapezoidal Fuzzy Numbers

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

Foundations of Computing

CS 343: Artificial Intelligence

Intro to Linear Programming. The problem that we desire to address in this course is loosely stated below.

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Subexponential lower bounds for randomized pivoting rules for the simplex algorithm

Graphs that have the feasible bases of a given linear

c) How many students took none of the three subjects?

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

INEN 420 Final Review

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

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

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

MATH 310 : Degeneracy and Geometry in the Simplex Method

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood

Linear Programming Algorithms [Read Chapters G and H first.] Status: Half-finished.

Lecture 4: Linear Programming

COLUMN GENERATION IN LINEAR PROGRAMMING

Transcription:

Chapter Linear Programming Paragraph 4 The Simplex Algorithm

What we did so far By combining ideas of a specialized algorithm with a geometrical view on the problem, we developed an algorithm idea: Find a feasible corner (somehow). Check neighboring corners and see if one is better. Move over to the next corner until no better neighboring solution exists. We studied the mathematical foundations of this algorithm sketch. We know what corners are (basic feasible solutions), and we have proven that, if it exists, an optimal solution can always be found in a corner. CS 49 - Intro to CO

What we did so far We have seen how to hop from one corner to another by following the edges of a polyeder, which are given by solutions of the homogenous equation system. We have introduced the notion of relative costs that tell us whether following an edge to a neighboring corner will yield to an objective function decrease or not. Now let us formulate an algorithm for solving any given linear programming problem! CS 49 - Intro to CO 3

The Simplex Form We have seen that different forms of linear programs are equivalent : Standard Form Canonical Form LPs that contain unbounded variables We consider exclusively LPs in Standard Form for which we sketch an algorithm in the following. Min c T x Ax = b x CS 49 - Intro to CO 4

Our Data-Structure: The Simplex Tableau c T c T -c T x A b A b c T c BT A B - A -c T x (, c NT c BT A B - A N ) -c T x A B - A A B - b (E m, A B - A N ) A B - b CS 49 - Intro to CO 5

The Simplex-Tableau: A Perspective Assume our initial tableau corresponds to a basic feasible solution. When performing a basis change, all parts of the tableau change as if a Gaussian elimination step (with pivot element in the A N -part) was applied on the entire tableau. Therefore: By arranging the parts of a linear program (A, b, c, and objective value) in the form of a tableau, we merely facilitate the description of the core optimization step of the simplex algorithm. The tableau as a data-structure is more of a software design element than an efficient data-structure in the understanding of algorithmic computer science. CS 49 - Intro to CO 6

An Instruction List Given a tableau corresponding to a basic feasible solution. Choose a column t with relative costs c t <. If no such column exists: x is optimal return. Determine i such that λ = b i / a it = min { b k / a kt a kt > } (Note: b i = x B(i) ). If no such i exists, then the linear optimization problem is unbounded and no optimal solution exists return. Update the tableau by performing a Gaussian elimination step around pivot element a it. Repeat. CS 49 - Intro to CO 7

An Example - - - - 3 5 4 3 CS 49 - Intro to CO 8

An Example -3 3 5-3 - - 3 CS 49 - Intro to CO 9

An Example - 3 6 5 4 - - - CS 49 - Intro to CO

An Example - 6-5 4 - - - CS 49 - Intro to CO

An Example 8 - - - 4 3 - CS 49 - Intro to CO

Is Our Instruction List an Algorithm that Solves LP? Termination? Precondition: Finding a basic solution is easy (Gaussian elimination) but finding a basic feasible solution? What is the worst-case runtime? CS 49 - Intro to CO 3

Termination We have some choices to make that are arbitrary so far: If there is more than one column t with negative relative costs, which one should we choose? If there is more than one row i for which λ is minimal, which one should we choose? Bland s Anticycling Algorithm Choose both t and B(i) minimal. Prove this guarantees termination! CS 49 - Intro to CO 4

Is Our Instruction List An Algorithm That Solves LP? Termination? Precondition: Finding a basic solution is easy (Gaussian elimination) but finding a basic feasible solution? What is the worst-case runtime? CS 49 - Intro to CO 5

How to find the first basic feasible solution - - - - - 5 - - CS 49 - Intro to CO 6

How to find the first basic feasible solution - - - - - 5 - - CS 49 - Intro to CO 7

How to find the first basic feasible solution 3 5 - - -6 CS 49 - Intro to CO 8

How to find the first basic feasible solution 3 5 - - -6 CS 49 - Intro to CO 9

How to find the first basic feasible solution 3 5 - - -6 CS 49 - Intro to CO

How to find the first basic feasible solution - 4 3 - - -3 CS 49 - Intro to CO

How to find the first basic feasible solution - - 3 - - CS 49 - Intro to CO

How to find the first basic feasible solution - - 3 - - CS 49 - Intro to CO 3

How to find the first basic feasible solution - - - - CS 49 - Intro to CO 4

How to find the first basic feasible solution - - - - CS 49 - Intro to CO 5

How to find the first basic feasible solution - - - CS 49 - Intro to CO 6

How to find the first basic feasible solution / / -/ -/ -/ / -/ / 3/ CS 49 - Intro to CO 7

How to find the first basic feasible solution / / -/ -/ -/ / -/ / 3/ CS 49 - Intro to CO 8

How to find the first basic feasible solution - - - - - - - - -3 - - - - - - - - / / -/ -/ -/ / -/ / / 3/ CS 49 - Intro to CO 9

How to find the first basic feasible solution / -/ -/ -/ / / / -/ / 3/ -/ -/ / -/ / 3/ / / -/ -/ -/ / -/ / 3/ CS 49 - Intro to CO 3

Is Our Instruction List An Algorithm That Solves LP? Termination? Precondition: Finding a basic solution is easy (Gaussian elimination) but finding a basic feasible solution? What is the worst-case runtime? CS 49 - Intro to CO 3

Worst-Case Runtime n There are at most basic solutions. m Consequently, since we never repeat a bfs, we terminate. We have an algorithm! Because of the optimality condition, it is called: The Simplex Algorithm. But: the runtime is not polynomial! Note: Linear Programming Problems can be solved in polynomial time but the simplex algorithm does not achieve that. CS 49 - Intro to CO 3

Average Case Runtime What is an average instance? Under some appropriate distribution assumptions, it can be shown that the simplex algorithm needs O(n 4 ) steps, each of which takes O(nm). In practice, for real-world instances, we measure an average of 3 (n-m) steps. CS 49 - Intro to CO 33

Thank you!