Você está na página 1de 34

Chapter 4

Sensitivity Analysis: An Applied


Approach

Yitbarek Takele (PhD, MBA & MA Econ)


Associate Professor of Management
Addis Ababa University
4.1 – A Graphical Introduction to
Sensitivity Analysis
 Sensitivity analysis is concerned with how
changes in an LP’s parameters affect the
optimal solution.
 Consider the Giapetto problem from Chapter 3.
max z = 3x1 + 2x2
2 x1 + x2 ≤ 100 (finishing constraint)
x1 + x2 ≤ 80 (carpentry constraint)
x1 ≤ 40 (demand constraint)
x1, x2 ≥ 0 (sign restriction)

Where:
 x1 = number of soldiers produced each week
 x2 = number of trains produced each week.
2
 The optimal solution for this X2

LP was z = 180, x1=20, x2=

100
finishing constraint

60 (point B) and it has x1, x2,


Slope = -2

A Feasible Region

and s3 (the slack variable for

80
demand constraint

the demand constraint) as Isoprofit line z = 120

60
basic variables. B Slope = -3/2

 How would changes in the D

40
carpentry constraint
Slope = -1
problem’s objective function
coefficients or right-hand

20
C

side values change this


optimal solution? 10 20 40 50 60 80 X1

3
 Graphical analysis of the effect of a change in
an objective function value for the Giapetto LP
shows:
 By inspection, we can see that making the slope of
the isoprofit line more negative than the finishing
constraint (slope = -2) will cause the optimal point to
switch from point B to point C.
 Likewise, making the slope of the isoprofit line less
negative than the carpentry constraint (slope = -1)
will cause the optimal point to switch from point B to
point A.
 Clearly, the slope of the isoprofit line must be
between -2 and -1 for the current basis to remain
optimal.

4
 A graphical analysis can also be used to
determine whether a change in the rhs of a
constraint will make the current basis no
longer optimal. For example, let b1 = number
of available finishing hours.
 The current optimal solution (point B) is where
the carpentry and finishing constraints are
binding.
 If the value of b1 is changed, then as long as
where the carpentry and finishing constraints
are binding, the optimal solution will still occur
where the carpentry and finishing constraints
intersect.
5
 In the Giapetto problem to
the right, we see that if b1 X2
finishing constraint, b1 = 120

100
> 120, x1 will be greater finishing constraint, b1 = 100

than 40 and will violate Isoprofit line z = 120


the demand constraint. A

80
Also, if b1 < 80, x1 will be demand constraint

less than 0 and the finishing constraint, b1 = 80

60
B
nonnegativity constraint
for x1 will be violated. D

40
carpentry constraint

 Therefore: 80 ≤b1≤ 120


Feasible Region

 The current basis remains


20
C

optimal for 80 ≤b1≤ 120,


but the decision variable
values and z-value will
20 40 50 60 80 X1

change.

6
 It is often important to determine how a change in a
constraint’s rhs changes the LP’s optimal z-value.
 The shadow price for the ith constraint of an LP is the
amount by which the optimal z-value is improved if the
rhs of the ith constraint is increased by one.
 This definition applies only if the change in the rhs of
constraint i leaves the current basis optimal.
 For the finishing constraint, 100 +  finishing hours are
available.
 The LP’s optimal solution is then
x1 = 20 +  and x2 = 60 –  with z = 3x1 + 2x2 = 3(20 +
) + 2(60 - ) = 180 + .
 Thus, as long as the current basis remains optimal, a one-
unit increase in the number of finishing hours will increase
the optimal z-value by $1. So, the shadow price for the
first (finishing hours) constraint is $1.
7
 Sensitivity analysis is important for several
reasons:
 Values of LP parameters might change. If a
parameter changes, sensitivity analysis shows it is
unnecessary to solve the problem again.
 For example in the Giapetto problem, if the profit
contribution of a soldier changes to $3.50, sensitivity
analysis shows the current solution remains optimal.
 Uncertainty about LP parameters.
 In the Giapetto problem for example, if the weekly
demand for soldiers is at least 20, the optimal
solution remains 20 soldiers and 60 trains. Thus,
even if demand for soldiers is uncertain, the
company can be fairly confident that it is still optimal
to produce 20 soldiers and 60 trains. 8
4.2 The Computer and Sensitivity
Analysis
 If an LP has more than two decision variables,
the range of values for a rhs (or objective
function coefficient) for which the basis
remains optimal cannot be determined
graphically.
 These ranges can be computed by hand but
this is often tedious, so they are usually
determined by a packaged computer program.
 LINDO will be used and the interpretation of its
sensitivity analysis discussed.

9
Example 1: Winco Products 1
 Winco sells four types of products. The resources needed
to produce one unit of each and the sales prices are
given in Table 2. Currently, 4,600 units of raw material
and 5,000 labor hours are available. The resources
needed to produce one unit of each are known.
Product 1 Product 2 Product 3 Product 4

Raw material 2 3 4 7

Hours of labor 3 4 5 6

Sales price $4 $6 $7 $8

 To meet customer demand, exactly 950 total units must


be produced. Customers demand that at least 400 units
of product 4 be produced.
 Formulate an LP to maximize profit. 10
Example 1: Solution
 Let xi = number of units of product i produced
by Winco.
 The Winco LP formulation:

max z = 4x1 + 6x2 +7x3 + 8x4


s.t. x1 + x2 + x3 + x4 = 950
x4 ≥ 400
2x1 + 3x2 + 4x3 + 7x4 ≤ 4600
3x1 + 4x2 + 5x3 + 6x4 ≤ 5000
x1,x2,x3,x4 ≥ 0

11
Ex. 1 – Solution continued
 The LINDO output.
 Reduced cost is the MAX 4 X1 + 6 X2 + 7 X3 + 8 X4
amount the objective SUBJECT TO
2) X1 + X2 + X3 + X4 = 950

function coefficient for 3) X4 >= 400


4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600

variable i would have to


5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000
END

be increased for there to LP OPTIMUM FOUND AT STEP 4

be an alternative OBJECTIVE FUNCTION VALUE


1) 6650.000
optimal solution. VARIABLE VALUE REDUCED COST
X1 0.000000 1.000000
X2 400.000000 0.000000
X3 150.000000 0.000000
X4 400.000000 0.000000

ROW SLACK OR SURPLUS DUAL PRICES


2) 0.000000 3.000000
3) 0.000000 -2.000000
4) 0.000000 1.000000
5) 250.000000 0.000000

NO. ITERATIONS= 4

12
Ex. 1 – Solution continued
 LINDO sensitivity RANGES IN WHICH THE BASIS IS UNCHANGED:

analysis output OBJ COEFFICIENT RANGES

 Allowable range (w/o VARIABLE CURRENT


COEF
ALLOWABLE
INCREASE
ALLOWABLE
DECREASE
changing basis) for the X1 4.000000 1.000000 INFINITY

x2 coefficient (c2) is: X2 6.000000 0.666667 0.500000

5.50 < c2 < 6.667 X3


X4
7.000000
8.000000
1.000000
2.000000
0.500000
INFINITY

 Allowable range (w/o


RIGHTHAND SIDE RANGES
changing basis) for the ROW CURRENT ALLOWABLE ALLOWABLE
rhs (b1) of the first RHS INCREASE DECREASE

constraint is: 2 950.000000 50.000000 100.000000


3 400.000000 37.500000 125.000000
850 < b1 < 1000 4 4600.000000 250.000000 150.000000
5 5000.000000 INFINITY 250.000000

13
Ex. 1 – Solution continued
 Shadow prices are shown MAX 4 X1 + 6 X2 + 7 X3 + 8 X4
SUBJECT TO

in the Dual Prices section 2) X1 + X2 + X3 + X4 = 950


3) X4 >= 400

of LINDO output. 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600


5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000
END

 Shadow prices are the LP OPTIMUM FOUND AT STEP 4

amount the optimal z- OBJECTIVE FUNCTION VALUE


1) 6650.000
value improves if the rhs VARIABLE VALUE REDUCED COST

of a constraint is X1
X2
0.000000
400.000000
1.000000
0.000000

increased by one unit


X3 150.000000 0.000000
X4 400.000000 0.000000

(assuming no change in ROW


2)
SLACK OR SURPLUS
0.000000
DUAL PRICES
3.000000
basis). 3)
4)
0.000000
0.000000
-2.000000
1.000000
5) 250.000000 0.000000

NO. ITERATIONS= 4

14
 Shadow price signs
1. Constraints with symbols will always have
nonpositive shadow prices.
2. Constraints with  will always have nonnegative
shadow prices.
3. Equality constraints may have a positive, a
negative, or a zero shadow price.

15
 For any inequality constraint, the product of
the values of the constraint’s slack/excess
variable and the constraint’s shadow price
must equal zero.
 This implies that any constraint whose slack or
excess variable > 0 will have a zero shadow price.
 Similarly, any constraint with a nonzero shadow price
must be binding (have slack or excess equaling zero).
 For constraints with nonzero slack or excess,
relationships are detailed in the table below:
Type of Constraint Allowable Increase for rhs Allowable Decrease for rhs

≤ ∞ = value of slack
≥ = value of excess ∞
16
 When the optimal solution is degenerate (a bfs
is degenerate if at least one basic variable in
the optimal solution equals 0), caution must be
used when interpreting the LINDO output.
 For an LP with m constraints, if the optimal
LINDO output indicates less than m variables
are positive, then the optimal solution is
degenerate bfs.
MAX 6 X1 + 4 X2 + 3 X3 + 2 X4
SUBJECT TO
2) 2 X1 + 3 X2 + X3 + 2 X4 <= 400
3) X1 + X2 + 2 X3 + X4 <= 150
4) 2 X1 + X2 + X3 + 0.5 X4 <= 200
5) 3 X1 + X2 + X4 <= 250
17
 Since the LP has four
constraints and in the
optimal solution only two
variables are positive,
the optimal solution is a
degenerate bfs.
LP OPTIMUM FOUND AT STEP 3
OBJECTIVE FUNCTION VALUE
1) 700.0000
VARIABLE VALUE REDUCED COST
X1 50.000000 0.000000
X2 100.000000 0.000000
X3 0.000000 0.000000
X4 0.000000 1.500000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.500000
3) 0.000000 1.250000
4) 0.000000 0.000000
5) 0.000000 1.250000

18
RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES


VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 6.000000 3.000000 3.000000
X2 4.000000 5.000000 1.000000
X3 3.000000 3.000000 2.142857
X4 2.000000 1.500000 INFINITY

RIGHTHAND SIDE RANGES


ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 400.000000 0.000000 200.000000
3 150.000000 0.000000 0.000000
4 200.000000 INFINITY 0.000000
5 250.000000 0.000000 120.000000
19
 LINDO TABLEAU command indicates the
optimal basis is RV = {x1,x2,x3,s4}.
THE TABLEAU
ROW (BASIS) X1 X2 X3 X4 SLK 2
1 ART 0.000 0.000 0.000 1.500 0.500
2 X2 0.000 1.000 0.000 0.500 0.500
3 X3 0.000 0.000 1.000 0.167 -0.167
4 SLK 4 0.000 0.000 0.000 -0.500 0.000
5 X1 1.000 0.000 0.000 0.167 -0.167

ROW SLK 3 SLK 4 SLK 5


1 1.250 0.000 1.250 700.000
2 -0.250 0.000 -0.250 100.000
3 0.583 0.000 -0.083 0.000
4 -0.500 1.000 -0.500 0.000
5 0.083 0.000 0.417 50.000
20
 Oddities that may occur when the optimal
solution found by LINDO is degenerate are:
 In the RANGE IN WHICH THE BASIS IS UNCHANGED
at least one constraint will have a 0 AI or AD. This
means that for at least one constraint the DUAL
PRICE can tell us about the new z-value for either an
increase or decrease in the rhs, but not both.
 For a nonbasic variable to become positive, a
nonbasic variable’s objective function coefficient may
have to be improved by more than its RECDUCED
COST.
 Increasing a variable’s objective function coefficient
by more than its AI or decreasing it by more than its
AD may leave the optimal solution the same.
21
4.3 Managerial Use of Shadow
Prices
 The managerial significance of shadow prices is
that they can often be used to determine the
maximum amount a manger should be willing
to pay for an additional unit of a resource.

22
Example 5: Winco Products 2
 Reconsider the Winco to the right.
 What is the most Winco should be willing to
pay for additional units of raw material or
labor?

23
Example 5: Solution
 The shadow price for raw
material constraint (row 4)
shows an extra unit of raw MAX 4 X1 + 6 X2 + 7 X3 + 8 X4
SUBJECT TO

material would increase 2) X1 + X2 + X3 + X4 = 950


3) X4 >= 400

revenue $1.
4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600
5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000
END

 Winco could pay up to $1 LP OPTIMUM FOUND AT STEP 4

for an extra unit of raw OBJECTIVE FUNCTION VALUE


1) 6650.000
material and be as well off
VARIABLE VALUE REDUCED COST
as it is now. X1 0.000000 1.000000
X2 400.000000 0.000000
X3 150.000000 0.000000
 Labor constraint’s (row 5) X4 400.000000 0.000000

shadow price is 0 meaning ROW


2)
SLACK OR SURPLUS
0.000000
DUAL PRICES
3.000000

that an extra hour of labor 3)


4)
0.000000
0.000000
-2.000000
1.000000

will not increase revenue.


5) 250.000000 0.000000

NO. ITERATIONS= 4

 So, Winco should not be


willing to pay anything for
an extra hour of labor.

24
4.4 What happens to the Optimal z-Value if
the Current Basis Is No Longer Optimal?

 Shadow prices were used to determine the new


optimal z-value if the rhs of a constraint was
changed but remained within the range where
the current basis remains optimal.
 Changing the rhs of a constraint to values where the
current basis is no longer optimal can be addressed
by the LINDO PARAMETRICS feature.
 This feature can be used to determine how the
shadow price of a constraint and optimal z-value
change.

25
 The use of the LINDO PARAMETICS feature is
illustrated by varying the amount of raw
material in the Winco example.
 Suppose we want to determine how the optimal z-
value and shadow price change as the amount of raw
material varies between 0 and 10,000 units.
 With 0 raw material, we then obtain from the RANGE
and SENSITIVTY ANALYSIS results that show Row 4
has an ALLOWABLE INCREASE of -3900. This
indicates at least 3900 units of raw material are
required to make the problem feasible.

26
 Raw Material rhs = 3900 optimal solution
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJECTIVE FUNCTION VALUE
OBJ COEFFICIENT RANGES
1) 5400.000
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
VARIABLE VALUE REDUCED COST
X1 4.000000 1.000000 INFINITY
X1 550.000000 0.000000
X2 0.000000 0.000000 X2 6.000000 INFINITY 0.500000
X3 7.000000 1.000000 INFINITY
X3 0.000000 1.000000
X4 400.000000 0.000000 X4 8.000000 6.000000 INFINITY

RIGHTHAND SIDE RANGES


ROW SLACK OR SURPLUS DUAL PRICES
ROW CURRENT ALLOWABLE ALLOWABLE
2) 0.000000 0.000000
RHS INCREASE DECREASE
3) 0.000000 -6.000000
2 950.000000 0.000000 183.333328
4) 0.000000 2.000000
3 400.000000 0.000000 137.500000
5) 950.000000 0.000000
4 3900.000000 550.000000 0.000000
THE TABLEAU 5 5000.000000 INFINITY 950.000000

ROW (BASIS) X1 X2 X3 X4 SLK 3 SLK 4 SLK 5


1 ART 0.000 0.000 1.000 0.000 6.000 2.000 0.000 5400.000
2 X1 1.000 0.000 -1.000 0.000 -4.000 -1.000 0.000 550.000
3 X4 0.000 0.000 0.000 1.000 -1.000 0.000 0.000 400.000
4 X2 0.000 1.000 2.000 0.000 5.000 1.000 0.000 0.000
5 SLK 5 0.000 0.000 0.000 0.000 -2.000 -1.000 1.000 950.000
ART ART 0.000 0.000 1.000 0.000 6.000 2.000 0.000 0.000 27
 Changing Row 4’s rhs to 3900, resolving the
LP, and selecting the REPORTS PARAMTERICS
feature.
 In this feature we choose Row 4, setting the Value to
10000, and select text output.
RIGHTHANDSIDE PARAMETRICS REPORT FOR ROW: 4

VAR VAR PIVOT RHS DUAL PRICE OBJ


OUT IN ROW VAL BEFORE PIVOT VAL
3900.00 2.00000 5400.00
X1 X3 2 4450.00 2.00000 6500.00
SLK 5 SLK 3 5 4850.00 1.00000 6900.00
X3 SLK 4 2 5250.00 -0.333067E-15 6900.00
10000.0 -0.555112E-16 6900.00
28
 LINDO Parametric Feature Graphical Output (z-
value vs. Raw Material rhs from 3900 to
10000)

29
 For any LP, the graph of the optimal objective function
value as a function of a rhs will be a piecewise linear
function. The slope of each straight line segment is just
the constraint’s shadow price.
 For < constraints in a maximization LP, the slope of each
segment must be nonnegative and the slopes of
successive line segments will be nonincreasing.
 For a > constraint, in a maximization problem, the graph
of the optimal function will again be piecewise linear
function. The slope of each line segment will be
nonpositive and the slopes of successive segments will
be nonincreasing

30
 A graph of the optimal objective function value
as a function of a variable’s objective function
coefficient can be created.
 When the slope of the line is portrayed
graphically, the graph is a piecewise linear
function.
 The slope of each line segment is equal to the
value of xi in the optimal solution.

31
 In a maximization LP, 440 500
Optimal z-Value vs c1

the slope of the graph of


the optimal z-value as a
function of an objective
400

function coefficient will


be nondecreasing.

Optimal z-V alue


300

 
z c1

 In a minimization LP, the


slope of the graph of the 200

optimal z-value as a
function of an objective 100

function coefficient will


be nonincreasing. 0
0 2 4 6 8 10
0 c1 10
C1
z-value

32
Discussion

Session
33
I Thank You

34

Você também pode gostar