Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

19

LINEAR PROGRAMMING (continued)

19.1 Duality

Hitherto, we have discussed maximization and minimization linear programs as


two separate types of problems. But, actually, corresponding to every min-
imization program (to minimize C), there always exists a counterpart maximiza-
tion program (to maximize a new variable, C*), with the property that C* = C.
Similarly, for every π-maximization program, there always exists a counterpart
π*-minimization program such that π̄* = π̄. The original linear program is
usually referred to as the primal program (or simply the primal), and its counter-
part is known as the dual program (or dual, for short). In view of this, minimiza-
tion and maximization programs are really not so disjunct as they were implied
to be. In fact, since the optimal values of the objective functions in the primal
and in the dual are always identical, we now have the option of picking the
easier of the two programs to work with; as we shall see, it is always possible
also to translate the solution values of the dual-program variables into those of
the primal-program variables, and vice versa.

the dual program For a clear distinction, let us denote the choice variables
of the primal by xj (as we did), and the choice variables of the dual by yi. The
structures of the primal and the dual are then related to each other as shown
in the following two examples.

Linear Programming (continued) 625


Example 1
Prim al Dual
Maximize π 3x1 4 x2 3x3 Minimize π* 12 y1 42 y2
x1 1 2 3
1 1 3 12 y1
subject t o x2 subject t o 1 4 4
2 4 1 42 y
x3 3 1 2 3
and x1 , x2 , x3 0 and y1 , y2 0
Example 2
Prim al Dual
Minimize C 4 x1 3x2 8 x3 Maximize C* 2 y1 5 y2
x1 1 0 4
1 0 1 2 y
subject t o x2 subject t o 0 1 1 3
0 1 2 5 y2
x3 1 2 8
and x1 , x2 , x3 0 and y1 , y2 0
Briefly,   the   rules   of   transformation   are   these:   (1)   Change   “maximize”   to  
“minimize,”   and   vice   versa.   (Attach an asterisk to the maximand or minimand
of the primal to make it a dual minimand or maximand.) (2) The inequality signs
in the primal constraints must be reversed in the dual constraints, although the
≥   signs  in   the  nonnegativity   restrictions  are  never   altered.  (3)  As  the   coefficient  
matrix for the dual constraints, take the transpose of the coefficient matrix of
the primal constraints. (4) The row vector of coefficients in the primal objective
function is, after it is transposed, taken to be the column vector of constants in
the dual constraints. Similarly, the column vector of constants in the primal
constraints, after it is transposed, becomes the row vector of coefficients in the
dual objective function.
From these rules of transformation, the reader should be able to deduce
that the dual of a dual program is the primal itself, provided that we now convert
y to x instead and delete (rather than attach) the asterisk in the objective
function.
To generalize from the two examples cited above, we may relate the primal
and dual programs in matrix notation as follows:
Prim al Dual
Maximize π c' x Minimize π* r ' y
subject t o Ax r subject t o A' y c
and x 0 and y 0
Prim al Dual
Minimize C c' x Maximize C* r ' y
subject t o Ax r subject t o A' y c
and x 0 and y 0

626 Mathematical Programming and Game Theory


Note that if the primal has m constraints and n choice variables, so that the
matrix A is m × n, then the dual will have n constraints and m choice variables
because the matrix A', being the transpose of A, is n × m. The dimensions of the
other matrices appearing in the primal program are as follows: c' is 1 × n; x is n ×
1; and r is m × 1, as shown in (18.5). The vector y in the dual is m × 1.
The fact that the primal and the dual may contain different numbers of
constraints and choice variables is why there may be different degrees of ease in
their solution. In the two examples above, the primals (with three variables) are
not easily solved graphically; but since there are only two variables in the duals,
these lend themselves easily to graphical solution. Moreover, even when both the
primal and the dual are nongraphable, so that the simplex algorithm must be
resorted to anyway, we may still wish to select whichever program has
less constraints, because the fewer the constraints, the smaller the dimension of the
basis will be and the fewer the dummy variables we must add. And, finally, even
when the primal and the dual have an equal (or nearly equal) number of con-
straints, we may find it easier to take the maximization program, because
the latter would normally contain a ready-made initial BFS, so that there is no
need to bother with artificial variables.

duality theorems Although it affords a degree of freedom, this option to


choose also raises a problem: If we decide to work with the dual, the solution
will consist of the values of yi (and, say, C*); but if our real concern is with the
primal solution values xj (and C), how can we infer the primal solution from the
dual solution and vice versa? The answer to this lies in the following two theorems.

DUALITY THEOREM I The optimal values of the primal and the dual
objective functions are always identical, provided that optimal feasible solutions
do exist; that is, C̄ = C̄* and π̄ = π̄*.

DUALITY THEOREM II (a) If a certain choice variable in a linear program


is optimally nonzero, then the corresponding dummy variable in the counterpart
program must be optimally zero. That is (using si to denote the ith primal dummy
variable, and tj to denote the jth dual dummy variable),

yi 0 si 0 and x j 0 tj 0

(b) If a certain dummy variable in a linear program is optimally nonzero, then


the corresponding choice variable in the counterpart program must be optimally
zero. That is,

Linear Programming (continued) 627


si 0 yi 0 and t j 0 xj 0†
According to the first theorem, the choice between the primal and the dual
is immaterial as far as the optimal value of the objective function is concerned.
And by virtue of the second theorem, which states the so-called complementary-
slackness relationship between the choice variables of one program and the
dummy variables of the other, the optimal solution obtained for a given linear
program will provide sufficient information for us to work out the optimal
solution of the counterpart program.

solving the primal via the dual Let us now illustrate the application of
the duality theorems by using Example 1 above. Since the dual program in that
example, with only two choice variables, can be solved graphically, let us first
find the dual optimal solution by graph and then determine the primal optimal
solution by means of the duality theorems.
As the reader can verify, the graphical analysis of the dual yields the
following information:
( y1, y2 ) (2,½)
so, from the objective function, we can readily calculate that
π * 12(2) 42(½) 45
Furthermore, when the yi values are substituted into the dual constraints, the
first two constraints are seen to reduce to two equations, whereas the third
constraint reduces to a strict inequality. Thus, t 1 = t 2 = 0, whereas t 3 > 0. On

A feel for the rationale behind the duality theorems can be obtained from the following considerations. The
constraint of the primal (the maximization version) can be expressed as
Ax + s = r (s ≥  0)
Premultiplying by y', we have
y'Ax + y's = y'r (= r'y = π*)
Similarly, the dual constraint can be written as A'y ‒  t = c (t ≥  0).  Premultiplying  by  x', and taking the transpose
of every term, we have
y'Ax ‒  t'x = c'x (= π)
When we subtract π from π*, we find
π* ‒  π = y's + t'x ≥  0 [by nonnegativity]
Thus π can never exceed π*. But when π* is minimized and π is maximized, the two values should be equal; this
underlies the result π = π* of Theorem I. Next, since π = π*, we must find in a pair of optimal solutions that
y' s + t ' x = 0, or
(y1 s1 + ... + yms m) + (t 1x1 + ... + t nxn) = 0
In view of the nonnegativity restrictions, the only way to satisfy this equation is to have each of the m + n terms
individually equal to zero. This leads to the result in Theorem II. (The reasoning would be analogous if we started
with the minimization version of the primal instead.)

628 Mathematical Programming and Game Theory


the basis of this information about the deal, we should be able to find the optimal
solution of the primal.
Since y1 and y2 are both nonzero, we must have s 1 = s 2 = 0 by the
complementary-slackness relationship given in Duality Theorem II, so that the
first two (the only two) primal constraints must optimally be strict equalities.
Moreover, since t 3 > 0, it follows that x3 = 0. Thus the constraint section of
the primal program in Example 1 will appear in the optimal solution as follows:
x1
1 1 3 12 1 1 x1 12
(19.1) x2 or
2 4 1 42 2 4 x2 42
0

whence we have x1 = 3 and x2 = 9. We may therefore express the solution


values of the primal choice variables by the equation

(19.2) ( x1, x2 , x3 ) (3,9,0)

This completes the translation from yi to xj.


The value of π, according to Duality Theorem 1, should be 45. If we
substituted the xj values into the primal objective function, the answer will
indeed check: π = 3(3) + 4(9) + 0 = 45.
A particularly remarkable and useful fact concerning the duality of linear
programs is that, if the dual is solved by the simplex algorithm (rather than by
graph), we can in fact directly read from its optimal (final) tableau the primal
optimal solution as well as that of the dual! This being so, the translation from
yi to xj now indeed becomes automatic.
Let us illustrate with the optimal tableau for the dual program of Example
1, which is shown in Table 19.1. From the four unit vectors in this tableau, the
dual optimal solution can easily be read off as

(π , y1, y2 , t3 ) (45,2,1/2, 7/2)

where ¯t 3 denotes the third dual dummy variable.

TABLE 19.1
Row π* y1 y1 t1 t2 t3 v1 v2 v3 Constant

0 1 0 0 –3 0 0 45
Not relevant,
11 7
1 0 0 0 – /2 0 0 therefore /2
1 omitted. 1
2 0 0 1 /2 –1 0 /2

3 0 1 0 –2 0 –1 2

Linear Programming (continued) 629


Those four figures are, of course, all taken from the constant column.
However, if we look instead in row 0 under the dummy-variable columns and
take the absolute values of the three entries in the broken rectangle, we get the
numbers 3, 9, and 0, which are precisely the values of x1, x2 and x3 in (19
2), arranged in the proper order.1 As a general rule, we can always associate the tj
columns of a dual optimal tableau with the xj variables and can read the absolute
values of the top elements thereof as the optimal values of the primal
choice variables.2 Furthermore, we can also associate the yi columns with the primal
dummy variables and can read the absolute values of the top elements in those
columns as the values of s i. In Table 19.1, the two zeroes in the broken ellipse
in row 0 indicate that s 1 = s 2 = 0, which we already know to be true. Since,
in addition, the boxed element in the constant column also tells the value of π
by virtue of Duality Theorem I, all the relevant information concerning the
primal optimal solution can be gathered by reading row 0 of the dual optimal
tableau! And by analogy, it is also possible to read the dual optimal solution
from row 0 of a given primal optimal tableau.
This extremely convenient result conforms perfectly in its essence to
Duality Theorem II. Any dual variable that takes a nonzero value in the optimal
solution —here, y1, y2, and t3—must be characterized by a unit column vector in
the optimal tableau. Since the π* column has preempted the e1 type of unit
vector (with the unit element on top), the unit vectors in the y1, y2, and t3
columns must have a zero top element. According to the method just expounded,
we may therefore deduce that s 1 = s 2 = x3 = 0. But this conclusion is precisely
what Duality Theorem II is purported to show. Similarly, by converse application
of the method, the fact that x1 and x2 are nonzero (in the primal optimal tableau)
will imply that t 1 and t 2 must be zero; this will prevent the t1, and t2 columns in
Table 19.1 from being unit vectors.

19.2 Economic Interpretation of a Dual

That the dual of a linear program can serve as a computational stand-in for the
primal is now clear. In most cases, however, a dual program may also possess a
distinct and significant economic meaning of its own.

1
Taking the absolute values is a necessary step because xj must be nonnegative.
2
Since the number of dual dummy variables is by construction identical with the number of primal choice
variables, no dimensional problem ever arises in this procedure.

630 Mathematical Programming and Game Theory


dual of the production program Let us first interpret the dual program
of the production problem. In the simple two-product two-constraint case, the
primal is in the form
Maximize π c1 x1 c2 x2
a11 a12 x1 r1
subject t o
a21 a22 x2 r2
and x1 , x2 0

Accordingly, the dual can be written as


Minimize π* r1 y1 r2 y2
a11 a21 y1 c1
(19.3) subject t o
a12 a22 y2 c2
and y1 , y2 0

Before we can properly interpret the dual, we must first clarify the general
nature of the dual variables, including their unit of measure. In the primal, π
denotes total gross profits in dollars.1 In view of the fact that π* = π, the symbol
π* in the dual should also be in dollars, as must be the expression r1y1 + r2y2
as well. Since the symbol ri refers to the total quantity of the ith resource in the
firm’s   fixed   plant   (labeled   in   an   earlier   example   as   the   capacity of the ith
production department), the symbol yi must obviously be expressed in units of
dollars per units of the ith resource, for only then will each term ri yi come out
in dollar units. That is to say, yi must signify some kind of valuation of the
resource in question.
However, this value is obviously not a market price; rather, it is a value
to be imputed to the resource. For this reason, the value of yi is referred to in
the literature as an accounting price, or shadow price, for the ith resource. We
shall find it expedient to regard yi alternatively as representing the opportunity
cost of using the ith resource.
Let us examine the three ingredients parts of the dual program in this
light. First, what the nonnegativity restrictions yi ≥   0   means   is   that we are
forbidden to impute to any resource a value (opportunity cost) of less than zero.
This is certainly an economically sensible requirement. In fact, we should always
impute a positive value to a resource, unless the latter happens not to be
fully utilized, so that a nil opportunity cost is incurred in putting it to productive use.
This means that a positive opportunity cost for a resource (yi > 0) is always to
be associated with the full utilization of the resource in the optimal solution

1
As explained in Sec. Errore. L'origine riferimento non è stata trovata., the total gross profit means here
the total sales receipts less the variable costs, but before deducting any fixed costs.

Linear Programming (continued) 631


(s̄ i = 0). The reader will note that, by this line of interpretation, we are once
again led back to the second duality theorem, which—heretofore only mathe-
matically interpreted—has now acquired an economic connotation.
Turning next to the constraints in the dual, let us specifically examine the first
constraint in (19.3):
(19.4) a11y1 a21y2 c1
Since the coefficient aij denotes the amount of the ith resource used in producing a
unit of the jth product, the left side of (19.4) represents the total opportunity
cost of production of a unit of the first product (j = 1). The right-hand term c1
denotes the per-unit gross profit of the first product. Thus, what this constraint re-
quires is that the opportunity cost of production be imputed at a level at least
as large as the gross profit from the product.
Now,   a   moment’s   reflection   will   indicate   that   if   the   opportunity   cost   of
production is actually to exceed the profit, then the resource allocation must
certainly be nonoptimal because, simply by dropping the first product, resources
will be release therefrom that can immediately be utilized to better advantage
elsewhere. Mathematically, if   the   >   part   of   the   ≥   sign   in   (19.4) holds in the
optimal solution, then the first product should not produced (x1 = 0). On
the contrary, if the first product is actually produced, i.e., if x1 ≠   0,   then   the
opportunity cost of production must be exactly equal to the gross profit, and the
=   part   of   the   ≥   sign   in   (19.4) must hold in the optimal solution. In short,
t 1 > 0 => x1 = 0, and x1 > 0 => t 1 = 0. This, however, is again merely a
restatement of Duality Theorem II. The second constraint in (19.3) can, of
course, be given an analogous interpretation.
Lastly, let us look at the dual objective function. Recalling that r1 and r2
are   the   total   quantities   of   available   resources   in   the   firm’s   fixed   plant,   the
expression
π* r1 y1 r2 y2
evidently denotes the total value to be imputed to those resources. It is the idea
of the dual program to minimize this total while fulfilling the constraints as
interpreted above. Thus, the correspondence between the primal and the dual
suggests that to maximize profit by finding the optimal output levels (the primal
program) is tantamount to minimizing the total imputed value or opportunity
cost of the resources in the plant, with the proviso that the opportunity cost of
production of each product must be no less than the gross profit from that
product. And the fact that π* = π means that, in the optimal solution, the total
gross profit must be imputed or allocated in its entirety to the resources in the
plant via the shadow prices. This completes the economic interpretation of
the dual.

632 Mathematical Programming and Game Theory


For simplicity, we have cast the production problem in the simple two-
product two-resource mold. But since the reasoning employed in the foregoing
discussion does not depend on the assumption that m = n = 2, the opportunity-
cost interpretation of the dual can readily be generalized to the m-resource
n-product framework as well.

dual of the diet problem By analogous reasoning, the choice variables in


the dual of the diet problem can also be given an imputed-value interpretation.
The general diet program is, in matrix notation,
Minimize C c' x
subject t o Ax r
and x 0

where C is the total cost of the diet, c' is the row vector of food prices, x is the
column vector of food quantities, A is the matrix of coefficients aij (the amount
of the ith nutrient contained in the jth food), and r is the column vector of
minimum nutrient requirements. Accordingly, its dual can be written a
Maximize C* r ' y
subject t o A' y c
and y 0

where y is the column vector of the dual choice variables.


Inasmuch as C is in dollar units, its dual counterpart C* must also be in
dollars. But the elements of vector r' are in physical units of the respective
nutrients, so that the elements of vector y should be in units of dollars per unit
of the respective nutrients. In other words, the dual choice variables are again
in the nature of some kind of valuation; this time they denote the imputed
values of the various nutrients. As such, they are never allowed to be negative.
In this light, each dual constraint may be construed to mean that the total
value imputed to the nutrients contained in one unit of every food should be no
greater than the price of that food. Actually, common sense will forbid us to buy
the jth food if the price exceeds the imputed value of its nutrient content, because
we   would   not   be  getting   our   money’s  worth.   Therefore,   in   the  optimal   solution,  
we shall buy only those foods for which the imputed values of their respective nu-
trient contents are exactly equal to their respective prices. The astute reader will
observe that this is again a case of Duality Theorem II at work.
As the objective of this dual program, we seek to maximize the total
imputed value of the minimum nutrient requirements, subject to the above-cited
constraints. When this maximum is attained, we shall have in effect succeeded

Linear Programming (continued) 633


also in minimizing the cost of our diet while satisfying all the minimum nutrient
requirements.

634 Mathematical Programming and Game Theory

You might also like