Anda di halaman 1dari 9

Duality Theory

In this chapter we examine a theory that has proved useful in many ways, particularly in
sensitivity analysis and economic interpretation. The most efficient notation we can use for this
presentation is matrix notation. Thus we define the following symbols:
x is an n× 1 vector of the decision variables x1 , x 2 ,  , x n .
c is an n× 1 vector of the objective function coefficients for decision variables.
A is an m× n matrix of coefficients of the decision variables in the structural constraints.
b is an m× 1 vector of the right hand side constants for the structural constraints.
0 is a vector of zeros; its dimension varies to conform to how it is employed.
z is the scalar criterion value.
Given this notation along with the transpose operator (T) a linear programming problem in
canonical form may be expressed as follows:
Find x, and z to:
Maximize z = cTx
subject to: Ax ≤ b
x≥ 0
The data matrices for this problem are c, A, b, and 0. Using exactly the same data matrices, a
different criterion variable v, and a new decision vector, u, an m× 1 vector of decision variables
u1 , u 2 , , u m , we will define a different linear programming problem.

Find u, and v to:


Minimize v = bTu
subject to: ATu ≥ c
u≥ 0
This new problem is called the dual problem and the original problem is called the primal
problem. What is interesting about the primal-dual pair of problems are the relationships they
have with each other. The first such relationship is symmetry in formulation. For example, each
variable of one of the problems is associated with a particular constraint of the second problem.
For this reason a variable of one problem paired up with the slack of its corresponding constraint
of the other problem is called a complementary pair.
The second aspect of symmetry, which is more difficult to see immediately, is that if we were to
formulate a dual of the dual problem, the result would be a problem that is equivalent to the
primal problem. To demonstrate this we will need to first put the dual problem into canonical
form by changing it to a max problem and changing the direction of the structural inequalities.
The dual in canonical form is as follows:
Find u and v to:
Maximize -v = −bTu
subject to: −
A u ≤ −c
T

u ≥ 0
Since there are n structural constraints for this problem we need to define an n× 1 vector of new
dual variables, denote this vector w. Also we shall denote the new dual criterion by y. Now the
dual of the dual may be written as follows:
Find w and y to:
Minimize y = −cTw
subject to: −Aw ≥ −b
w ≥ 0
Now we let y = − z and w = x and change variables in the model to obtain:
Find x and z to:
Minimize −y = −cTx
subject to: −Ax ≥ −b
x≥ 0
Now we change to a max and multiply the structural constraints through by −1. This yields:
Find x and z to:
Maximize z = cTx
subject to: Ax ≤ b
x≥ 0
Thus the primal problem is the dual problem of its dual problem.
To illustrate the process of writing the dual problem corresponding to a primal problem consider
a product mix problem in which we must decide how many units of each of three products we
should make each week. Assume that there are 80 hours of machine time available each week
and 480 labor hours available. In addition, 10 tons of raw materials are delivered to our facility
each week. Characteristics of the three products are given in the table below.

TABLE I
RESOURCE CONSUMPTION AND PROFIT BY PRODUCT

Product 1 Product 2 Product 3 The product


Machine (hours per unit) 3 5 4 mix
problem
Labor (hours per unit) 5 6 4 will be the
Raw materials (tons per unit) 1 0.5 0.7 primal
problem
Profit ($ per unit) 1,000 1,200 900 and it is
formulated
as follows:
Let x j = Number of units of product j produced each week
and z = Number of $ of weekly profit
Then the primal model in standard form is:
Find x1 , x 2 , x 3 and z to :
Maximize z =1000 x1 +1200 x 2 + 900 x3
s u b je c t :to 3x1 + 5 x2 + 4 x3 ≤ 8 0
5 x1 + 6 x2 + 4 x3 ≤ 4 8 0
1x1 + 0.5 x2 + 0.7 x3 ≤ 1 0
x j ≥ 0 fo r j = 1,2,3

The data matrices are defined as follows:


1000  3 5 4   80 
c =
1200
;
 A =
5 6 4 ; b = 
480  ;

 900 
 
1 0.5 0.7 
 
 10 

and the dual decision vector is defined as:

 u1 
u = u 2  ,
 
 u3 
which has one variable for each structural constraint in the primal problem. Note: Do not
assume that the number of dual variables is equal to the number of primal variables
because it happened in the example. The number of dual variables is always equal to the
number of primal structural constraints. In matrix form the dual model is as follows:
Find u and v to :
Minimize v = [ 80 480 10]u
subject to :
3 5 1  1000
5 6 0.5u ≥ 1200

4 4 0.7  900 

u≥0
Multiplying the matrices gives the dual problem written out term-by-term:

Find u1 , u 2 , u 3 and v to :
Minimize v = 80 u1 + 480 u 2 +10 u3

su b je c t :to 3u1 + 5u 2 + 1u3 ≥ 1 0 0 0


5u1 + 6u 2 + 0.5u3 ≥ 1 2 0 0
4u1 + 4u 2 + 0.7u3 ≥ 9 0 0
ui ≥ 0 fo ri = 1,2,3
Economic Interpretation of the Dual Problem
The economic interpretation of the dual problem depends on the economic situation embodied in
the primal problem. Therefore, we can only explore an approach for developing an economic
interpretation.
Thus, consider profit-maximization, product-mix, primal example:
Find x1 , x 2 , x 3 and z to :
Maximize z =1000 x1 +1200 x 2 + 900 x3

s u b je c t :to 3x1 + 5 x2 + 4 x3 ≤ 8 0
5 x1 + 6 x2 + 4 x3 ≤ 4 8 0
1x1 + 0.5 x2 + 0.7 x3 ≤ 1 0
x j ≥ 0 fo r j = 1,2,3
And its dual:
Find u1 , u 2 , u 3 and v to :
Minimize v = 80 u1 + 480 u 2 +10 u3

su b je c t :to 3u1 + 5u 2 + 1u3 ≥ 1 0 0 0


5u1 + 6u 2 + 0.5u3 ≥ 1 2 0 0
4u1 + 4u 2 + 0.7u3 ≥ 9 0 0
ui ≥ 0 fo ri = 1,2,3
The primal problem in this example represents a realistic situation so that the data and variables
in the model possess dimensional units and interpretations. The model maximizes profit subject
to constraints that prevent using more resources than are available. The question that should
come to the reader’s mind is, “What are the dimensional units of the dual variables and what is
the interpretation of the dual problem?” To gain insight into these questions, we start by
expressing the primal problem with dimensional units included in the model. For this we use the
abbreviation:
upi to represent the number of units of product i to be produced,
mhr to represent machine hours,
lhr to represent labor hours, and
$ to represent profit dollars.
Primal problem with dimensional units:
Find x1 , x 2 , x 3 and z to :
Maximize z ($ / wk ) = 1000 ($ / up1) x1 (up 1 / wk ) +1200 ($ / up 2) x 2 (up 2 / wk ) + 900 ($ / up 3) x3 (up 3 / wk )
subject to:
3( mhr / up1) x1 (up1 / wk ) + 5( mhr / up 2 ) x2 (up 2 / wk ) + 4( mhr / up 3) x3 (up 3 / wk ) ≤ 80( mhr / wk )
5(lhr / up1) x1 (up1 / wk ) + 6(lhr / up 2 ) x2 (up 2 / wk ) + 4(lhr / up 3) x3 (up 3 / wk ) ≤ 480 (lhr / wk )
1(tons / up1) x1 (up1 / wk ) + 0.5(tons / up 2 ) x2 (up 2 / wk ) + 0.7(tons / up 3) x3 (up 3 / wk ) ≤10(tons / wk )
x j ≥ 0 for j = 1,2,3
Now consider the first constraint of the dual problem with dimensional units placed on the data
only.
3( mhr / up 1)u1 +5( lhr / up 1)u 2 +1( tons / up 1)u 3 ≥1000 ($ / up 1)

Since the dimensional units on the left hand side of a constraint must match the dimensional
units on the right hand side of the constraint, then it is easily seen that the dimensional units for
u i must be $/mhr when i = 1, $/lhr when i = 2, and $/ton when i = 3. The reader should verify
that these dimensional units work out properly in the other two dual-problem constraints, and
check that they make sense when used in the objective function.
It is now possible to interpret the dual problem and its variables in the context of a product mix
primal problem. Each dual variable decides on a monetary value for one unit of each of the
resources consumed in the production of our products. In deciding on these values the dual
problem seeks to minimize the total value (in profit $) of all the resources that are available each
week. Each structural dual constraint ensures that the total value assigned to the resources used
by each unit of a product is at least as large as the profit earned by a unit of that product. The
value assigned by the dual problem to the resources is an internal value determined only by the
profit that can be generated by producing the products. In other words it is not a real value such
as the cost of buying the resource on the open market. The actual cost of the resources is
determined in the market places for labor, machines, and the raw material and has nothing to do
with the internal value decided by the dual problem.
However, we can create a story to go along with the dual problem as follows: Suppose that
another manufacturer wants to rent our machinery, rent our labor force, and buy our raw
materials from us. The manufacturer may prefer to buy the raw materials on the open market,
but since we have a long-term contract to take delivery of the raw material supply every week,
we would insist that she buy them from us as part of the rental deal. Similarly, she may prefer to
hire her own labor force, but out of loyalty to our employees we would insist that we keep them
on payroll and she simply rent the labor from us. A key question is what weekly rate above our
direct costs should the other manufacturer pay for the equipment, the labor and the materials? In
other words, what is the total direct profit we should receive from renting our resources instead
of using them to produce our products? The dual variables, then, are the decision variables to
answer that question. The dual objective function: v = 80 u1 + 480 u 2 +10 u3 represents the total
amount of profit, in excess or our direct cost, the manufacturer would pay to rent our equipment,
labor, and to buy our materials. Naturally, the other manufacturer would like to minimize that
total amount as is done in the dual problem. Now consider the dual constraints:
3u1 + 5u 2 + 1u3 ≥ 1 0 0 0
5u1 + 6u 2 + 0.5u3 ≥ 1 2 0 0
4u1 + 4u 2 + 0.7u3 ≥ 9 0 0
ui ≥ 0 fo ri = 1,2,3
The left hand side of the first constraint represents the profit (from renting) that would be made
on exactly those resources required to for us to manufacture one unit of product 1. The right
hand side of the constraint is the amount of profit we make from selling one unit of product 1.
So the constraint indicates that the vector of profits per unit of resource, (u1 , u 2 , u3 ) , must earn
at least as much profit on the resources required to make product 1 as the profit on product 1 —
otherwise, we would prefer not to rent out equipment and labor and sell the raw materials.
Similarly, constraints 2 and 3 ensure that the profit on renting resources needed to manufacture
products 2 and 3 is at least as good as the profit from selling the products.
Thus, the dual problem belongs to the other manufacturer who is trying to figure out what
monetary offer she should make to rent our property, our labor, and buy our supplies in order to
minimize the profit we would make (and her costs) while at the same time knowing that the offer
is constrained to be good enough to encourage us to take the offer instead of manufacturing our
own products.
As an exercise the reader should formulate an example diet problem and its dual and go through
a dimensional unit analysis like the one above. The goal of the analysis would be to develop the
dimensional units of the dual variables in the context of the primal diet problem, and to interpret
the overall dual problem.
We now turn our attention away from the physical interpretations to the mathematical
relationships between the solutions to the primal and dual problems.
The Fundamental Primal-Dual Relationships
In this section we explore the mathematical relationship between solutions of a primal-
dual pair of problems. We will assume the canonical form for the primal problem. In all that
follows the words primal and dual can be interchanged since we know that the primal problem is
the dual of the dual problem.
As mentioned earlier, the variables of each of the problems are associated with the constraints of
the other problem. The most important association for the primal-dual pair of problems we have
defined in the chapter is the association of the primal variable with its corresponding dual
constraint. We need some additional notation to explore further.
Let aij be the element in row i and column j of the data matrix A that was used at the beginning
of the chapter to define the primal problem in standard form. Further, let c j be the jth element
of the primal-objective-function-coefficient matrix c.
Definition 1
A complementary pair consists of a primal variable and the slack of its corresponding dual
  m 
constraint. Mathematically, the pair,  x j ,  ∑ aij ui − c j   , is the complementary pair for the
  i =1 
jth primal decision variable and the ith dual constraint. Primal/Dual symmetry means that

  n 

ui ,  bi − ∑ aij x j  is also a complementary pair.

  j =1 

The primal-dual theorem will be stated without proof.


The Fundamental Primal-Dual Theorem
Let x* be a particular decision vector for the primal problem in standard form, then x* is an
optimal solution for the primal problem if and only if x* is primal feasible, i. e., Ax* ≤ b;
and x* ≥ 0, and there exists a particular decision vector u* for the corresponding dual
problem such that the following two properties hold:
1. u* is dual feasible, i. e., ATu* ≥ c and u* ≥ 0.
2. At least one element of each complementary pair is equal to zero, i. e., for
  m

each j either x j * = 0 or  x j , 

∑a u− c j   = 0, or they both equal 0. Also for each
ij i

 i =1


  n 

u
i either i * = 0 or  i  i ∑ aij x j  = 0, or both equal 0. This condition is called
u , b −

  j =1 

the complementary slackness condition.
Furthermore, when these conditions are satisfied the primal and dual objective function
values are equal, i. e., cTx* = bTu* or equivalently z* = v*, and the dual vector u* is optimal
for the dual problem.

To illustrate the theorem we shall return to the example primal and dual problems:
The Primal Problem
Find x1 , x 2 , x 3 and z to :
Maximize z =1000 x1 +1200 x 2 + 900 x3

s u b je c t :to 3x1 + 5 x2 + 4 x3 ≤ 8 0
5 x1 + 6 x2 + 4 x3 ≤ 4 8 0
1x1 + 0.5 x2 + 0.7 x3 ≤ 1 0
x j ≥ 0 fo r j = 1,2,3
The Dual Problem
Find u1 , u 2 , u 3 and v to :
Minimize v = 80 u1 + 480 u 2 +10 u3
s u b je c t :to 3u1 + 5u 2 + 1u3 ≥ 1 0 0 0
5u1 + 6u 2 + 0.5u3 ≥ 1 2 0 0
4u1 + 4u 2 + 0.7u3 ≥ 9 0 0
ui ≥ 0 fo ri = 1,2,3
Suppose that a candidate solution for the primal is given below.
x1* = 2.8571
x2* = 14 .2857
x3* = 0
z * =$20000
If we can find a feasible solution for the dual problem that also satisfies the complementary
slackness condition then we would know (because of the primal-dual theorem) that this solution
is optimal. The usual approach for finding the requisite dual solution is to focus on and use the
complementary slackness conditions to figure out which dual constraints must have no slack, and
which dual variables must be zero.
Since the first, second variables are non-zero, we know that the first and second dual constraints
should have zero slack. Since the second primal constraint has non-zero slackness, then
complementary slackness would require that u 2* = 0 . The first and second dual constraints must
also be satisfied at equality, so they can be simplified to the following:

3u1+ 1u3 = 1 0 0 0
5u1+ 0.5u3 = 1 2 0 0

This system has the solution u1* = 200 and u3* = 400 and we note that they satisfy the dual
non-negativity constraints. Finally, we need to verify that this solution which satisfies the
complementary slackness condition is completely feasible for the dual. To do that we need to
check the third dual constraint to verify that 4(200) + 4(0) + 0.7(400) =1080 which is strictly
greater than 900 thereby satisfying the third dual constraint. We may now conclude that not only
is the above candidate primal solution optimal for the primal problem, but the dual solution we
found is also optimal for the dual problem.
To verify the last part of the theorem we will compare the two objective function values. For the
primal problem the objective function is 1000(2.8571) + 1200(14.2857) + 900(0) = 20,000, and
for the dual objective function we get 80(200) + 480(0) + 10(400) = 20,000.

Anda mungkin juga menyukai