0% found this document useful (0 votes)
16 views16 pages

Lecture Note 5

Uploaded by

bravosefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views16 pages

Lecture Note 5

Uploaded by

bravosefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

IE 251 – Linear Programming

Fall 2024-2025

Lecture Note 5:

The Simplex Method in Matrix Form

Matrix Form of the Current Set of Equations

An LP’s optimal tableau can be expressed in terms of the LP’s


parameters.

Assume that we are solving


a max problem that has max z = c1x1 + c2x2 + … + cnxn
been prepared for solution
by the Big M method with s.t. a11x1 + a12x2 + … + a1nxn = b1
the LP having m constraints a21x1 + a22x2 + … + a2nxn = b2
and n variables. Although …. …. … …
some of the variables may … amx1 + am2x2 + … + amnxn = bm
be slack, excess, or artificial,
we choose to label them x1, xi ≥ 0 (i = 1, 2, …, n)
x2, …,xn. The LP may then
be written as shown.

1
As an example, z – 60x1 – 30x2 – 20x3 + 0s1 + 0s2 + 0s3 =0
consider to the
right the Dakota 8x1 + 6x2 + x3 + s1 = 48
Furniture problem
(without the x2 ≤ 5 4x1 + 2x2 + 1.5x3 + s2 = 20
constraint). 2x1 + 1.5x2 + 0.5x3 + s3 =8

Suppose we have z + 5x2 + 10s2 + 10s3 = 280


found the optimal
- 2x2 + s1 + 2s2 - 8s3 = 24
solution to the LP
with the optimal - 2x2 + x3 + 2s2 - 4s3 =8
tableau.
x1 + 1.25x2 - 0.5 s2 + 1.5s3 =2

Define:

BV = {BV1, BV2, …, BVn} to be the set of basic


variables in the optimal tableau. Dakota Problem
NBV = {NBV1, NBV2, …, NBVn} the set of
nonbasic variables in the optimal tableau.

xBV = vector listing the basic variables in s1 x2


   
the optimal tableau. xBV  x 3  xNBV s2
xNBV = vector listing the nonbasic variables x  s 
 1  3
in the optimal tableau.
cBV = row vector of the initial objective Since BV = {s1,x3,x1},
coefficients for the optimal tableau’s basic cBV = {0 20 60}
variables.
cNBV = row vector of the initial objective Since NBV = {x2,s2,s3},
coefficients for the optimal tableau’s cNBV = {30 0 0}
nonbasic variables.

2
Some Important Formulas
Dakota Problem
Define: 1 1 8
B  0 1.5 4 
B is an m x m matrix whose  
j th column is the column for  0 0.5 2 
BVj in the initial tableau.
 6 
a2  2 
Aj is the column (in the constraints)
for the variable xj.
 
 1.5 

N is the m x (n-m) matrix whose  6 0 0


columns are the columns for the N  2 1 0
nonbasic variables (in NBV order) in  
the initial tableau. NBV = {x2,s2,s3} for
 1.5 0 1 
Dakota problem.

Dakota Problem
Define:
 48 
The m x 1 column vector b is the
b  20 
right-hand side of the constraints  
in the initial tableau.  8 
We can now use matrix algebra to determine how an LP’s
optimal tableau (with the set of basic variables BV) is related to
the original LP.

z = cBVxBV + cNBVxNBV
s.t. BxBV + NxNBV = b
xBV, xNBV ≥ 0

3
The Dakota problem is written:

 s1   x2 
   
max z = ( 0 20 60 )   x3   ( 30 0 0 )   s2 
   
 x1   s3 
 1 1 8   s1   6 0 0   x2   48 
       
s.t.  0 1.5 4    x3    2 1 0    s2   20 
       
 0 0.5 2   x1   1.5 0 1   s3  8 
 s1   0   x2   0 
       
 x3    0   s2    0 
       
 x1   0   s3   0 

Multiplying the constraints through by B-1 yields:

B-1BxBV + B-1NxNBV = B-1b or xBV + B-1NxNBV = B-1b

 1 2 8 
Using the Gauss-Jordan method -1  
for the Dakota problem we know: B =  0 2 4 
 
 0 0.5 1.5 

Substituting into  s1   2.0 2 8   x2   24 


-1 -1       
xBV + B NxNBV = B b
 x3    2.0 2 4    s2   8 
yields:       
 x1   1.25 .5 1.5   s3   2.0 

4
Conclusions:

Column for xj in optimal tableau’s constraints = B-1aj


Example: Column x2 in the Dakota optimal tableau = B-1a2

 1 2 8   6   2 
    
x2  0 2 4    2   2 
    
 0 0.5 1.5   1.5   1.25 
Right-hand side of optimal tableau’s constraints = B-1b
Example:
 1 2 8   48   24 
    
rhsoptimal  0 2 4    20  8 
    
 0 0.5 1.5   8  2 

Determining the Optimal Tableau’s Row 0 in Terms of BV and the Initial LP

We multiply the constraints


BxBV + NxNBV = b through by cBVxBV + cBVB-1NxNBV = cBVB-1b
the vector cBVB-1.

We know the original z - cBVxBV - cNBVxNBV = 0


objective function:

Adding the two equations


together and eliminating
z + (cBVB-1N – cNBV) xNBV = cBVB-1b
the optimal tableau’s basic
variables we obtain:

5
The coefficient of xj in row 0 is:
cBVB-1(column of N for xj) – (coefficient of xj in cNBV) = cBVB-1aj - cj
= zj - cj
And the rhs of row 0 is cBVB-1b

Letting c j be the coefficient of xj in the optimal tableau’s row 0


showing cj = cBVB-1aj - cj

and the rhs of the optimal tableau’s row 0 = cBVB-1b

Formulas for computing the optimal tableau from the initial LP


xj column in optimal tableau’s constraints = B-1aj
Right-hand side of optimal tableau’s constraints = B-1b

c j = cBVB-1aj - cj

Right-hand side of optimal row 0 = cBVB-1b

6
Sensitivity Analysis

Sensitivity Analysis
How do changes in an LP’s parameters (objective function coefficients,
right-hand sides, and technological coefficients) change the optimal
solution? Let BV be the set of basic variables in the optimal tableau.
Given a change in an LP, determine if the BV remains optimal.
We know the simplex tableau (for a max problem) for a set of basic
variables is optimal if and only if each constraint has a nonnegative rhs
and each variable has a nonnegative coefficient.
Whether a tableau is feasible and optimal z + x 2 + x4 + x6 = 6
depends only upon the rhs of the constraints
and the objective function coefficients of =1
each variable in row 0 For example,, if an =2
LP has variables x1, x2, …, x6 , the tableau
to the right would be optimal. =3

This tableau’s optimality is not affected by parts of the tableau that are omitted.

7
Sensitivity Analysis
Suppose we have solved an LP and have found the BV is an optimal
basis. Use the following procedure to determine if any change in the
LP will cause the BV to no longer be optimal.

Step 1 Determine how changes in the LP’s parameters change the


right hand side and row 0 of the optimal tableau (the tableau having
BV as the set of basic variables).

Step 2 If each variable in row 0 has a nonnegative coefficient


and each constraint has a nonnegative rhs, BV is still optimal.
Otherwise, BV is no longer optimal.

If BV is no longer optimal, find the new optimal solution to recreate


the entire tableau for BV and then continuing the simplex algorithm
with the BV tableau as your starting tableau.

Sensitivity Analysis
There can two reasons why a change in an LP’s
parameters cause BV to no longer be optimal:
1. A variable (or variables) in row 0 may have a negative
coefficient. In this case, a better (larger z-value) bfs
can be obtained by pivoting in a nonbasic variable with
a negative coefficient in row 0. If this occurs, the BV is
now a suboptimal basis.
2. A constraint (or constraints) may now have a negative
rhs. In this case, at least one member of BV will now
be negative and BV will no longer yield a bfs. If this
occurs, we say they BV is now an infeasible basis.

8
Sensitivity Analysis
Six types of changes in an LP’s parameters change the
optimal solution:
1. Changing the objective function coefficient of a
nonbasic variable.
2. Changing the objective function coefficient of a basic
variable.
3. Changing the right-hand side of a constraint.
4. Changing the column of a basic/nonbasic variable.
5. Adding a new variable or activity.
6. Adding a new constraint.

1. Changing the objective function coefficient


of a nonbasic variable

c' j  c j   for nonbasic xj

For which values of  the current basis remains


optimal/feasible?

9
What if c'2  30   ?

v BV

c2 

10
What if c'2  40 ?

c2 

2. Changing the objective function coefficient


of a basic variable

c' j  c j   for basic xj

For which values of  the current basis remains optimal?

11
What if c'1  60   ?

cNBV  yT N  cNBV 

What if c'1  100 ?

24
8*

12
3. Changing the right-hand side of a constraint

b'i  bi   for constraint i

For which values of  the current basis remains


feasible?

What if b'2  20   ?

24 +2 

13
What if b'2  22 ?

What if b'2  30 ?

cBV B 1b  380

14
4. Changing the column of a nonbasic variable

c' j  c j   cj for nonbasic xj

a' j  a j   aj for nonbasic xj


For which values of  cj and  aj the current basis
remains optimal?

T
What if c'2  43 and a'2  (5 2 2) ?


c2 

c2 

15
Changing the column of a basic variable

c' j  c j   cj for basic x j

a' j  a j   aj for basic x j

1
The change may affect both B (and hence B ) and c BV and
thus the entire row 0 and the entire right-hand side of the optimal
tableau.

The current basis would remain optimal iff each variable has a
nonnegative coefficient in row 0 and each constraint has a
nonnegative right-hand side.

5. Adding a new variable or activity


X n1 is introduced

What if a4  (1 1 1)T and c4  15 ?

c4 

c4  0,

16

You might also like