Title: Simplex Method
1Simplex Method
- CONTENTS
- Key to the Simplex Method.
- Algebra of the Simplex Method
- Termination Optimality and Unboundedness
- Reference Chapter 3 in BJS book.
2Simplex Method
- If a LP has a bounded feasible region, then there
always exists an optimal extreme point solution. - This result allows us to exclude interior points
of the solution space when searching for an
optimal solution. - Since an extreme point solution corresponds to a
BFS, there always exists a BFS solution of a LP. - Simplex algorithm starts with a BFS and goes
through a sequence of BFS until it obtains an
optimal BFS.
3Simplex Method (contd.)
- Step 1 Find an initial BFS of the LP.
- Step 2 Determine if the current BFS is an
optimal to the LP. If it is not, find an adjacent
BFS to the LP that has a larger objective
function value. - Step 3. Return to Step 2 using the new BFS as the
current BFS. - This method performs at most nCm iterations.
4Simplex Method (contd.)
z
5Key to the Simplex Method
- Minimize cx
- subject to
- Ax b
- x ? 0
-
- Suppose that we have a basic feasible solution
with B as the basis. Then Ax b can be written
as -
- BxB NxN b
-
- Premultiplying by B-1 yields
-
- xB B-1NxN B-1b
6Key to the Simplex Method (contd.)
- xB B-1NxN B-1b
-
- xB B-1b - B-1NxN
-
- xB B-1b - B-1?j?R(aj)xj
-
- xB - ?j?R( )xj
-
- where aj is the column in the constraint matrix
for variable xj and R is the set of indices of
the nonbasic variables.
7Key to the Simplex Method (contd.)
- Minimize 2x1 x2
- subject to
- - x1 x2 x3 2
- 2x1 x2 x4 6
- x1, x2, x3, x4 ? 0
-
- Equivalent form
-
- Minimize 2x1 x2
- subject to
-
- x1 4/3 (-1/3) x3 (1/3) x4
- x2 10/3 (2/3) x3 (1/3) x4
- x1, x2, x3, x4 ? 0
8Key to the Simplex Method (contd.)
- z cx
-
- cBxB cNxN
-
- cB(B-1b ?j?R B-1(aj)xj) ?j?R cjxj
-
- cBB-1b - ?j?R cBB-1(aj)xj ?j?R cjxj
-
- z z0 - ?j?R(zj cj) xj
-
- where z0 cBB-1b and zj cBB-1aj for each j ?
R. - cj zj is called the reduced cost of xj with
respect to B as the basis.
9Key to the Simplex Method (contd.)
Minimize 2x1 x2 0.x3
0.x4 subject to x1 4/3
(-1/3)x3 - (1/3)x4 x2 10/3 -
(2/3)x3 - (1/3)x4 x1, x2, x3, x4 ?
0 Equivalent form Minimize -2/3
4/3x3 1/3 x4 x1 4/3
(-1/3)x3 - (1/3)x4 x2 10/3 -
(2/3)x3 - (1/3)x4 x1, x2, x3, x4 ?
0 This is called the canonical form of the basic
solution.
10Key to the Simplex Method (contd.)
- Minimize z z0 - ?j?R (zj cj)xj
-
- subject to
- xB ?j?R ( j) xj
-
- xj ? 0, for all j 1, 2, , n.
- Theorem If (zjcj) ? 0 for all j ? R, then the
current basic feasible solution is an optimal
solution of the linear programming problem.
11Algebra of the Simplex Method
- Minimize z z0 - ?j?R (zj cj)xj
-
- subject to
- xB ?j?R ( j) xj
-
- xj ? 0, for all j 1, 2, , n.
- If some (zk ck) gt 0, then we can potentially
improve the current solution by increasing the
value of the variable xk. - Suppose we decide to increase xk and keeping all
other nonbasic variables at zero value, then how
the values of basic variables change as xk
increases?
12Algebra of the Simplex Method (contd.)
- z z0 - (zk ck) xk
- What is the largest value we can assign to xk?
13Algebra of the Simplex Method (contd.)
Let then All other xjs are zero.
Change in the objective function value
(zk-ck) Is the new solution a
basic feasible solution?
14Algebra of the Simplex Method (contd.)
- The process of moving from one basic feasible
solution to another basic feasible solution is
called a pivot iteration. (or a pivot step) - If the basic feasible solution is non-degenerate,
then the new basic feasible solution has a lower
cost. - In the absence of degeneracy, the simplex method
terminate in a finite number of iterations. Why?
15An Example
Minimize x1 x2 4x3 subject to x1 x2
2x3 ? 9 x1 x2 - x3 ? 2 -x1
x2 x3 ? 4 x1 , x2 , x3 ?
0 Canonical form Minimize x1 x2 - 4x3 0.x4
0.x5 0.x6 subject to x1 x2 2x3 x4
9 x1 x2 - x3
x5 2 -x1 x2 x3
x6 4 x1, x2, x3, x4, x5, x6 ? 0
16An Example (contd.)
Iteration 1 Iteration 2
17An Example (contd.)
Iteration 2 Iteration 3 Optimal
solution x1 1/3 x2 0 x3 13/3 z -17
18Interpretation of entries in the Simplex Tableau
19Interpretation of zk -ck
(zk ck) is the change in the objective function
value when the value of xk increase by one unit
and all other nonbasic variables remain at zero
value, and values of basic variables are adjusted
appropriately.
20Identifying B-1 in the Simplex Tableau
- Suppose we maintain simplex tableau. The simplex
tableau also contains B-1. How to locate it in
the tableau? - Suppose that xi1, xi2, , xim are the basic
variables in the starting tableau in the first
row, second row, and so on upto the mth row. Then
the B-1 in any iteration is the submatrix under
the variables xi1, xi2, , xim at that
iteration.
21Solving Maximization Problems
Modification If all nonbasic variables in row 0
have nonnegative coefficients, the current BFS is
optimal. If any nonbasic variable in row 0 has a
negative coefficient, choose the variable with
the "most negative" coefficient in row 0 to enter
the basis.
22Alternate Optimal Solutions
If some nonbasic variable has zero coefficient
row 0 of the optimal tableau, then the problem
may have alternate optimal solutions.
Suppose that we enter x2 into the basis, then we
get another solution with the same cost. It is an
alternate optimal solution.
23Unbounded LPs
An unbounded LP for a minimization problem occurs
when a variable with a positive coefficient in
row 0 has a non-positive coefficient in each
constraint.
Suppose that we enter x3 into the basis. Then we
can increase its value indefinitely, and decrease
the optimal objective function value to negative
infinity. In this case, we say that LP is
unbounded.
24Pivoting Rules
- If there are several nonbasic variables qualified
to enter the basis, then which one should enter
the basis? The pivot rule describes the rule
which one should enter. - We can select any such nonbasic variable to enter
the basis and guarantee convergence of the
algorithm. - Popular pivoting rules
- Dantzig pivot rule Select the greatest magnitude
of cost coefficient in the objective function row
among the eligible variables. - First eligible variable rule Select the first
nonbasic variable which is found to be eligible
to enter the basis. - Hybrid rule Select the greatest magnitude of the
cost coefficient in the objective function row
among the K variables examined.
25Simplex Multipliers
- The simplex method at each iteration maintains
one multiplier for each constraint which we call
as simplex multiplier. Simplex multipliers play
an important role in simplex algorithm. - Let row A0 denote the objective function row in
the first canonical form and Ai denote the ith
constraint in it. - We start with a canonical form of a LP and
perform a sequence of elementary row operations
to the constraints and the objective function
row. Let denote the modified row at any
iteration.
26Simplex Multipliers (contd.)
- The objective function row at any iteration
can be expressed as - A0 ?1A1 ?2A2 - ?mAm
- The numbers ?1, ?2, ?3, , ?m are called
simplex multipliers. - What property is satisfied by the simplex
multipliers? - The multipliers are such that zj cj value of
each basic variable xj becomes zero.
27Simplex Multipliers (contd.)
- Suppose that x1, x2, x3, , xm are the basic
variables at some iteration. Then the simplex
multipliers at this iteration must satisfy the
following conditions - c1 a11p1 a21p2 a31p3 .. am1pm
- c2 a12p1 a22p2 a32p3 .. am2pm
- c3 a13p1 a23p2 a33p3 .. am3pm
- .
- cm a2mp1 a2mp2 a3mp3 .. amnpm
- There are m simplex multipliers and they must
satisfy m equations. Hence simplex multipliers
are uniquely determined.
28Simplex Multipliers (contd.)
- Alternatively, the simplex multipliers p at this
iteration must satisfy the following condition - cB pB
- or,
- p cBB-1
29Simplex Multipliers (contd.)
- Suppose that the initial BFS is
-
- The BFS solution at some iteration is
- What are the simplex multipliers for this
iteration?
30Simplex Multipliers (contd.)
- The simplex algorithm also maintains simplex
multipliers in the simplex tableau at every
iteration. Where are they stored? - If xk is the basic variable in the ith row in the
starting tableau, then zk - ck for xk at any
iteration gives the simplex multiplier for that
iteration for the ith row. - Why?