Simplex Algorithms: Understanding Basic Feasible Solutions and the Simplex Pivot Process, Study notes of Linear Algebra

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

Pre 2010

Uploaded on 09/02/2009

koofers-user-htc-1
koofers-user-htc-1 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
IE 2082: Simplex Algorithms
Brady Hunsaker
August 30, 2006
() IE 2082: Simplex Algorithms August 30, 2006 1 / 14
Simplex algorithm
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?
() IE 2082: Simplex Algorithms August 30, 2006 2 / 14
pf3
pf4
pf5

Partial preview of the text

Download Simplex Algorithms: Understanding Basic Feasible Solutions and the Simplex Pivot Process and more Study notes Linear Algebra in PDF only on Docsity!

IE 2082: Simplex Algorithms

Brady Hunsaker

August 30, 2006

() IE 2082: Simplex Algorithms August 30, 2006 1 / 14

Simplex algorithm

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?

Convert to standard form

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

Standard form with slack variables added

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

Bases and dictionaries

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

Basic solutions

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.

General form of a dictionary

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

Optimality conditions

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 ζ¯.

Simplex pivot (continued)

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

Pivot practice