Notes on Sensitivity Analysis
Notes on Sensitivity Analysis
1
INDRODUCTION
The linear programming approach to optimization problems includes the assumption that input data is known and is not subject to changes. In real life this assumption may be found inaccurate. For example, cost estimates are sometimes subject to errors, and to changes oer time due to dynamic behaior of the enironment! emand reflects market behaior, which in itself is unpredictable to some degree! #esource aailability may change when management changes its preferences. $o, a %uestion about the sensitiity of the optimal solution to changes in input parameters seems to be alid, and important for the sake of making informed decisions. This is the topic dealt with in these notes.$ensitiity analysis allows for only one parameter change at a time. $ince in reality seeral changes may occur simultaneously, we&ll extend the discussion to the multiple changes case later. For now, two types of changes are considered within the framework of a linear programming model. 'i()hanges in one objectie*function coefficient.'ii()hanges in one constraint right*hand*side.First let us present a decision problem to be soled using linear programming. This problem will then sere as the ehicle with which we demonstrate the sensitiity analysis concepts.
Example
)+I manufactures a standard dining chair used in restaurants. The demand forecasts for chairs for %uarter 1 and %uarter are // and 0//, respectiely. The chair contains an upholstered seat that can be produced by )+I or purchased from +. + currently charges 21.3 per seat, but has announced a new prices of 21.3 effectie the second %uarter. )+I can produce at most 4// seats per %uarter at a cost of 21/.3 per seat. $eats produced or purchased in %uarter 1 can be stored in order to satisfy demand in %uarter . seat cost )+I 21.3/ each to hold in inentory, and maximum inentory cannot exceed // seats. Find the optimal make*or*buy plan for )+I.The problem is formulated as follows56
1
7 8umber of seats produced by )+I in %uarter 1.6
7 8umber of seats purchased from + in %uarter 1.6

7 8umber of seats carried in inentory from %uarter 1 to .6
0
7 8umber of seats produced by )+I in %uarter .6
3
7 8umber of seats purchased from + in %uarter .The linear programming model is proided next59inimize 1/.36
1
:1.36
:1.36

:1/.36
0
:1.36
3
$ubject to5 6
1
: 6
7 //: 6

6

: 6
0
:6370//6
1
≤
4//6
0
≤
4//6

≤
//6
1
, 6
, 6

, 6
0
, and 6
3
are non*negatie
The linear programming model was run using $;<=># and the output results are gien in the attached printout5 a. ?hat is the optimal solution including the optimal alue of the objectie function@
X
1
X
2
X
3
X
4
X
5
4///1//4////The total cost 'objectie function( 7 24,13.9anagement is interested in the analysis of a few changes that might be needed for arious reasons. For example, the per*unit inentory cost may change from 21.3/ to 2.3/ due to an expected increase in the interest rate and the insurance costs. Aow will this change affect the optimal production plan@ In addition, if )+I is considering increasing storage space such that 1// more seats can be stored, what is the maximum it should be willing to pay for this additional space@ Buestions like these can be answered by performing sensitiity analysis. <et us discuss the releant concepts and then return to this problem to answer a few interesting %uestions.
Can!in! te val e o# one o$%e&tive ' # n&tion &oe##i&ient
)hanging the alue of one coefficient in the objectie function, makes the ariable associated with this coefficient more attractie or less attractie for the optimization mechanism. For example, if we look for the solution that maximizes the objectie 36
1
: 06
, when the coefficient 0 becomes C 'max 36
1
:
(
6
(, the ariable 6
becomes more attractie. Therefore, one would expect the maximization mechanism to increase the alue of 6
in the optimal solution. It turns out that it is not necessarily so. change might occur in the structure of the optimal solution, but this depends on the amount by which the coefficient is changing. This is discussed next.
Statement 1) Te Ran!e o# Optimality
The optimal solution of a linear programming model does not change if a single coefficient of some ariable in the objectie function changes within a certain range. Thisrange is called the range of optimality.
Note, that only one coefficient is allowed to change for the range of optimality to apply.
?e can find the range of optimality for each objectie coefficient in the $;<=># output.
Adjustable Cells
Final Reduced Objective
Allowable AllowableCell Name Value Cost Coefficient Increase Decrease
$B$2 X1 3800 0 10.25 2 1E+30$C$2 X2 0 0.25 12.5 1E+30 0.25$D$2 X3 100 0 1.5 2 0.25$E$2 X4 3800 0 10.25 3.5 1E+30$F$2 X5 300 0 13.75 0.25 2
<et us return to our example and answer a few sensitiity %uestions related to the range of optimality.
#ange of optimality5Dpper bound 7 1/.3: 7 1.3<ower bound 7 1/.3 E infinity 7 *infinity
* estion 1)
If the per*unit inentory cost increased from 21.3/ to 2.3/, would the optimal solution change@nswer5 First look for the changing parameter in the model. The coefficient 1.3/ of the ariable 6

in the objectie function is changing to .35 '1/.36
1
:1.36
:
1+5
6

:1/.36
0
:1.36
3
(. ?e need to look for the range of optimality of the coefficient 1.3. From the output 'see below( the range of optimality is5<ower bound 71.3 E /.3 7 1.3Dpper bound 7 1.3 : 7 .3
Objective Allowable AllowableCoefficient Increase Decrease
1.5 2 0.25
Interpretation5 s long as the coefficient of 6

in the objectie function 'currently e%uals to 1.3( falls in the interal 1.3, .3G the current optimal solution does not change. $ince the alue .3 does fall in this range, there will be no change in the optimal solution 'in terms of the ariable aluesH(. Aoweer, the objectie alue changesH 8ew objectie alue 7 )urrent objectie alue : ')hange in coefficient alue('the ariable 6

( 7 4,13 : '.3 E 1.3('1//(7 4,3. $o, in spite of the increasing cost of holding inentory, it remains optimal to store 1// chairs at the end of %uarter 1.
* estion 2)
If + reduced the selling price per seat in %uarter 1 from 21.3/ to 21./, should )+I consider the purchase of seats in %uarter 1 'note that currently no seat is purchased in %uarter 1(@nswer5 The parameter changing is the coefficient of 6
'1.3( in the objectie function. It is changing to 1.3. The range of optimality is5<ower bound 7 1.3 E /.3 7 1.3Dpper bound 7 1.3 : infinity 7 Infinity
Objective Allowable AllowableCoefficient Increase Decrease
12.5 1E+30 0.25
Interpretation5 $ince 21./ falls below the lower bound of the range of optimality, there will be a change in the optimal solution, and seats will be purchased at this price 'to rephrase, 6
becomes sufficiently attractie, so the minimization mechanism will make it a part of the optimal plan(. 8otice, that the objectie alue is likely to change, because the ariables are optimized at different alues. Aoweer, we cannot calculate the new objectie alue without re*running the model. )omment5 If the changing coefficient falls exactly on the boundary of the range of optimality, there will be more than one optimal solution with the same objectie function alue 'called the multiple optimal or the alternate optimal solution case(. For example, assume the coefficient 1.3/ just discussed becomes 1.3. The two optimal solutions are5
Sol tion 1)
the current solution!
Sol tion 2)
a new solution, shown next50