Chapter 18 Simplex-Based Sensitivity Analysis and Duality
Chapter 18 Simplex-Based Sensitivity Analysis and Duality
CHAPTER 18
Simplex-Based Sensitivity
Analysis and Duality
CONTENTS
18.1 SENSITIVITY ANALYSIS 18.2 DUALITY
WITH THE SIMPLEX Economic Interpretation of the
TABLEAU Dual Variables
Objective Function Coefficients Using the Dual to Identify the
Right-Hand-Side Values Primal Solution
Simultaneous Changes Finding the Dual of Any Primal
Problem
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-2
In Chapter 3 we defined sensitivity analysis as the study of how the changes in the coeffi-
cients of a linear program affect the optimal solution. In this chapter we discuss how sen-
sitivity analysis information such as the ranges for the objective function coefficients, dual
prices, and the ranges for the right-hand-side values can be obtained from the final simplex
tableau. The topic of duality is also introduced. We will see that associated with every linear
programming problem is a dual problem that has an interesting economic interpretation.
The usual sensitivity analysis for linear programs involves computing ranges for the ob-
jective function coefficients and the right-hand-side values, as well as the dual prices.
x1 x2 s1 s2 s3
Basis cB 50 40 0 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 50 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
Recall that when the simplex method is used to solve a linear program, an optimal so-
lution is recognized when all entries in the net evaluation row (cj z j ) are 0. Because
the preceding simplex tableau satisfies this criterion, the solution shown is optimal. How-
ever, if a change in one of the objective function coefficients were to cause one or more of
the cj z j values to become positive, then the current solution would no longer be optimal;
in such a case, one or more additional simplex iterations would be necessary to find the new
optimal solution. The range of optimality for an objective function coefficient is determined
by those coefficient values that maintain
cj z j 0 (18.1)
x1 x2 s1 s2 s3
Basis cB c1 40 0 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 c1 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
zj c1 40 64 c1 0 c1 24 480 30c1
5 5
cj zj 0 0 c1 64 0 24 c1
5 5
Changing an objective Note that this tableau is the same as the previous optimal tableau except that c1 replaces
function coefficient will 50. Thus, we have a c1 in the objective function coefficient row and the cB column, and the
result in changes in the z j
z j and cj z j rows have been recomputed using c1 instead of 50. The current solution will
and cj z j rows, but not in
the variable values. remain optimal as long as the value of c1 results in all cj z j 0. Hence, from the column
for s1 we must have
c1 64
0
5
24 c1
0
5
c1 64 0
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-4
or
c1 64 (18.2)
24 c1 0
or
24 c1 (18.3)
Because c1 must satisfy both inequalities (18.2) and (18.3), the range of optimality for c1 is
given by
24 c1 64 (18.4)
To see how management of HighTech can make use of this sensitivity analysis infor-
mation, suppose an increase in material costs reduces the profit contribution per unit for the
Deskpro to $30. The range of optimality indicates that the current solution (x1 30,
x 2 12, s1 0, s2 8, s3 0) is still optimal. To verify this solution, let us recompute the
final simplex tableau after reducing the value of c1 to 30.
x1 x2 s1 s2 s3
Basis cB 30 40 0 0 0
We have simply set c1 30 x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
everywhere it appears in
the previous tableau. s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 30 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
optimal. To verify this new basis, we have modified the final simplex tableau by replac-
ing c1 by 20.
x1 x2 s1 s2 s3
Basis cB 20 40 0 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 20 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
x1 x2 s1 s2 s3
Basis cB 50 40 cs1 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 50 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
Note that the only changes in the tableau are in the s1 column. In applying inequality
(18.1) to compute the range of optimality, we get
cs1 14/5 0
and hence
cs1 14/5
Therefore, as long as the objective function coefficient for s1 is less than or equal to ¹⁴⁄₅ , the
current solution will be optimal. With no lower bound on how much the coefficient may be
decreased, we write the range of optimality for cs1 as
cs1 14/5
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-6
The same approach works for all nonbasic variables. In a maximization problem, the
range of optimality has no lower limit, and the upper limit is given by z j. Thus, the range of
optimality for the objective function coefficient of any nonbasic variable is given by
cj z j (18.5)
Let us summarize the steps necessary to compute the range of optimality for objective
function coefficients. In stating the following steps, we assume that computing the range of
optimality for ck , the coefficient of xk , in a maximization problem is the desired goal. Keep
in mind that xk in this context may refer to one of the original decision variables, a slack
variable, or a surplus variable.
Steps to Compute the Range of Optimality
Step 1. Replace the numerical value of the objective function coefficient for xk with ck
everywhere it appears in the final simplex tableau.
Step 2. Recompute cj z j for each nonbasic variable (if xk is a nonbasic variable, it is
only necessary to recompute ck zk ).
Step 3. Requiring that cj z j 0, solve each inequality for any upper or lower bounds
on ck. If two or more upper bounds are found for ck , the smallest of these is the
upper bound on the range of optimality. If two or more lower bounds are found,
the largest of these is the lower bound on the range of optimality.
Step 4. If the original problem is a minimization problem that was converted to a maxi-
mization problem in order to apply the simplex method, multiply the inequali-
ties obtained in step 3 by 1, and change the direction of the inequalities to
Can you compute the range obtain the ranges of optimality for the original minimization problem.
of optimality for objective
function coefficients by
working with the final By using the range of optimality to determine whether a change in an objective func-
simplex tableau? Try tion coefficient is large enough to cause a change in the optimal solution, we can often avoid
Problem 1. the process of formulating and solving a modified linear programming problem.
Right-Hand-Side Values
In many linear programming problems, we can interpret the right-hand-side values (the bi’s)
as the resources available. For instance, in the HighTech Industries problem, the right-hand
side of constraint 1 represents the available assembly time, the right-hand side of constraint 2
represents the available Portable displays, and the right-hand side of constraint 3 represents
the available warehouse space. Dual prices provide information on the value of additional
resources in these cases; the ranges over which these dual prices are valid are given by the
ranges for the right-hand-side values.
Dual Prices In Chapter 3 we stated that the improvement in the value of the optimal so-
lution per unit increase in a constraint’s right-hand-side value is called a dual price.1 When
the simplex method is used to solve a linear programming problem, the values of the dual
1
The closely related term shadow price is used by some authors. The shadow price is the same as the dual price for maxi-
mization problems; for minimization problems, the dual and shadow prices are equal in absolute value but have opposite
signs. LINGO and The Management Scientist provide dual prices as part of the computer output. Some software packages,
such as Premium Solver for Education, provide shadow prices.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-7
prices are easy to obtain. They are found in the z j row of the final simplex tableau. To il-
lustrate this point, the final simplex tableau for the HighTech problem is again shown.
x1 x2 s1 s2 s3
Basis cB 50 40 0 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 50 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
The zj values for the three slack variables are ¹⁴⁄₅ , 0, and ²⁶⁄₅ , respectively. Thus, the dual prices
for the assembly time constraint, Portable display constraint, and warehouse capacity con-
straint are, respectively, ¹⁴⁄₅ $2.80, 0.00, and ²⁶⁄₅ $5.20. The dual price of $5.20 shows
that more warehouse space will have the biggest positive impact on HighTech’s profit.
To see why the z j values for the slack variables in the final simplex tableau are the dual
prices, let us first consider the case for slack variables that are part of the optimal basic fea-
sible solution. Each of these slack variables will have a z j value of zero, implying a dual
price of zero for the corresponding constraint. For example, consider slack variable s2 , a
basic variable in the HighTech problem. Because s2 8 in the optimal solution, HighTech
will have eight Portable display units unused. Consequently, how much would management
of HighTech Industries be willing to pay to obtain additional Portable display units? Clearly
the answer is nothing because at the optimal solution HighTech has an excess of this par-
ticular component. Additional amounts of this resource are of no value to the company, and,
consequently, the dual price for this constraint is zero. In general, if a slack variable is a
basic variable in the optimal solution, the value of z j —and hence, the dual price of the cor-
responding resource—is zero.
Consider now the nonbasic slack variables—for example, s1. In the previous subsec-
tion we determined that the current solution will remain optimal as long as the objective
function coefficient for s1 (denoted cs1) stays in the following range:
cs1 ¹⁴₅
It implies that the variable s1 should not be increased from its current value of zero unless
it is worth more than ¹⁴⁄₅ $2.80 to do so. We can conclude then that $2.80 is the marginal
value to HighTech of 1 hour of assembly time used in the production of Deskpro and
Portable computers. Thus, if additional time can be obtained, HighTech should be willing
to pay up to $2.80 per hour for it. A similar interpretation can be given to the z j value for
each of the nonbasic slack variables.
With a greater-than-or-equal-to constraint, the value of the dual price will be less than
or equal to zero because a one-unit increase in the value of the right-hand side cannot be
helpful; a one-unit increase makes it more difficult to satisfy the constraint. For a maxi-
mization problem, then, the optimal value can be expected to decrease when the right-hand
side of a greater-than-or-equal-to constraint is increased. The dual price gives the amount
of the expected improvement—a negative number, because we expect a decrease. As a
result, the dual price for a greater-than-or-equal-to constraint is given by the negative of the
z j entry for the corresponding surplus variable in the optimal simplex tableau.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-8
Finally, it is possible to compute dual prices for equality constraints. They are given by
the z j values for the corresponding artificial variables. We will not develop this case in de-
tail here because we have recommended dropping each artificial variable column from the
simplex tableau as soon as the corresponding artificial variable leaves the basis.
To summarize, when the simplex method is used to solve a linear programming prob-
lem, the dual prices for the constraints are contained in the final simplex tableau. Table 18.1
summarizes the rules for determining the dual prices for the various constraint types in a
maximization problem solved by the simplex method.
Try Problem 3, parts (a), Recall that we convert a minimization problem to a maximization problem by multi-
(b), and (c), for practice in plying the objective function by 1 before using the simplex method. Nevertheless, the
finding dual prices from the
dual price is given by the same z j values because improvement for a minimization problem
optimal simplex tableau.
is a decrease in the optimal value.
To illustrate the approach for computing dual prices for a minimization problem, recall
the M&D Chemicals problem that we solved in Section 17.7 as an equivalent maximization
problem by multiplying the objective function by 1. The linear programming model for
this problem and the final simplex tableau are restated as follows, with x1 and x 2 represent-
ing manufacturing quantities of products A and B, respectively.
Min 2x1 3x 2
s.t.
1x1 125 Demand for product A
1x1 1x 2 350 Total production
2x1 1x 2 600 Processing time
x1, x 2 0
x1 x2 s1 s2 s3
Basis cB 2 3 0 0 0
x1 2 1 0 0 1 1 250
x2 3 0 1 0 2 1 100
s1 0 0 0 1 1 1 125
zj 2 3 0 4 1 800
cj zj 0 0 0 4 1
Following the rules in Table 18.1 for identifying the dual price for each constraint type,
the dual prices for the constraints in the M&D Chemicals problem are given in Table 18.2.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-9
Constraint 1 is not binding, and its dual price is zero. The dual price for constraint 2 shows
that the marginal cost of increasing the total production requirement is $4 per unit. Finally,
the dual price of one for the third constraint shows that the per-unit value of additional pro-
cessing time is $1.
Range of Feasibility As we have just seen, the z j row in the final simplex tableau can be
used to determine the dual price and, as a result, predict the change in the value of the ob-
jective function corresponding to a unit change in a bi. This interpretation is only valid, how-
A change in bi does not ever, as long as the change in bi is not large enough to make the current basic solution
affect optimality (cj zj is infeasible. Thus, we will be interested in calculating a range of values over which a particu-
unchanged), but it does lar bi can vary without any of the current basic variables becoming infeasible (i.e., less than
affect feasibility. One of the
current basic variables may
zero). This range of values will be referred to as the range of feasibility.
become negative. To demonstrate the effect of changing a bi , consider increasing the amount of assem-
bly time available in the HighTech problem from 150 to 160 hours. Will the current basis
still yield a feasible solution? If so, given the dual price of $2.80 for the assembly time
constraint, we can expect an increase in the value of the solution of 10(2.80) 28. The fi-
nal simplex tableau corresponding to an increase in the assembly time of 10 hours is
shown here.
x1 x2 s1 s2 s3
Basis cB 50 40 0 0 0
The same basis, consisting of the basic variables x 2 , s2 , and x1, is feasible because all
the basic variables are nonnegative. Note also that, just as we predicted using the dual
price, the value of the optimal solution has increased by 10($2.80) $28, from $1980
to $2008.
You may wonder whether we had to re-solve the problem completely to find this new
solution. The answer is no! The only changes in the final simplex tableau (as compared
with the final simplex tableau with b1 150) are the differences in the values of the basic
variables and the value of the objective function. That is, only the last column of the sim-
plex tableau changed. The entries in this new last column of the simplex tableau were
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-10
obtained by adding 10 times the first four entries in the s1 column to the last column in the
previous tableau:
Old Change s1 New
solution in b1 column solution
12 ⁸₂₅ 15.2
New 8 ⁸₂₅ 4.8
D T 10 D T D T
solution 30 ⁵₂₅ 28.0
1980 ¹⁴₅ 2008
Let us now consider why this procedure can be used to find the new solution. First, re-
call that each of the coefficients in the s1 column indicates the amount of decrease in a basic
variable that would result from increasing s1 by one unit. In other words, these coefficients
tell us how many units of each of the current basic variables will be driven out of solution
if one unit of variable s1 is brought into solution. Bringing one unit of s1 into solution, how-
ever, is the same as reducing the availability of assembly time (decreasing b1 ) by one unit;
increasing b1, the available assembly time, by one unit has just the opposite effect. There-
fore, the entries in the s1 column can also be interpreted as the changes in the values of the
current basic variables corresponding to a one-unit increase in b1.
To practice finding the new The change in the value of the objective function corresponding to a one-unit increase in
solution after a change in a b1 is given by the value of z j in that column (the dual price). In the foregoing case, the avail-
right-hand side without
ability of assembly time increased by 10 units; thus, we multiplied the first four entries in the
re-solving the problem when
the same basis remains s1 column by 10 to obtain the change in the value of the basic variables and the optimal value.
feasible, try Problem 3, How do we know when a change in b1 is so large that the current basis will become in-
parts (d) and (e). feasible? We shall first answer this question specifically for the HighTech Industries prob-
lem and then state the general procedure for less-than-or-equal-to constraints. The approach
taken with greater-than-or-equal-to and equality constraints will then be discussed.
We begin by showing how to compute upper and lower bounds for the maximum amount
that b1 can be changed before the current optimal basis becomes infeasible. We have seen how to
find the new basic feasible solution values given a 10-unit increase in b1. In general, given a
change in b1 of b1, the new values for the basic variables in the HighTech problem are given by
As long as the new value of each basic variable remains nonnegative, the current basis
will remain feasible and therefore optimal. We can keep the basic variables nonnegative by
limiting the change in b1 (i.e., b1) so that we satisfy each of the following conditions:
The left-hand sides of these inequalities represent the new values of the basic variables after
b1 has been changed by b1.
Solving for b1 in inequalities (18.7), (18.8), and (18.9), we obtain
Because all three inequalities must be satisfied, the most restrictive limits on b1 must be sat-
isfied for all the current basic variables to remain nonnegative. Therefore, b1 must satisfy
The initial amount of assembly time available was 150 hours. Therefore, b1 150 b1,
where b1 is the amount of assembly time available. We add 150 to each of the three terms in
expression (18.10) to obtain
Replacing 150 b1 with b1, we obtain the range of feasibility for b1:
112.5 b1 175
This range of feasibility for b1 indicates that as long as the available assembly time is be-
tween 112.5 and 175 hours, the current optimal basis will remain feasible, which is why we
call this range the range of feasibility.
Because the dual price for b1 (assembly time) is ¹⁴⁄₅ , we know profit can be increased by
$2.80 by obtaining an additional hour of assembly time. Suppose then that we increase b1
by 25; that is, we increase b1 to the upper limit of its range of feasibility, 175. The profit
will increase to $1980 ($2.80)25 $2050, and the values of the optimal basic variables
become
x 2 12 25(⁸₂₅) 20
s2 8 25(⁸₂₅) 0
x1 30 25(⁵₂₅) 25
What happened to the solution? The increased assembly time caused a revision in the
optimal production plan. HighTech should produce more of the Portable and less of the
Deskpro. Overall, the profit will be increased by ($2.80)(25) $70. Note that although
the optimal solution changed, the basic variables that were optimal before are still optimal.
The procedure for determining the range of feasibility has been illustrated with the
assembly time constraint. The procedure for calculating the range of feasibility for the
right-hand side of any less-than-or-equal-to constraint is the same. The first step for a
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-12
general constraint i is to calculate the range of values for bi that satisfies the following
inequalities.
b̄1 ā 1j 0
b̄2 ā 2 j 0
. . .
F V bi F V F V (18.12)
. . .
. . .
b̄m ā m j 0
Current solution Column of the final simplex
(last column of tableau corresponding to the
the final simplex slack variable associated
tableau) with constraint i
The inequalities are used to identify lower and upper limits on bi. The range of feasibil-
ity can then be established by the maximum of the lower limits and the minimum of the
upper limits.
Similar arguments can be used to develop a procedure for determining the range of feasi-
bility for the right-hand-side value of a greater-than-or-equal-to constraint. Essentially the pro-
cedure is the same, with the column corresponding to the surplus variable associated with the
constraint playing the central role. For a general greater-than-or-equal-to constraint i, we first
calculate the range of values for bi that satisfy the inequalities shown in inequality (18.13).
b̄1 ā 1j 0
b̄2 ā 2 j 0
. . .
F V bi F V F V (18.13)
. . .
. . .
b̄m ā m j 0
Once again, these inequalities establish lower and upper limits on bi. Given these limits,
the range of feasibility is easily determined.
Try Problem 4 to make sure A range of feasibility for the right-hand side of an equality constraint can also be com-
you can compute the range puted. To do so for equality constraint i, one could use the column of the final simplex tableau
of feasibility by working corresponding to the artificial variable associated with constraint i in equation (18.12). Be-
with the final simplex
tableau.
cause we have suggested dropping the artificial variable columns from the simplex tableau
as soon as the artificial variable becomes nonbasic, these columns will not be available in
the final tableau. Thus, more involved calculations are required to compute a range of feasi-
bility for equality constraints. Details may be found in more advanced texts.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-13
Changes that force bi As long as the change in a right-hand-side value is such that bi stays within its range of
outside its range of feasibility, the same basis will remain feasible and optimal. Changes that force bi outside its
feasibility are normally
range of feasibility will force us to re-solve the problem to find the new optimal solution con-
accompanied by changes in
the dual prices. sisting of a different set of basic variables. (More advanced linear programming texts show
how it can be done without completely re-solving the problem.) In any case, the calculation
of the range of feasibility for each bi is valuable management information and should be in-
cluded as part of the management report on any linear programming project. The range of
feasibility is typically made available as part of the computer solution to the problem.
Simultaneous Changes
In reviewing the procedures for developing the range of optimality and the range of feasibility,
we note that only one coefficient at a time was permitted to vary. Our statements concerning
changes within these ranges were made with the understanding that no other coefficients are
permitted to change. However, sometimes we can make the same statements when either two
or more objective function coefficients or two or more right-hand sides are varied simultane-
ously. When the simultaneous changes satisfy the 100 percent rule, the same statements are ap-
plicable. The 100 percent rule was explained in Chapter 3, but we will briefly review it here.
Let us define allowable increase as the amount a coefficient can be increased before
reaching the upper limit of its range, and allowable decrease as the amount a coefficient can
be decreased before reaching the lower limit of its range. Now suppose simultaneous
changes are made in two or more objective function coefficients. For each coefficient
changed, we compute the percentage of the allowable increase, or allowable decrease,
represented by the change. If the sum of the percentages for all changes does not exceed
100 percent, we say that the 100 percent rule is satisfied and that the simultaneous changes
will not cause a change in the optimal solution. However, just as with a single objective
function coefficient change, the value of the solution will change because of the change in
the coefficients.
Similarly, if two or more changes in constraint right-hand-side values are made, we
again compute the percentage of allowable increase or allowable decrease represented by
each change. If the sum of the percentages for all changes does not exceed 100 percent, we
say that the 100 percent rule is satisfied. The dual prices are then valid for determining the
change in value of the objective function associated with the right-hand-side changes.
1. Sometimes, interpreting dual prices and choos- 2. The Notes and Comments in Chapter 3 concern-
ing the appropriate sign can be confusing. It ing sensitivity analysis are also applicable here.
often helps to think of this process as fol- In particular, recall that the 100 percent rule can-
lows. Relaxing a constraint means decreas- not be applied to simultaneous changes in the
ing its right-hand side, and relaxing a con- objective function and the right-hand sides; it
straint means increasing its right-hand side. applies only to simultaneous changes in one or
Relaxing a constraint permits improvement in the other. Also note that this rule does not mean
value; restricting a constraint (decreasing the that simultaneous changes that do not satisfy the
right-hand side of a constraint or increasing rule will necessarily cause a change in the solu-
the right-hand side of a constraint) has the tion. For instance, any proportional change in
opposite effect. In every case, the absolute all the objective function coefficients will leave
value of the dual price gives the improvement the optimal solution unchanged, and any pro-
in the optimal value associated with relaxing portional change in all the right-hand sides will
the constraint. leave the dual prices unchanged.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-14
18.2 DUALITY
Every linear programming problem has an associated linear programming problem called
the dual problem. Referring to the original formulation of the linear programming prob-
lem as the primal problem, we will see how the primal can be converted into its corre-
sponding dual. Then we will solve the dual linear programming problem and interpret the
results. A fundamental property of the primal-dual relationship is that the optimal solution
to either the primal or the dual problem also provides the optimal solution to the other. In
cases where the primal and the dual problems differ in terms of computational difficulty,
we can choose the easier problem to solve.
Let us return to the HighTech Industries problem. The original formulation—the primal
problem—is as follows:
This canonical form for a minimization problem is a minimization problem with all
greater-than-or-equal-to constraints and nonnegativity requirements for the variables. Thus,
the dual of a maximization problem in canonical form is a minimization problem in canoni-
cal form. The variables u1, u 2 , and u 3 are referred to as dual variables.
With the preceding example in mind, we make the following general statements about
the dual of a maximization problem in canonical form.
4. The right-hand sides of the primal constraints become the objective function coef-
ficients in the dual.
5. The objective function coefficients of the primal become the right-hand sides of the
dual constraints.
6. The constraint coefficients of the ith primal variable become the coefficients in the
ith constraint of the dual.
Try part (a) of Problem 17 These six statements are the general requirements that must be satisfied when convert-
for practice in finding the ing a maximization problem in canonical form to its associated dual: a minimization prob-
dual of a maximization
lem in canonical form. Even though these requirements may seem cumbersome at first,
problem in canonical form.
practice with a few simple problems will show that the primal-dual conversion process is
relatively easy to implement.
We have formulated the HighTech dual linear programming problem, so let us now pro-
ceed to solve it. With three variables in the dual, we will use the simplex method. After sub-
tracting surplus variables s1 and s2 to obtain the standard form, adding artificial variables a1
and a2 to obtain the tableau form, and multiplying the objective function by 1 to convert
the dual problem to an equivalent maximization problem, we arrive at the following initial
simplex tableau.
u1 u2 u3 s1 s2 a1 a2
a1 M 3 0
8 1 0 1 0 50
a2 M 5 1 5 0 1 0 1 40
At the first iteration, u 3 is brought into the basis, and a1 is removed. At the second iter-
ation, u1 is brought into the basis, and a 2 is removed. At this point, the simplex tableau ap-
pears as follows.
u1 u2 u3 s1 s2
Because all the entries in the net evaluation row are less than or equal to zero, the op-
timal solution has been reached; it is u1 ¹⁴⁄₅ , u 2 0, u 3 ²⁶⁄₅ , s1 0, and s2 0. We have
been maximizing the negative of the dual objective function; therefore, the value of the ob-
jective function for the optimal dual solution must be (1980) 1980.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-16
The final simplex tableau for the original HighTech Industries problem is shown here.
x1 x2 s1 s2 s3
Basis cB 50 40 0 0 0
x2 40 0 1 ⁸⁄₂₅ 0 ³⁄₂₅ 12
s2 0 0 0 ⁸⁄₂₅ 1 ³⁄₂₅ 8
x1 50 1 0 ⁵⁄₂₅ 0 ⁵⁄₂₅ 30
Property 1
If the dual problem has an optimal solution, the primal problem has an optimal solu-
tion, and vice versa. Furthermore, the values of the optimal solutions to the dual and
primal problems are equal.
This property tells us that if we solved only the dual problem, we would know that High-
Tech could make a maximum of $1980.
Using equation (18.14), let us restrict our interest to the interpretation of the primal objec-
tive function. With x1 and x 2 as the number of units of the Deskpro and the Portable that are
assembled respectively, we have
Dollar value Number of Dollar value Number of Total dollar
per unit of units of per unit of units of value of
Deskpro Deskpro Portable Portable production
From equation (18.15), we see that the coefficients of the dual objective function (150, 20,
and 300) can be interpreted as the number of units of resources available. Thus, because the
primal and dual objective functions are equal at optimality, we have
Units of Units of Units of
Total dollar value
resource u1 resource u 2 resource u3
of production
1 2 3
Thus, we see that the dual variables must carry the interpretations of being the value per
unit of resource. For the HighTech problem,
Have we attempted to identify the value of these resources previously? Recall that in
Section 18.1, when we considered sensitivity analysis of the right-hand sides, we identified
the value of an additional unit of each resource. These values were called dual prices and
are helpful to the decision maker in determining whether additional units of the resources
should be made available.
The analysis in Section 18.1 led to the following dual prices for the resources in the
HighTech problem.
The dual variables are the Let us now return to the optimal solution for the HighTech dual problem. The values of
shadow prices, but in a the dual variables at the optimal solution are u1 ¹⁴⁄₅ 2.80, u 2 0, and u 3 ²⁶⁄₅ 5.20.
maximization problem, they
For this maximization problem, the values of the dual variables and the dual prices are the
also equal the dual prices.
For a minimization same. For a minimization problem, the dual prices and the dual variables are the same in
problem, the dual prices absolute value but have opposite signs. Thus, the optimal values of the dual variables iden-
are the negative of the dual tify the dual prices of each additional resource or input unit at the optimal solution.
variables. In light of the preceding discussion, the following interpretation of the primal and dual
problems can be made when the primal is a product-mix problem.
Primal Problem Given a per-unit value of each product, determine how much of each
should be produced to maximize the value of the total production. Constraints require the
amount of each resource used to be less than or equal to the amount available.
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-18
Dual Problem Given the availability of each resource, determine the per-unit value such
that the total value of the resources used is minimized. Constraints require the resource
value per unit be greater than or equal to the value of each unit of output.
Property 2
Given the simplex tableau corresponding to the optimal dual solution, the optimal
values of the primal decision variables are given by the z j entries for the surplus vari-
ables; furthermore, the optimal values of the primal slack variables are given by the
negative of the cj z j entries for the u j variables.
To test your ability to find This property enables us to use the final simplex tableau for the dual of the HighTech
the primal solution from the problem to determine the optimal primal solution of x1 30 units of the Deskpro and
optimal simplex tableau for x 2 12 units of the Portable. These optimal values of x1 and x 2 , as well as the values for
the dual and interpret the
dual variables, try parts (b)
all primal slack variables, are given in the z j and cj z j rows of the final simplex tableau
and (c) of Problem 17. of the dual problem, which is shown again here.
u1 u2 u3 s1 s2
in canonical form is also easy. Consider the following linear program in canonical form for
a minimization problem:
Min 6x1 2x 2
s.t.
5x1 1x 2 13
3x1 7x 2 9
x1, x 2 0
Max 13u1 9u 2
s.t.
5u1 3u 2 6
1u1 7u 2 2
u1, u 2 0
Try Problem 18 for practice Although we could state a special set of rules for converting each type of primal prob-
in finding the dual of a lem into its associated dual, we believe it is easier to first convert any primal problem into
minimization problem in
an equivalent problem in canonical form. Then, we follow the procedures already estab-
canonical form.
lished for finding the dual of a maximization or minimization problem in canonical form.
Let us illustrate the procedure for finding the dual of any linear programming problem
by finding the dual of the following minimization problem:
Min 2x1 3x 2
s.t.
1x1 2x 2 12
4x1 2x 2 3
6x1 1x 2 10
x1, x 2 0
For this minimization problem, we obtain the canonical form by converting all constraints
to greater-than-or-equal-to form. The necessary steps are as follows:
Step 1. Convert the first constraint to greater-than-or-equal-to form by multiplying
both sides of the inequality by (1). Doing so yields
x1 2x 2 12
6x1 1x 2 10
6x1 1x 2 10
6x1 1x 2 10
6x1 1x 2 10
99790_18_ch18_p001-030.qxd 03/08/2007 04:29 PM Page 18-20
Now the original primal problem has been restated in the following equiva-
lent form:
Min 2x1 3x 2
s.t.
1x1 2x 2 12
4x1 2x 2 3
6x1 1x 2 10
6x1 1x 2 10
x1, x 2 0
With the primal problem now in canonical form for a minimization problem,
we can easily convert to the dual problem using the primal-dual procedure pre-
sented earlier in this section. The dual becomes2
The equality constraint required two constraints, so we denoted the dual variables asso-
ciated with these constraints as u3 and u3. This notation reminds us that u3 and u3 both re-
Can you write the dual of fer to the third constraint in the initial primal problem. Because two dual variables are
any linear programming associated with an equality constraint, the interpretation of the dual variable must be modi-
problem? Try Problem 19.
fied slightly. The dual variable for the equality constraint 6x1 1x 2 10 is given by the value
of u3 u3 in the optimal solution to the dual. Hence, the dual variable for an equality con-
straint can be negative.