This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 3 Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances under which it may fail. If the simplex does not always work, and we know why, then we might be able to devise a way to fix it. Part of understanding whether or not the simplex algorithm works is to more precisely understand what we mean by working . For example, we have already seen that some LPs can be infeasible and others unbounded. What does the algorithm do in these cases? Does it terminate somehow? Does it pivot forever? What does it mean to say that the simplex algorithm “successfully” terminated on such problems, and more importantly, will the procedure always “terminate successfully” on problems for which a solution exists? We begin our study with a detailed analysis of the various components of the algorithm. Our investigation is broken into 3 parts: 1. Initialization: The simplex algorithm pivots between feasible dictionaries (equivalently, feasible tableaus). The pivoting process moves us from one BFS to another BFS having a greater objective value. Hence, in order to pivot, we need a feasible dictionary. How do we obtain the first feasible dictionary? Clearly, the initial dictionary which defines the slack and objective variables is not feasible if the LP does not have feasible origin. The problem of obtaining a first feasible dictionary is necessarily nontrivial since not every LP is feasible, and detecting infeasiblity can be a difficult task. We will soon see that the problems of determining feasibility and of obtaining an initial feasible dictionary is just as hard as solving an LP with feasible origin. 2. Iteration: Can we always choose variables to enter and leave the basis in an unambigu- ous way? Can there be multiple choices or no choice? Are there ambiguities in the choice of these variables, and these ambiguities be satisfactorily resolved? 3. Termination: Does the simplex algorithm terminate after a finite number of pivots? Does it terminate at a solution when a solution exists? Does it terminate when the problems is unbounded? Can it stall, or can it go on pivoting forever without ever solving the problem? We delay the discussion of (1) until after we know that the method can be made to succeed on problems with feasible origin. We begin with (2) in order to obtain a beter understanding of just how the method works. Hopefully, by understanding (2) we’ll have a better understanding of how to address the questions in (3). 31 3.1 The Simplex Algorithm Iteration: Degeneracy and Cycling Assume that we are given a feasible tableau or, equivalently, a feasible dictionary: ( D B ) x i = hatwide b i- summationdisplay j ∈ N hatwide a ij x j i ∈ B z = hatwide z + summationdisplay j ∈ N hatwide c j x j , where hatwide b i ≥ , i ∈ B (the non-negativity of hatwide b i , i ∈ B is equivalent to the feasibility of the...
View Full Document
This note was uploaded on 12/07/2010 for the course MATH 15909 taught by Professor Jimburker during the Spring '10 term at University of Washington.
- Spring '10