Chapter 6
Sensitivity Analysis & Duality
to accompany
Operations Research: Applications and Algorithms
4th edition
by Wayne L. Winston
Copyright (c) 2004 Brooks/Cole, a division of Thomson Learning, Inc.
6.1 A Graphical Introduction to
Sensitivity Analysis
Sensitivity analysis is concerned with how
changes in an LP’s parameters affect the
optimal solution.
The optimal solution to the Giapetto problem
was z = 180, x1 = 20, x2 = 60 (Point B in the
figure to the right) and it has x1, x2, and s3
(the slack variable for the demand constraint)
as basic variables.
How would changes in the problem’s objective
function coefficients or the constraint’s righthand sides change this optimal solution?
2
Feasible Region
A
demand constraint
60
Isoprofit line z = 120
Slope = -3/2
B
D
40
carpentry constraint
Slope = -1
20
Finally, Point C(40,20) is
optimal if the slope of the
isoprofit line is steeper than
the slope of the finishing
constraint.
Since a typical isoprofit line
is c1x1 + 2x2 = k, we know
the slope of the isoprofit
line is just -c1/2.
Giapetto Problem
finishing constraint
Slope = -2
80
X2
100
If the isoprofit line is flatter
than the carpentry
constraint, Point A(0,80) is
optimal.
Point B(20,60) is optimal if
the isoprofit line is steeper
than the carpentry
constraint but flatter than
the finishing constraint.
C
20
40
50
60
80 X1
3
A graphical analysis can also be used to
determine whether a change in the rhs of a
constraint will make the basis no longer
optimal.
In a constraint with a positive slack (or positive
excess) in an LPs optimal solution, if we
change the rhs of the constraint to a value in
the range where the basis remains optimal, the
optimal solution to the LP remains the same.
4
It is important to determine how a constraint’s
rhs changes the 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.
5
Sensitivity analysis is important because
Values of LP parameters might change.
If a parameter changes, sensitivity analysis shows it
is unnecessary to solve the problem again.
Uncertainty about LP parameters.
Even if demand is uncertain, the company can be
fairly confident that it can still produce optimal
amounts of products.
6
6.2 Some Important Formulas
An LP’s optimal tableau can be expressed in
terms of the LP’s parameters.
The formulas are used in the study of
sensitivity analysis, duality, and advanced LP
topics.
When solving a max problem that has been
prepared for solution by the Big M method with
the LP having m constraints and n variables.
Although some of the variables may be slack,
excess, or artificial, they are labeled x1, x2,
…,xn.
7
The LP may then be written as
max z = c1x1 + c2x2 + … + cnxn
s.t.
a11x1 + a12x2 + … + a1nxn = b1
a21x1 + a22x2 + … + a2nxn = b2
….
…
….
…
…
amx1 + am2x2 + … + amnxn = bm
xi ≥ 0 (i = 1, 2, …, n)
8
BV = {BV1, BV2, …, BVn} to be the set of
basic variables in the optimal tableau.
NBV = {NBV1, NBV2, …, NBVn} the set of
nonbasic variables in the optimal tableau.
cBV is the 1 x m row vector [cBV1 cBV2 ∙∙∙ cBVm].
cNBV is the 1 x (n-m) row vector whose
elements are the coefficients of the nonbasic
variables (in the order of NBV).
The m x m matrix B is the matrix whose jth
column is the column for BVj in the initial
tableau.
9
Aj is the column (in the constraints) for the
variable xj.
N is the m x (n-m) matrix whose columns are
the columns for the nonbasic variables (in NBV
order) in the initial tableau.
The m x 1 column vector b is the right-hand
side of the constraints in the initial tableau.
Matrix algebra can be used to determine how
an LP’s optimal tableau (with the set of basic
variables BV) is related to the original LP.
10
The initial LP can now be written as
z = cBVxBV + cNBVxNBV
s.t.
BxBV + NxNBV = b
xBV, xNBV ≥ 0
Let c j be the coefficient of xj, then it can be
shown that
c j cBV B 1a j c j
and
Right-hand side of optimal tableau’s row 0=cBVB-1b
11
Coefficient of slack variable si in optimal row 0
= ith element of cBVB-1
Coefficient of excess variable ei in optimal row
0 = -(ith element of cBVB-1)
Coefficient of artificial variable ai in optimal row
0 = (ith element of cBVB-1) + M (max problem)
Right-hand side of optimal row 0 = cBVB-1b
12
6.3 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.
From Chapter 4 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.
13
We can use the following procedure to determine if any
change in the LP will cause the BV to no longer be
optimal.
Step 1 Using the formulas of Section 6.2 determine how
changes in the LP’s parameters change the right hand side
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
by using the formulas to recreate the entire tableau for
BV and then continuing the simplex algorithm with the
BV tableau as your starting tableau.
14
There can two reasons why a change in an LP’s
parameters cause BV to no longer be optimal.
A variable (or variables) in row 0 may have a
negative coefficient. In this case, a better (larger zvalue) 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.
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.
15
Six types of changes in an LP’s parameters
change the optimal solution.
Changing the objective function coefficient of a
nonbasic variable.
Changing the objective function coefficient of a basic
variable.
Changing the right-hand side of a constraint.
Changing the column of a nonbasic variable.
Adding a new variable or activity.
Adding a new constraint.
16
6.4 Sensitivity Analysis When More Than One
Parameter Is Changed: The 100% Rule
LINDO output can be used to determine whether the
current basis remains optimal when more than one
objective function coefficient or right-hand side is
changed.
Depending on whether the objective function coefficient
of any variable with a zero reduced cost in the optimal
tableau is changed, there are two cases to consider:
Case 1 – All variables whose objective function coefficients
are changed have nonzero reduced costs in the optimal row
0.
The current basis remains optimal if and only if the
objective function coefficient for each variable remains
within the allowable range given on the LINDO printout.
If the current basis remains optimal, both the values of the
decision variables and objective function remain
unchanged. If the objective coefficient for any variable is
outside the allowable range, the current basis is no longer
optimal.
17
Case 2 – At least one variable whose objective
function coefficient is changed has a reduced cost of
zero.
Depending on whether any of the constraints
whose right-hand side are being modified are
binding constraints, there are two cases to
consider.
18
Case 1 – All constraints whose right-hand sides are
being modified are nonbinding constraints.
The current basis remains optimal if and only if each
right-hand side remains within its allowable range.
Then the values of the decision variables and optimal
objective function remain unchanged.
If the right-hand side for any constraint is outside its
allowable range, the current basis is no longer
optimal.
Case 2 – At least one of the constraints whose righthand side is being modified is a binding constraint
(that is, has zero slack or excess).
19
6.5 – Finding the Dual of an LP
Associated with any LP is another LP called the
dual. Knowledge of the dual provides
interesting economic and sensitivity analysis
insights.
When taking the dual of any LP, the given LP is
referred to as the primal. If the primal is a
max problem, the dual will be a min problem
and visa versa.
To find the dual to a max problem in which all
the variables are required to be nonnegative
and all the constraints are ≤ constraints (called
normal max problem) the problem may be
written as
20
max z =
c1x1+ c2x2 +…+ cnxn
s.t.
a11x1 + a12x2 + … + a1nxn ≤ b1
a21x1 + a22x2 + … + a2nxn ≤ b2
…
…
…
…
am1x1 + am2x2 + … + amnxn ≤ bm
xj ≥ 0 (j = 1, 2, …,n)
The dual of a normal max problem is called a
normal min problem.
min w = b1y1+ b2y2 +…+ bmym
s.t.
a11y1 + a21y2 + … + am1ym ≥ c1
a12y1 + a22y2 + … + am2ym ≥ c2
…
…
…
…
a1ny1 + a2ny2 + …+ amnym ≥ cn
yi ≥ 0 (i = 1, 2, …,m)
21
6.6 Economic Interpretation of the
Dual Problem
Suppose an entrepreneur wants to purchase all
of Dakota’s resources. The entrepreneur must
determine the price he or she is willing to pay
for a unit of each of Dakota’s resources.
To determine these prices define:
y1 = price paid for 1 boards ft of lumber
y2 = price paid for 1 finishing hour
y3 = price paid for 1 carpentry hour
The resource prices y1, y2, and y3 should be
determined by solving the Dakota dual.
In setting resource prices, the prices must be
high enough to induce Dakota to sell.
22
When the primal is a normal max problem, the
dual variables are related to the value of
resources available to the decision maker. For
this reason, dual variables are often referred to
as resource shadow prices.
23
6.7 The Dual Theorem and Its
Consequences
The Dual Theorem states that the primal and
dual have equal optimal objective function
values (if the problems have optimal
solutions).
Weak duality implies that if for any feasible
solution to the primal and an feasible solution
to the dual, the w-value for the feasible dual
solution will be at least as large as the z-value
for the feasible primal solution.
Any feasible solution to the dual can be used to
develop a bound on the optimal value of the
primal objective function.
24
Let
x1
x
X 2
xn
be a feasible solution to the primal and
y y1 y2 ym
be a feasible solution to the dual. If cx yb , then x-bar is
optimal for the primal and y-bar is optimal for the dual.
If the primal is unbounded, then the dual problem is
infeasible.
If the dual is unbounded, then the primal is infeasible.
25
6.8 Shadow Prices
The shadow price of the ith constraint is the
amount by which the optimal z-value is
improved (increased in a max problem and
decreased in a min problem) is we increase bi
by 1 (from bi to bi+1).
In short, adding points to the feasible region of
a max problem cannot decrease the optimal zvalue.
26
6.9 Duality and Sensitivity Analysis
Assuming that a set of basic variables BV is
feasible, then BV is optimal if and only if the
associated dual solution (cBVB-1) is dual
feasible.
This result can be used for an alternative way
of doing the following types of sensitivity
analysis.
Changing the objective function coefficient of a
nonbasic variable.
Changing the column of a nonbasic variable.
Adding a new activity.
27
6.10 Complementary Slackness
Let
x1
x
X 2
xn
be a feasible primal solution and y y1 y2 ym
be a feasible dual solution. Then x is primal
optimal and y is dual optimal if and only if
siyi = 0
ejyj = 0
(i=1, 2, …, m)
(j=1, 2, …, n)
28
6.11 The Dual Simplex Method
The dual simplex method maintains a nonnegative row 0 (dual feasibility) and eventually
obtains a tableau in which each right-hand side
is non-negative (primal feasibility).
The dual simplex method for a max problem
Step 1:Is the right-hand side of each constraint non
negative? If not, go to step 2.
Step 2:Choose the most negative basic variable as
the variable to leave the basis. The row it is in will be
the pivot row. To select the variable that enters the
basis, compute the following ratio for each variable xj
that has a negative coefficient in the pivot row:
Coefficien t of xj in row 0
Coefficien t of xj in pivot row
29
Step 2 continued
Choose the variable with the smallest ratio as the
entering variable. Now use EROs to make the
entering variable a basic variable in the pivot row.
Step 3: If there is any constraint in which the righthand side is negative and each variable has a nonnegative coefficient, then the LP has no feasible
solution. If no constraint infeasibility is found, return
to step 1.
The dual simplex method is often used to find
the new optimal solution to an LP after a
constraint is added.
30
When a constraint is added one of the following
three cases will occur.
The current optimal solution satisfies the new
constraint.
The current optimal solution does not satisfy the new
constraint, but the LP still has a feasible solution.
The additional constraint causes the LP to have no
feasible solutions.
If the right-hand side of a constraint is
changed and the current basis becomes
infeasible, the dual simplex can be used to find
the new optimal solution.
31
6.12 Data Environment Analysis
Often people wonder if a business is operating
efficiently. The Data Environment Analysis
(DEA) method can be used to find the
answer.
To learn how DEA works, let’s consider a group
of three hospitals.
Each hospital “converts” two inputs into three
different outputs.
The two inputs used are
Input 1 – capital (measured in number of beds)
Input 2 – labor (measured in thousands of
hours/month)
32
The outputs are
Output 1 – hundreds of patient-days during month
for patients under age 14
Output 2 – hundreds of patient-days during month
for patients between age 14-65
Output 3 – hundreds of patient-days during month
for patients over age 65
The efficiency of a hospital is defined by
value of hospital i' s ouputs
value of hospital i' s inputs
33
The DEA approach uses the following four ideas
to determine if a hospital is efficient.
No hospital can be more than 100% efficient.
When evaluating hospital i’s efficiency, attempt to
choose output prices and inpu costs that maximize
efficiency.
To simplify computations, scale the output prices so
that the cost of hospital i’s inputs equals 1.
Ensure that each input cost and output price is
strictly positive.
Use LINDO to solve the hospital DEA problem.
34
The DUAL PRICES section of the LINDO output
gives us great insight into Hospital 2’s
inefficiency.
35
© Copyright 2026 Paperzz