



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to the simplex algorithms, focusing on the concept of basic feasible solutions and the simplex pivot process. The geometric and algebraic interpretations of the simplex algorithm, the issue of considering only basic feasible solutions, and the conversion of lps to standard form. It also explains the notations used in the course and the concept of bases and dictionaries. The document concludes with the optimality conditions and the process of finding a better solution through simplex pivot.
Typology: Study notes
1 / 7
This page cannot be seen from the preview
Don't miss anything!




Brady Hunsaker
August 30, 2006
() IE 2082: Simplex Algorithms August 30, 2006 1 / 14
Uses the general method of the previous lecture. Only considers certain solutions, called basic feasible solutions. Algebraically: Divide variables into a set of basic variables and a set of nonbasic variables. Set each nonbasic variable to one of its bounds (lower bound or upper bound) and solve for basic variables to satisfy constraints. Geometrically: The set of feasible solutions is a polyhedron, and basic feasible solutions are extreme points of the polyhedron. Issue: Is it sufficient to consider only basic feasible solutions?
Standard form for LPs is the following: Maximization problem Only ≤ constraints and nonnegativity constraints. All variables nonnegative. We use standard form to help us understand the algorithm, but most implementations do not actually do it this way.
() IE 2082: Simplex Algorithms August 30, 2006 3 / 14
max c 1 x 1 + c 2 x 2 + · · · + cnxn s.t. a 11 x 1 + a 12 x 2 + · · · + a 1 nxn + w 1 = b 1 a 21 x 1 + a 22 x 2 + · · · + a 2 nxn + w 2 = b 2 .. . am 1 x 1 + am 2 x 2 + · · · + amnxn + wm = bm x 1 , x 2 ,... , xn ≥ 0 w 1 , w 2 ,... , wm ≥ 0
For now we will not differentiate between slack variables (sometimes called auxiliary variables) and original variables (sometimes called structural variables).
max ζ = c 1 x 1 + c 2 x 2 + · · · + cnxn s.t. xn+1 = b 1 − a 11 x 1 − a 12 x 2 − · · · − a 1 nxn xn+2 = b 2 − a 21 x 1 − a 22 x 2 − · · · − a 2 nxn .. . xn+m = bm − am 1 x 1 − am 2 x 2 − · · · − amnxn x 1 , x 2 ,... , xn+m ≥ 0
() IE 2082: Simplex Algorithms August 30, 2006 7 / 14
We associate each dictionary with a basic solution. The m variables we solved for are the basic variables. The other variables are nonbasic variables. Set each nonbasic variable to one of its bounds. In this case, variables have lower bounds of 0 and no upper bounds, so all nonbasic variables are set to zero. (Later in the course we will consider the more general case.) Then it is easy to determine the values of the basic variables. Is the resulting basic solution feasible? In determining the values of basic variables, we ignored any lower and upper bounds on the variables. The basic solution is a basic feasible solution if all basic variables satisfy their bounds.
Let B be the set of basic variable indices and N be the set of nonbasic variable indices.
ζ = ζ¯ +
j∈N
¯cj xj
xi = ¯bi −
j∈N
¯aij xj i ∈ B
The bars are placed over coefficients because their values are not the same as the initial values.
() IE 2082: Simplex Algorithms August 30, 2006 9 / 14
Remember the second step of the general method: Is this solution good enough? How can we tell whether a basic feasible solution is optimal? Look at the row in the dictionary with the objective value: ζ = ζ¯ +
j∈N ¯cj^ xj^. The objective value of the current bfs is ζ¯.
Punchline: choose leaving variable xl such that ¯a ¯blkl is maximal.
Equivalently: choose xl such that ¯alk > 0 and ¯bl ¯alk is minimal. This is called the ratio test. Note that the choice of entering variable and leaving variable may not be unique! So “the” simplex algorithm is really a family of algorithms, each with its own pivot rules to select an entering and leaving variable. After choosing the entering and leaving variable, solve the leaving variable’s equation for the entering variable. Then plug this value for the entering variable into all the other equations to get the new dictionary.
() IE 2082: Simplex Algorithms August 30, 2006 13 / 14