DOC PREVIEW
Clemson MTHSC 440 - Lecture 6

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

MthSc-440/640: Linear ProgrammingLecture 6Pietro BelottiDept. of Mathematical SciencesClemson UniversitySeptember 9, 2010To recap: simplexConsider a problem in standard form, and add slack variables:max c⊤x max c⊤xs.t. Ax ≤ b −→ s.t. Ax + Is = bx ≥ 0; x, s ≥ 0.The initial dictionarys = b − Axz = 0 + c⊤xcorresponds to (x, s) = (0, b), feasible if b ≥ 0 and opti mal ifc ≤ 0. Example:x4= 4 + 5x1+ x2+ 6x3x5= 1 − 2x1− 3x2+ 2x3z = − 2x1− 7x2− 7x3If b ≥ 0 but c 6≤ 0, we have to find a new dictionary by selectingan entering and an exiting variable.Three kinds of pitfalls1. Initialization: if b 6≥ 0, apply Phase I.x3= 2 − x1− x2x4= −1 + x1− x2z = 2x1+ 3x22. Iteration: Performing an iteration of the simplex method isnot always as straightforward.◮There can be zero or more entering variables (coeff > 0)◮Exiting variable may not exist (⇒ problem unbounded):x1= 4 − 6x2+ x3x4= 8 − 4x2+ 2x3z = − 2x2+ 3x3◮What if one or more basic variables are null?3. Termination: Does the simplex method terminate in afinite number of iterations?Degeneracy: iterations with basic vari ables at 0Consider the dictionary (corresponding to x = (0, 0, 0, 1, 3, 2))x4= 1 − 2x3x5= 3 − 2x1+ 4x2− 6x3x6= 2 + x1− 3x2− 4x3z = 2x1− x2+ 8x3and let x3be the entering variable. For x3=12, all basicvariables decrease to zero! Let x4be the exiting variable1:x3=12−12x4x5= − 2x1+ 4x2+ 3x4x6= x1− 3x2+ 2x4z = 4 + 2x1− x2− 4x4◮The new solution x = (0, 0,12, 0, 0, 0) is feasible;◮The objective function increased from 0 to 4;◮The solution is not optimal (the coefficient of x1is +2 > 0).1We could have chosen x5or x6as exiting variables too.Degeneracy (cont.)x3=12−12x4x5= − 2x1+ 4x2+ 3x4x6= x1− 3x2+ 2x4z = 4 + 2x1− x2− 4x4x1is the entering variable, but can’t change lest x5becomenegative (because x5is basic but null).⇒ Pivoting on x1and x5does not produce any change in thevariables, though it gives us a new dictionary:x1= 2x2+ 1.5x4− 0.5x5x3= 0.5 − 0.5x4x6= − x2+ 3.5x4− 0.5x5z = 4 + 3x2− x4− x5where the objective function does not change.TerminationDoes the simplex method terminate in a finite number ofiterations?Note: I am not asking “Is there a finite number of dictionaries?”◮So, is it possible that we keep going through the samesequence of dictionaries indefinitely?◮Yes, and that’s called cycling.◮It is determined by a particular choice of entering andexiting variables.◮In the example in the textbook, it is stipulated that◮if there are two or more candidates for entering, pick theone with the largest coefficient.◮if there are two or more candidates for leaving, pick the onewith smallest subscript.Cycling◮Each dictionary in this sequence clearly has to correspondto the same value of the objective function◮Why? Because the objective function never decreases. Iftwo dictionaries in the sequence have different objectivefunction values, they can’t alternate.◮Therefore, cycling may only happen with (a sequence of)degenerate dictionaries.Example:x5= − .5x1+ 5.5x2+ 2.5x3− 9x4x6= − .5x1+ 1.5x2+ 0.5x3− x4x7= 1 − x1z = 10x1− 57x2− 9x3− 24x4x1enters, x5leaves the basis.Cycling (cont.)x1enters, x5leaves the basis.x1= 11x2+ 5x3− 18x4− 2x5x6= − 4x2− 2x3+ 8x4+ x5x7= 1 − 11x2− 5x3+ 18x4+ 2x5z = 53x2+ 41x3− 204x4− 20x5x2enters, x6leaves the basis.x2= − .5x3+ 2x4+ .25x5− .25x6x1= − .5x3+ 4x4+ .75x5− 2.75x6x7= 1 + .5x3− 4x4− .75x5− 13.25x6z = 14.5x3− 98x4− 6.75x5− 13.25x6Note that the objective function is still zero.Cycling (cont.)x3enters , x1leaves.x3= 8x4+ 1.5x5− 5.5x6− 2x1x2= − 2x4− .5x5+ 2.5x6+ x1x7= 1 − x1z = 18x4+ 15.0x5− 93.0x6− 29x1x4enters, x2leaves.x4= − .25x5+ 1.25x6+ .5x1− .5x2x3= − .50x5+ 4.50x6+ 2.0x1− 4.0x2x7= 1 − x1z = 10.50x5− 70.50x6− 20.0x1− 9.0x2Cycling (cont.)x5enters, x3leaves.x5= 9x6+ 4.0x1− 8.0x2− 2.0x3x4= − x6− .5x1+ 1.5x2+ .5x3x7= 1 − x1z = 24x6+ 22.0x1− 93x2− 21.0x3x6enters, x4leaves.x6= − .5x1+ 1.5x2+ 0.5x3− x4x5= − .5x1+ 5.5x2+ 2.5x3− 9x4x7= 1 − x1z = 10x1− 57x2− 9x3− 24x4This is exactly the same dictionary as the one we started with.Using the same rule to select entering/exiting variables, wecycle through these dictionaries indefinitely.Termination conditionsTheoremIf the simplex method does not terminate, then it must cycle.Given that◮There are!m+nmdictionaries and◮We have an infinite number of iterations,At least one dictionary must be visited more than once.We need only prove that two dictionaries with the same basiscorrespond to the same solution (proof in the textbook).Ensuring termination◮Cycling is very rare. Nonetheless, we would like to ensurethat it never happens.◮Method #1: perturb the problem by adding small amountsto the rhs of each equation in the dictionary◮That ensures that there is only one candidate for leaving◮Method #2: choose a rule to select entering/exitingvariables.e.g. Bland’s rule: smallest subscripts.◮Among all candidates for entering, select the one withsmallest subscript;◮Among all candidates for leaving, select the one withsmallest subsctipt.Theorem (R.G. Bland 1977).The simplex method terminates if we choose the entering andthe leaving variables with the smallest subscript rule.Reading for next time: up to page 43 of the


View Full Document

Clemson MTHSC 440 - Lecture 6

Documents in this Course
Load more
Download Lecture 6
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 6 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 6 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?