CS 312: Algorithm Analysis Lecture #31: Linear Programming: the Simplex Algorithm, part 2 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 #22 Due now Saturday: Review screencast on tractability (P, NP, NP-Complete, etc.) Project #6: Linear Programming Key for Part 1 was distributed on Thursday Whiteboard: Saturday Early day: Monday Due: Wednesday Verification suggestion: use another LP solver
Objectives Understand the Simplex method Discuss and own the pseudo-code
Comparison What is the relationship between the MaxFlow algorithm and the Simplex algorithm?
Summary: Example from Last Time Why did the algorithm terminate?
Interpreting the Answer Original Problem: Final Problem: …
Observations At the beginning of every round of Simplex, The space for the transformed problem is spanned by unit vectors in the directions of the non-basic variables The value of each non-basic variable in the current solution is 0. i.e., 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
Pseudocode The next part of the lecture derives the mathematical elements of the Simplex algorithm. For the tutorial document and a more readable version of the algorithm, go here: dings/linear-programming-notes.pdfhttp://faculty.cs.byu.edu/~ringger/CS312/rea dings/linear-programming-notes.pdf
Algebra: Check Ratios
Simplex Algorithm
Algebra: Pivot
Pivot Algorithm
Algebra: Obj. Function Update Similarly: for each of the constraints …
Algebra: Obj. Function Update Similarly: for each of the constraints …
Pivot Algorithm
Assignment You’re ready to finish Project #6 now! Assignment: HW #22.5 Due Wednesday Remember Saturday’s screencast