Notes

advertisement
INDR 262 Introduction to Optimization Methods
SENSITIVITY ANALYSIS
Sensitivity analysis is carried out after the optimum solution of an LP problem is
obtained. In most problems:
-data are not known exactly
-constraints may not be rigid
-a new constraint or activity may be added
The objective of sensitivity analysis is to find new optimal solution for an LP when some
of the problem data changes without solving the problem from scratch.
Change in the objective function coefficients, c
I) xk is a nonbasic variable

ck is replaced by ck′ in the LP model

zk-ck is replaced by zk-ck′ in the simplex tableau

current zk-ck in the simplex tableau is negative

if zk-ck′=(zk-ck)+(ck-ck′) is negative, xk must enter into the basis (for maximization).

if zk-ck′=(zk-ck)+(ck-ck′) is positive, the optimal solution does not change.
II) xk is a Basic variable (xk=xBt)

cBt is replaced by cBt′ in the LP model

Row Ø is affected by this change

Calculate new zj-cj as zj′-cj
zj′-cj = cB′B-1aj–cj = (cBB-1aj–cj) + (0,…, 0, cBt′ – cBt, 0, …0) yj
= (zj–cj) + (cBt′–cBt)ytj for all j.

Update row Ø by multiplying the row xBt by the net change in the cost coefficient of xBt
and add the current row Ǿ.
Changes in the Right-Hand-Side, b

Right-hand-side vector b is replaced by b′.

B-1b will be replaced by B -1b′

B-1b′ = B-1b + B-1(b′–b)

If B-1b′ ≥ 0, then z* = cBB-1b′

1
Metin Turkay
INDR 262 Introduction to Optimization Methods

If B-1b′ < 0, then the problem becomes infeasible, use the dual simplex method to find the
new optimal solution.
Changes in the Constraint Matrix, A
I. Nonbasic Variables

Technological coefficient vector aj is replaced by aj′

The new column under xj in the simplex tableau is B-1aj′

The new reduced cost for xj is zj′–cj = cBB-1aj′–cj

If zj′–cj ≤ 0, the optimal solution is the same

If zj′–cj > 0, then the nonbasic variable xj must enter the basic
II. Basic Variables

Technological coefficient vector aj is replaced by aj′

Basis matrix, B, and consequently its inverse, B-1

Update B:
 Add a new column xj′ whose entries will be aj′
zj′–cj = cBB-1aj′–cj and yj′ = B-1aj′
 eliminate the old column xj from the basis

continue with the simplex method
Adding a New Activity

A new activity xn+1 with a cost of cn+1 and technology coefficient of an+1 is introduced

If zn+1–cn+1≤ 0, let xn+1 enter the basis and continue with the simplex method (for
maximization)

If zn+1–cn+1> 0, the optimal solution does not change
Adding a New Constraint

A new row am+1 x ≤ bm+1 is added

The new row is rewritten as aBm+1xB + aNm+1xN + xn+1= bm+1

The new system of equation is:
z + (cBB-1N–cN) xN = cBB-1b
xB + B-1NxN = B-1b

2
Metin Turkay
INDR 262 Introduction to Optimization Methods
(aNm+1–aBm+1B-1N) xN + xn+1 = bm+1–aBm+1B-1b

If aNm+1–aBm+1B-1b ≥ 0, the optimal solution does not change

If aNm+1–aBm+1B-1b < 0, the current solution becomes infeasible, solve the dual simplex
method to find a feasible solution.
REVIEW OF SENSIVITY ANALYSIS:
n
max z =  c j x j
j 1
n
s.t.
a x
j 1
ij
j
 bi i=1,...,m
Sensivity Analysis is identification of sensitive parameters.
* determine the range of values of the parameters over which the optimal solution will
remain unchanged.
determine
the range of values over which the optimal BF solution will remain feasible.
*
Example:
Original Model
max z = 3x1 + 5x2
s.t.
x1
2x2
3x1 + 2x2
x1,
x2
Revised Model
max z = 4x1 + 5x2
s.t.
x1
 4
2x2  24
2x1 +2x2  18
x1, x2 ≥ 0
 4
 12
 18
≥ 0
The simplex tablaeu of the revised problem is given as follows:
Iter
0

B.V. Eqn.
z
0
x3
1
x4
2
x5
3
z
1
0
0
0
x1
-4
1
0
2
x2
-5
0
2
2
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
RHS
0
4
24
18
we have a solution to the original problem.
Iter
2
B.V. Eqn.
z
0
x3
1
x2
2
x1
3
z
1
0
0
0
x1
0
0
0
1
x2
0
0
1
0
x3
0
1
0
0
x4
3/2
1/3
1/2
-1/3
x5
1
-1/3
0
1/3
RHS
36
2
6
2
How to find the optimal solution to the revised problem.

3
Metin Turkay
INDR 262 Introduction to Optimization Methods

Revised Simplex Method:
Eqn.
z
Original variables
1
1
z*- c = y* a - c
1,...,m
0
A* = S* a
Slack Variables
y*
S*
RHS
z*=y* b
b*=S* b
where a , c , b are for the revised problem.
1 0 
A =  0 2 
 2 2 
c =  4 5
y* = 0 3/ 2 1
4
b =  24 
18 
1 1 / 3  1 / 3
S*= 0 1 / 2
0 
0  1 / 3 1 / 3 
1 0 
z*- c = y* A - c = 0 3/ 2 1  0 2  -  4 5 =  2 0
 2 2 
4
z* = y* b = 0 3/ 2 1  24  = 54
18 
1 1 / 3  1 / 3  1 0  1/ 3 0 
0   0 2  =  0 1 
A*= S* A = 0 1 / 2
0  1 / 3 1 / 3   2 2   2 / 3 0 
1 1 / 3  1 / 3  4 
0   24  =
b*= S* b = 0 1 / 2
0  1 / 3 1 / 3  18 
6
12 
 
 2 

4
Metin Turkay
INDR 262 Introduction to Optimization Methods
Revised Final Tableu:
B.V.
Eqn.
z
x1
x2
x3
x4
x5
RHS
z
0
1
-2
0
0
3/2
1
54
x3
1
0
1/3
0
1
1/3
-1/3
6
x2
2
0
0
1
0
1/2
0
12
x1
3
0
2/3
0
0
-1/3
1/3
-2
-
-
-
1/2
-
Ratio
B.V.
Eqn.
z
x1
x2
x3
x4
x5
RHS
z
0
1
-2
0
0
0
5/2
45
x3
1
0
-1/3
0
1
0
0
4
x2
2
0
-1
1
0
0
1/2
9
x4
3
0
-2
0
0
1
-1
6

5
Metin Turkay
INDR 262 Introduction to Optimization Methods
APPLYING SENSIVITY ANALYSIS
Case 1 - changes in bi
Case 2 - a) changes in the coefficents of a nonbasic variable
b) introduction of a new variable
Case 3 - changes in the coefficients of a basic variable
Case 4 - introduction of a new constraints
Case 1- Changes in bi
The only revision in the model is the changes in RHS.
RHS of final row 0: z*= y* b
RHS at final rows 1,...,m = S* b
Example:
4
b= 12  , b =
18 
4
 24 
 
18 
4
z*= y* b = 0 3/ 2 1  24  = 54
18 
1 1 / 3  1 / 3  4 
B* = S* b = 0 1 / 2
0   24  =
0  1 / 3 1 / 3  18 
6
12 
 
 2 
Equivalently incremental analysis:
 b1 
0


∆z*=y*∆b = y*  b2  = y* 12 
 b3 
 0 
 b1 
0


∆b*=S*∆b = S*  b2  = S* 12 
 b3 
 0 
∆z* = 3/2 (12) = 18
∆b1*= 1/3 (12) = 12
z* = z + ∆z* = 36 +18 = 54
b1*= 2 + 4 = 6

6
Metin Turkay
INDR 262 Introduction to Optimization Methods
∆b2*= 1/2 (12) = 6
∆b3*= -1/3 (12) = -4
b2*= 6 + 6 = 12
b3*= 2 – 4 = -2
Revised Final Tableu
B.V.
z
x3
Eqn.
0
1
z
1
0
x1
0
0
x2
0
0
x3
0
1
x4
3/2
1/3
x5
1
-1/3
RHS
54
6
x2
2
0
0
1
0
1/2
0
12
x1
3
0
1
0
0
-1/3
1/3
-2
-
-
-
9/2
Ratio
B.V.
z
x3
Eqn.
0
1
Z
1
0
x1
9/2
1
x2
0
0
x3
0
1
x4
0
0
x5
5/2
0
RHS
45
4
x2
2
0
3/2
1
0
0
1/2
9
x4
3
0
-3
0
0
1
-1
6
entering
b.v.
The allowable range to stay feasible:
∆b2 = 12 is too large for original BF solution to stay feasible.
Second column at S*
↑
b1* = 2 + 1/3∆b2
b2* = 6 + 1/2 ∆b2
b3* = 2 – 1/3 ∆b2
these quantities must be non-negative for the revised solution to be feasible
2 + 1/3∆b2 ≥ 0
6 + 1/2∆b2 ≥ 0
2 – 1/3∆b2 ≥ 0
∆b2 ≥ -6
∆b2 ≥ -12
∆b2 ≤ 6
min ∆b2 is -6
max ∆b2 is 6
so -6 ∆b26
6b2 18 → allowable range of values for b2 to stay feasible.

7
Metin Turkay
INDR 262 Introduction to Optimization Methods
Case 2a- change in the coefficient of Nonbasic Variables:

one or more of the following changes are made
cj → c j
aj → a j
new coefficients of xj in final row 0: z *j  c j = y* a j - c j
new coefficients of xj in final rows 1...m: A* = S* a j
Example:
c1=3 →
c1 = 4
1 
a1= 0  → a1 =
3 
1 
0 
 
 2 
y*= 0 0 5 / 2
1 0 0 
S*= 0 0 1 / 2 
0 1 1 
1 
z1* - c1 = y* a1 – c1 = 0 0 5 / 2 0  - 4 = 1
 2 
1
1 0 0  1 




a1* = S* a1 = 0 0 1 / 2  0  =  1 
0 1 1   2 
   2 

allowable range to say optimal: the range of values over which the current optimal
solution remains optimal.
Criteria: z1-c1 ≥ 0
Since zj* = y* aj → cjy*aj
1 
c1y*a1 = 0 0 5 / 2 0  = 15/2
3 

c1>15/2, x1 will be a basic variable of the optimal solution.

8
Metin Turkay
INDR 262 Introduction to Optimization Methods
Case 2b: Introduction of a New Variable:


Introduce a new variable for the model
Check whether the current optimal solution stays optimal
Example:
max z= 3x1 + 5x2 + 4x6
s.t.
x1
+ 2x6 4
+ 2x2 + 3x6 12
3x1 + 2x2 + x6 18
x1, x2,
x6 ≥0
Current Optimal Solution:
2
6 
 
x=  2 
 
0 
0 
[y1 y2 y3 z1-c1 z2-c2] = [0 3/2 1 0 0]
write the dual constraint for the new variable x6
2y1 + 3y2 + y3 ≥ 4

if the dual is feasible
2(0) + 3(3/2) + 1(1) ≥ 4
Yes, the dual constaint is feasible. So the primal remains optimal.
Case3: Changes in the coefficients of a basic variable
xj is a basic variable.
cj → c j
aj → a j
Example:
c2 = 5 → c 2 = 3

9
Metin Turkay
INDR 262 Introduction to Optimization Methods
0 
a2=  2  → a 2 =
 2 
0 
3 
 
 4 
z2– c 2 = y* a 2 – c 2 = 0
1 0
a2* = S* a 2 = 0 0
0 1
0 
0 5 / 2 3  - 3= 7 → non-zero
 4 
0  0   0 
1/ 2  3  =  2  → not a basic variable
1   4   1
make it a basic variable
B.V.
z
x3
Eqn.
0
1
z
1
0
x1
9/2
1
x2
7
0
x3
0
1
x4
0
0
x5
5/2
0
RHS
45
4
x2
2
0
3/2
2
0
0
1/2
9
x4
z
x3
3
0
1
0
1
0
-3
-3/4
1
-1
0
0
0
0
1
1
0
0
-1
3/4
0
6
27/2
4
x2
2
0
3/4
1
0
0
1/4
9/2
x4
z
x1
3
0
1
0
1
0
-9/4
0
1
0
0
0
0
3/4
1
1
0
0
-3/4
3/4
0
21/2
33/2
4
x2
2
0
0
1
-3/4
0
1/4
3/2
x4
3
0
0
0
9/4
1
-3/4
39/2
Allowable Range To Stay Optimal:
zj*–cj must be positive for variable xj to stay optimal.
zj*– c j = 0
c j = cj + ∆cj
zj*-cj - ∆cj = 0
Example:
Consider the optimal simplex tableu
Row 0 = [1: 0 0 ¾ 0 ¾ : 33/2]
* change c2= 3 to c 2 = c2 + ∆c2
New Row 0= [1: 0 -∆c2 ¾ 0 ¾ : 33/2]
*for x2 to stay a basic z2*- c 2 must be equal to 0.

10
Metin Turkay
INDR 262 Introduction to Optimization Methods
Gaussian elimination:
Row 0:
[1: 0 ∆c2
¾
0 ¾
: 33/2] +
∆c2xRow 2: [0: 0 -∆c2 -¾∆c2 0 1/4∆c2
: 3/2∆c2]
New Row0: [1: 0 0 ¾-¾∆c2 0 ¾+1/4∆c2 : 33/2+3/2∆c2]
3/4-3/4∆c2≥0, 3/4≥3/4∆c2, ∆c21
3/4+1/4∆c2≥0, 1/4∆c2≥3/4, ∆c2≥-3
-3∆c21
So 0c24 is the allowable range for c2 to stay optimal.
Case 4. Introduction of a New Constraint:
 when a new constraint is added
 check if the optimal solution satisfies the constraint
 if the constraint is satisfied, the optimal solution is still the optimal
 if the constraint makes the optimal solution infeasible:
- introduce the constraint into the final simplex tableu of the original model ( the slack
variable for the new constraint becomes the basic variable for this constraint)
- convert this constraint to proper form by making the coefficients of the basic variables 0.
- Proceed with regualr simplex ( or dual simplex if necessary) until you confirm
optimality.
Example: A new constraint is added.
2x1 + 3x2  24
The optimal solution is given in the following simplex tableu. Find if the introduction of this new
constraint changes the optimal solution or not.
B.V.
z
x3
Eqn.
0
1
z
1
0
x1
9/2
1
x2
0
0
x3
0
1
x4
0
0
x5
5/2
0
RHS
45
4
x2
2
0
3/2
1
0
0
1/2
9
x4
3
0
-3
0
0
1
-1
6
- check for feasibility:
2x1 + 3x2 24
2(0) + 3(9) =27 infeasible
- the optimal solution is infeasible

11
Metin Turkay
INDR 262 Introduction to Optimization Methods
B.V.
z
x3
Eqn.
0
1
z
1
0
x1
9/2
1
x2
0
0
x3
0
1
x4
0
0
x5
5/2
0
x6
0
0
RHS
45
4
x2
2
0
3/2
1
0
0
1/2
0
9
x4
3
0
-3
0
0
1
-1
0
6
x6
z
x3
4
0
1
0
1
0
2
9/2
1
3
0
0
0
0
1
0
0
0
0
5/2
0
1
0
0
24
45
4
x2
2
0
3/2
1
0
0
1/2
0
9
x4
3
0
-3
0
0
1
-1
0
6
0
0
0
0
0
0
1
0
0
0
-3/2
5/3
0
0
1
5/3
0
-3
1
0
-5/2
9/5
0
1
40
4
x6
z
x3
4
RATIO
0
1
x2
2
0
2/3
1
0
0
0
1/3
8
x4
x5
3
4
0
0
-4/3
5/3
0
0
0
0
1
0
0
1
-2/3
-2/3
8
2

12
Metin Turkay
Download