CS 312: Algorithm Analysis Lecture #30: Linear Programming: Intro. to the Simplex Algorithm This work is licensed under a Creative Commons Attribution-Share.

Slides:



Advertisements
Similar presentations
February 14, 2002 Putting Linear Programs into standard form
Advertisements

Lecture 3 Linear Programming: Tutorial Simplex Method
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Linear Programming – Simplex Method
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 8 Tuesday, 11/19/02 Linear Programming.
Copyright (c) 2003 Brooks/Cole, a division of Thomson Learning, Inc
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Linear Inequalities and Linear Programming Chapter 5
The Simplex Method: Standard Maximization Problems
Operation Research Chapter 3 Simplex Method.
1 Linear Programming Jose Rolim University of Geneva.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 9 Wednesday, 11/15/06 Linear Programming.
ISM 206 Lecture 4 Duality and Sensitivity Analysis.
Simplex Method LP problem in standard form. Canonical (slack) form : basic variables : nonbasic variables.
Optimization Linear Programming and Simplex Method
Linear Programming (LP)
The Simplex Method.
ISM 206 Lecture 3 The Simplex Method. Announcements Homework due 6pm Thursday Thursday 6pm lecture.
ISM 206 Lecture 3 The Simplex Method. Announcements.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
CS 312: Algorithm Analysis Lecture #16: Strongly Connected Components This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
TODAY IN ALGEBRA…  Learning Goal: 7.2 You will solve systems of linear equations by Substitution  Independent Practice.
Solving Systems of Linear Equations
CS 312: Algorithm Analysis Lecture #3: Algorithms for Modular Arithmetic, Modular Exponentiation This work is licensed under a Creative Commons Attribution-Share.
CS 312: Algorithm Analysis
CS 312: Algorithm Design & Analysis Lecture #34: Branch and Bound Design Options for Solving the TSP: Tight Bounds This work is licensed under a Creative.
CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CS 312: Algorithm Design & Analysis Lecture #17: Connectedness in Graphs This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
CS 312: Algorithm Analysis Lecture #8: Non-Homogeneous Recurrence Relations This work is licensed under a Creative Commons Attribution-Share Alike 3.0.
After one pivot: HNT= [4 2 3]
Linear Programming – Simplex Method
CS 312: Algorithm Analysis Lecture #32: Intro. to State-Space Search This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
CS 312: Algorithm Design & Analysis Lecture #23: Making Optimal Change with Dynamic Programming Slides by: Eric Ringger, with contributions from Mike Jones,
CS 312: Algorithm Design & Analysis Lecture #12: Average Case Analysis of Quicksort This work is licensed under a Creative Commons Attribution-Share Alike.
CS 312: Algorithm Analysis Lecture #1: Algorithms and Efficiency This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CS 312: Algorithm Design & Analysis Lecture #24: Optimality, Gene Sequence Alignment This work is licensed under a Creative Commons Attribution-Share Alike.
CS 312: Algorithm Design & Analysis Lecture #2: Asymptotic Notation This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
OR Chapter 2. Simplex method (2,0) (2,2/3) (1,2)(0,2)
CS 312: Algorithm Design & Analysis Lecture #35: Branch and Bound Design Options: State Spaces Slides by: Eric Ringger, with contributions from Mike Jones,
CS 312: Algorithm Analysis Lecture #1: Algorithms and Efficiency This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CS 312: Algorithm Design & Analysis Lecture #37: A* (cont.); Admissible Heuristics Credit: adapted from slides by Stuart Russell of UC Berkeley. This work.
Lecture #9: Introduction to Markov Chain Monte Carlo, part 3
Slides by: Eric Ringger, adapted from slides by Stuart Russell of UC Berkeley. CS 312: Algorithm Design & Analysis Lecture #36: Best-first State- space.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
CS 312: Algorithm Analysis Lecture #7: Recurrence Relations a.k.a. Difference Equations Slides by: Eric Ringger, with contributions from Mike Jones, Eric.
CSC 445/545 is done at 4:30 so I did NOT fill in the box for 4:30 for our class. Please put your name here. Please put your as well. 1.
CS 312: Algorithm Analysis Lecture #8: Non-Homogeneous Recurrence Relations This work is licensed under a Creative Commons Attribution-Share Alike 3.0.
CS 312: Algorithm Analysis Lecture #33: Branch and Bound, Job Assignment This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
CS 312: Algorithm Analysis
CS 312: Algorithm Analysis Lecture #31: Linear Programming: the Simplex Algorithm, part 2 This work is licensed under a Creative Commons Attribution-Share.
CS 312: Algorithm Analysis Lecture #35: Branch and Bound Design Options - State Spaces Slides by: Eric Ringger, with contributions from Mike Jones, Eric.
CS 312: Algorithm Analysis Lecture #31: Linear Programming: the Simplex Algorithm, part 2 This work is licensed under a Creative Commons Attribution-Share.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CS 312: Algorithm Analysis Lecture #9: Recurrence Relations - Change of Variable Slides by: Eric Ringger, with contributions from Mike Jones, Eric Mercer,
CS 312: Algorithm Design & Analysis Lecture #26: 0/1 Knapsack This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CS 312: Algorithm Design & Analysis Lecture #29: Network Flow and Cuts This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
OBJ: Solve Linear systems graphically & algebraically Do Now: Solve GRAPHICALLY 1) y = 2x – 4 y = x - 1 Do Now: Solve ALGEBRAICALLY *Substitution OR Linear.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
CS 312: Algorithm Analysis Lecture #27: Network Flow This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
The Simplex Method. and Maximize Subject to From a geometric viewpoint : CPF solutions (Corner-Point Feasible) : Corner-point infeasible solutions 0.
7. Linear Programming (Simplex Method)
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Ch 11 Resource Constraints and Linear Programming
WARMUP 1. y > – x – 4 y < 2x + 2.
The Simplex Method: Nonstandard Problems
Solve Systems of Linear Inequalities
Solving Linear Programming Problems: Asst. Prof. Dr. Nergiz Kasımbeyli
Presentation transcript:

CS 312: Algorithm Analysis Lecture #30: Linear Programming: Intro. to the Simplex Algorithm This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative Commons Attribution-Share Alike 3.0 Unported License Slides by: Eric Ringger, with contributions from Mike Jones and Eric Mercer

Announcements  Homework #21 (Project 6, Part 1)  Due online today by 5pm  No late submissions accepted (just like any homework asst.)  Key available online after 5pm  Important: LP Notes available on the schedule  Works through the ideas up through the Simplex algorithm  Includes the pseudo-code for Simplex (and Pivot)  Project #6: Linear Programming (Part 2)  Early day: Friday  Due: next Monday  Verification suggestion: use another LP solver

Objectives  Review various forms for representing an LP problem  Understand the Simplex method algebraically  Introduce the concept of a Pivot  Walk through an example to completion

Forms of an LP Problem 1.English form 2.Algebraic form 3.Standard form up to step #1  also algebraic

Example: Standard Form (up to step #1)

Forms of an LP Problem 1.English form 2.Algebraic form 3.Standard form up to step #1  also algebraic 4.Geometric / graphical form  Only if 2-D, maybe 3-D 5.Matrix-vector form  Read off directly from standard form up to step #1

Example: Matrix-Vector Form

Forms of an LP Problem 1.English form 2.Algebraic form 3.Standard form up to step #1  also algebraic 4.Geometric / graphical form  Only if 2-D, maybe 3-D 5.Matrix-vector form  Read off directly from standard form up to step #1 6.Padded matrix-vector form  Adapted directly from matrix-vector form  Reflects the participation of slack variables

Example: Padded Matrix-Vector form Purposes: for input to the Simplex algorithm for computation in the Simplex algorithm

Forms of an LP Problem 1.English form 2.Algebraic form 3.Standard form up to step #1  also algebraic 4.Geometric / graphical form  Only if 2-D, maybe 3-D 5.Matrix-vector form  Read off directly from standard form up to step #1 6.Padded matrix-vector form  Adapted directly from matrix-vector form  Reflects the participation of slack variables 7.Standard form up to step #2 (aka “slack form”)  Also algebraic

Standard Form (step #2)

Step #2 to Standard Form

Sketch of Simplex Algorithm Start with Basic solution (the origin of the feasible region) 1.Pick a non-basic variable 2.Raise its value as high as we can 3.Pick a basic variable 4.Algebraically pivot 5.Repeat at #1 until we cannot raise the value of any non-basic variables

Basic Solution

Identify a Non-Basic Variable

Select a Basic Variable

Solve for the Non-Basic Variable: “Pivot”

Pivot: Rewrite the Other Equations

After the Pivot: Objective Values

Repeat

Repeat Again (Third time)

What next?

Observations  At the beginning of every round of Simplex,  The value of each non-basic variable in the current solution is 0.  The space for the transformed problem is spanned by unit vectors in the directions of the non-basic variables  The current solution is at the origin of that space  The new feasible region is defined in that space  Pivot is designed to keep our attention focused on the origin of each successive space

Assignments  Project #6  Now re-read the Simplex and Pivot pseudo- code to see how these algebraic steps are performed in the code  HW #22