You are on page 1of 18

How to Analyze the Results of Linear

Programs-Part 2: Price Interpretation


Mathematics Departnletlt
Unzversity of Colorado at Denver
PO Box 173364
Derlver, Colorado 80217-3364

In the second part of a four-part series, I consider an exercise in


analysis that arises in many applications: Why is the price of
(some commodity) equal to (whatever its solution value)? The
ability to interpret dual prices in a linear programming solution
is part of economic analysis, and the mathematical basis is as
old as linear programming, itself. New approaches, however,
go beyond the usual duality arguments in answering this ques-
tion in more practical terms. One of these new approaches is
path tracing, which seeks a portion of the linear program that
accounts for the row's price by activity costs from sources to
the row. In some cases this is a simple path in a network prob-
lem. More generally, in ordinary network terms, it can be a tree
or involve embedded cycles, but it is regarded as a path in
hypergraph terms.

T his paper is concerned with interpret-


ing dual prices in a n optimal instance
of a linear program. I use terms and con-
and partly because of its simplicity. I shall
show how we can go deeper into explain-
ing why a price has a particular value at
cepts that were introduced in Part 1 optimality. Then, I shall consider another
[Greenberg 1993al of this series. problem, with which I shall illustrate a
I shall begin with the transportation path-tracing procedure. After stepping
problem, partly because of its familiarity through the analysis as a n L P expert, I
Cupyr~ght 1 1993, The Institute of Management Sacnccs P R O G R A M M I N C - -LINEAR
0091-2102/93/2305/0057$01 25
Th~spaper was refereed

INTERFACES 23: 5 September-October 1993 (pp. 97-1 14)

Copyright O 2001 All Rights Reserved


GREENBERG

shall demonstrate automatic interpretation subject to


with the ANALYZE rule-base [Greenberg
A, T 2 0; TI - A' 5 Cll
1988, 1993bl.
Transportation Problem for i = 1 , . . . , m , j = l , . . . , n.
I start with the transportation problem.
The dual constraint says, in effect, that
We are given a set of suppliers, which I
no consumer will pay more than the deliv-
denote by i in the set j l , 2, . . . , m ) , and a
ered price. The delivered price from the
set of consumers, which I denote by j in
i-th supplier to the 1-th consumer is A,
the set (1, 2, . . . , n}. The i-th supplier has
s, units, and the j-th consumer demands dl
+ c,,-that is, the sum of the i-th supplier's
price and the transportation cost. This con-
units. Assume total supply is at least as
straint represents a behavioral condition of
great as total demand: 2, sl 2 C,d,. The
a competitive market. It is useful to think
cost to ship one unit from the i-th supplier
of a bidding system, where the j-th con-
to the j-th consumer is c,,, and assume total
sumer will buy from the lowest bidder.
cost is a linear function of shipment levels.
From this perspective, an optimal solu-
An algebraic formulation is given by
tion has the property that if the j-th con-
minimize sumer buys from the i-th supplier, the con-
C C,,X'/ sumer's price equals the delivered price.
'I Mathematically, this is known as comple-
subject to mentary slackness: if x: > 0, then ?r, = A,

x r 0;
+- c,,. (See Greenberg and Murphy [I9851
for a way to see the linear program as a
s , i = l , . . . , m;
~ x , , ~ for model of market equilibrium conditions.)
I
To see how to use this property, con-
x x l , 2 d l for j = l , . . . , n. sider the following implications:
I
(1) 'Two suppliers that ship to a common
A solution to an instance of the trans- consumer differ in their prices precisely by
portation problem not only gives optimal the difference in their transportation
levels of flows, x*, but also gives dual costs-that is, A, - XA = c,, - q,.
prices associated with the constraints. Let
us interpret these prices with a few basic
properties, then I shall consider numerical
examples to go deeper into price interpre-
tation.
Let A, be the i-th supplier price, and let
hk
T , be the j-th consumer price. Mathemati-
This follows because the consumer's price
cally, the dual linear program is given by
equals the delivered price of the i-th sup-
maximize plier and of the k-th supplier: x; > 0 and
C dlrl C - SIX,
xtl > 0 imply Xi +
ckl = T, = A, + c,,.
I I (2) Two consumers that receive from a

INTERFACES 23:5 98
LINEAR PROGRAMS

common supplier differ in their prices pre- erties is the row digraph of the linear pro-
cisely by the difference in their transporta- gram, and I used it to explain a coal model
tion costs-that is, T,- T~ = c,, - c,k. to a consortium formed by Chase Econo-
metrics. Once the coal-producing compa-
nies saw this property, they immediately
raised the validity question. The supply
prices in the coal model are mine-mouth
prices, and the company representatives
know that they are not related simply by
differential transportation costs. That ob-
This property can be used to aid model servation revealed an erroneous assump-
validation in the following sense. If this tion, which was fixed by incorporating
price relation does not make sense for an fixed shares of movements from mines to
application, the network model is not markets. This revision of the transportation
valid--that is, it does not accurately model activity structure still represents price rela-
what it is intended to represent. It may be, tions, but now each dual price relation in-
for example, that shipments are con- volves more than one supply price and one
strained by some fixed shares among sup- market price.
pliers and consumers. In general, when we Now let us consider some numerical ex-
establish a property of a formulation, it is amples. Rubin and Wagner [I9901 have il-
basic science to ask whether this property lustrated some interesting interpretations
is valid. If not, the formulation is not valid. of optimal solutions. Figure 1 shows one of
The graph depiction of these two prop- their examples that illustrates unique dual

Sup~lv Supplier
Prices

Demand: 10 15 10
Consumer Prices: 55 65 75
Figure 1: In this example with alternative optimal shipping patterns and unique prices [Rubin
and Wagner 19901, each of the 2 X 3 cells corresponds to the link from the associated supplier
to the associated consumer. The number boxed in the Northwest corner of each cell is the
shipping cost. The number in the Southeast corner of each cell is the level of shipment, above
which is an alternative optimal shipment in parentheses.

September-October 1993 99

Copyright O 2001 All Rights Reserved


GREENBERG

prices with alternative shipment patterns. units from supplier 2, at the delivered price
For example, in the first optimal solu- +
of $75 ($50 supply price $25 transporta-
tion, the first supplier sends 10 units to tion cost). We can, however, ask the re-
consumer 1, five units to consumer 2, and lated question, "What if supplier 2 loses
none to consumer 3. His total supply is 20, one unit, so he has only 19 to distribute in-
so he has five units of surplus (that is, not stead of 20?" There are two possibilities to
shipped). In the second solution, the first consider:
supplier sends none to consumer 1, five to (1) Supplier 2 reduces sales to consumer 3,
consumer 2, and 10 to consumer 3. His causing consumer 3 to buy one unit from
surplus is still five units. supplier 1 (who has surplus units to sell).
Because the first supplier has surplus, (2) Supplier 2 reduces sales to consumer 2,
the price is zero because that is the value causing consumer 2 to buy an additional
of adding one unit or taking one away. If unit from supplier 1.
the first supplier has 21 (or a million) units, In case 1, consumer 3 still pays $75 since
only 15 would still be used, as they are in that is his delivered price from supplier 1.
this optimal solution, so there is no value In case 2, consumer 2 still pays $65 since
to having extra units. Similarly, if a unit is that is his delivered price from supplier 1.
taken away, so the first supplier has only In both cases, the loss or gain of one unit
19 units, it also would not change the so- of supply from supplier 2 results in a $50
lution. No value is lost, hence the zero loss or gain, respectively, and the ship-
price whenever there is surplus. ments adjust accordingly.
Now I shall interpret the $50 price of Now consider a more complex situation,
the second supplier. Suppose the supplier in which there are alternative dual prices
can obtain one more unit (21 instead of (for a uniquely optimal shipping pattern).
20). What would it be worth? Using the Figure 2 shows such a case, and Figure 3
first optimal solution, he could send that gives a graphic view.
one unit to the first consumer who then Let us begin the price interpretations
would decrease his purchase from the first with the supply side.
supplier. The first consumer currently pays (1) The 0 price of supplier 1 means
$55 (= XI + +
ell = 0 55). Subtracting the added supply has no value. He already has
transportation cost, c~~ = 5, the second surplus supply in the optimal flow, so
supplier could ask any price up to $50 and more would just add to the surplus. Fur-
sell this unit to the first consumer. The so- ther, loss of one unit has no value as well
lution price, X2 = 50, reflects this. since it is not taken away from any con-
Consumer 2 is paying $65. His pur- sumer.
chases are split between the two suppliers, (2) If supplier 2 lost a unit of supply
and their prices differ by their transporta- (As, = -I), the optimal flows adjust by
tion costs: XI - X2 = c12 - cz2 = 65 - 15 having either consumer 2 or consumer 3
= 50. Since XI = 0, we must have X2 = 50, buy the missing unit from supplier 1. The
as shown. least costly choice is reasoned as follows. If
Consumer 3 is already buying all of his consumer 2 is chosen, ACost = 65 - 15

INTERFACES 23:5 100


LINEAR PROGRAMS

Supply Supplier
Prices

0 (0)

Demand: 10 10 10
Consumer Prices: (55) 55 (60) 65 (70) 75
Figure 2: In this example, there is a unique optimal shipping pattern and alternative dual
prices [Rubin and Wagner 19901.

= 50. If consumer 3 is chosen, ACost = 80 meaning of the $45 supplier price in the
- 25 = 55. The best choice, therefore, is to alternative solution. Summarizing, the $SO
choose consumer 2. The net change in cost represents the rate at which the minimum
is ACost = -50As, (for As, < 0). cost increases if the supply is decreased;
Now suppose supplier 2 obtains one and, the $45 represents the rate at which
more unit of supply (As2 = 1). He could the minimum cost decreases if the supply
send it to consumer 1, displacing one of is increased. This asymmetry in the rates
the units consumer 1 currently obtains arises because the response to a loss is dif-
from supplier 1. The change in total cost is ferent from the response to a gain in the
ACost = 10 - 55 = -45As,. This is the amount of supply for supplier 2.

r Surplus = 10

Price = 0 Price = 55

x2,= 1 0 @ $15
(D2) -
Price = 65
10

Price = 50 Price = 75
Figure 3: A graphic view of optimal flows shows two components in the solution.

September-October 1993 101

Copyright O 2001 All Rights Reserved


GREENBERG

Now consider the demand side. (3) The alternative prices for demand in
(1) The $55 price of consumer 1 is the the third market have an asymmetry simi-
marginal cost of shipping with the optimal lar to that for the second market. If the de-
pattern. He buys from supplier 1 at $55, mand is increased a bit (Ad3 > 0), con-
and he would continue to do so if his de- sumer 3 would buy from supplier 2 at a
mand increased or decreased one unit. The unit cost of $25. Supplier 2, however, is
total cost then changes at the rate of $55 using all of his supply, so he must decrease
per unit of demand change: ACost shipment to market 2. This reduces the net
= 55 Adl. change in cost by $15, but then consumer
(2) If the demand increased a bit (Ad2 2 must buy the unit from supplier 1 at a
> 0), consumer 2 would have to buy from cost of $65. The net change in flows to ac-
supplier 1 at a cost of $65 per unit. This is commodate this increase in demand 3 is
the meaning of the consumer price: ACost +
thus 25 - 15 65, which equals the con-
= 65 Ad2. There is, however, an alternative sumer 3 price, $75.
to consider. Suppose the added demand is On the other hand, if the demand de-
satisfied by supplier 2, at a cost of only creases a bit (Ad3 < O), consumer 3 reduces
$15. Then, this would take away from his purchase from supplier 2. This not only
consumer 3, whose demand must be made saves the $25 shipping cost, but also
up with his purchase from supplier 1. The makes another unit available for supplier 2
net effect, for Ad2 = 1, is ACost = 15 - 25 to sell to market 1. Doing so saves $45 (the
+ 80 = 70. It is therefore better to choose difference between the $10 from supplier 2
the first adjustment, giving the least in- to market 1 and the $55 from supplier 1 to
crease in total cost. market 1). The net effect, therefore, is the
Now what accounts for the $60 price in sum of the direct savings ($25) plus the
the alternative solution? If the demand of savings from displacement ($45) for a total
consumer 2 is decreased (Ad2 < O), not savings of $70, which is the alternative
only do we save the $15, but also that unit dual price.
of supply can be shipped to consumer 1, Reduced Costs and Economic Rents
displacing one of the units currently In this section, I describe the notion of
shipped by supplier 1, at a net savings of economic rent and its connection with dual
$10 - $55, or -$45. Adding this savings prices. Basically, an economic rent is the
to the $15 unspent by consumer 2, the net difference between a market clearing price
effect is ACost = 60 Ad2 (for Ad2 < 0). (under perfect competition) and a selling
Summarizing, the $65 represents the rate price. Imagine, for example, two sources of
at which the min-cost increases if demand supply, A and B, in increasing order of
is increased; and, the $60 represents the cost. Suppose the less expensive A has lim-
rate at which the min-cost decreases if the ited capacity, and the demand requires
demand is decreased. The asymmetry is some supply from source B. The marginal
again due to different responses, depend- price is the cost of supplying B, say $b, but
ing upon whether the demand is increased this is the (only) market price. This means
or decreased. that while the supplier would be content to

INTERFACES 23:5 102


LINEAR PROGRAMS

sell A at $a (where a < b), he actually re- Price


ceives $b for all goods brought to market.
He is said to receive an economic rent of
$(b - a).
Figure 4 makes this concrete. There is
1
one supplier, labelled s, that is much
farther from the market than the other l o _ 100 150 Quantity
suppliers, shown with small boxes. Sup-
pose each supplier's production cost is $1, Minimize COST subject to:
and each of the nearby suppliers have zero COST = P I + 10*P2
transportation cost while the distant sup- SUPPLY = P I + P2 - M = 0
plier has a transportation cost of $9. If the DEMAND = M=110
market demand is less than the total quan- 0 5 P1 r 100, 0 5 P2 r 50
tity that the nearby suppliers can supply, Figure 5: An LP can represent a step function
of supply price quantity with an activity per
the market price is only $1, and the distant
step.
supplier ships nothing. Suppose, however,
the nearby suppliers can provide only 100 of another 50 units at $10.
units, but the market demand is 110 units. Activity P1 is the production from the
Then, the distant supplier ships 10 units, nearby suppliers; its bound is the first
and the market price is $10 ($1 production step's width (loo), and its cost c o e h i e n t is
+
cost $9 transportation cost). The nearby the step's height ($1). Activity P2 is the
suppliers also receive the market price of production from the distant supplier; its
$10, so they receive an economic rent bound is the second step's width (501, and
of $9. its cost coefficient is the step's height ($10).
In general, we have the following terms: Activity M logically moves all production
Delivered cost = Production cost from the SUPPLY row to the DEMAND
-tTransportation cost, row (actual transportation costs are ab-
Marginal price = Delivered cost sorbed in the production activities). The
-t Economic Rent. DEMAND equation requires the level of M
To see this connection with LP, consider to be the demand of 110 units. This causes
Figure 5, which shows a price-quantity the optimal level of P1 to be at its bound
supply function. The first step represents of 100 and activity P2 to be basic with a
the nearby supply of 100 units at $1; the production level of 10 units. The cost of P2
second step represents the distant supplier sets the marginal price of the SUPPLY row
to be $10, and the reduced cost of P1 is
-9, which represents an economic rent of

El
Market

Figure 4: An economic rent arises when


$9 to the nearby suppliers.
If, instead of a demand of 110 units, the
demand is less than 100 units, activity P2
market demands shipments from a is nonbasic at zero level with a reduced
distant supplier. cost of 9, while the level of P1 equals the

September-October 1993 103

Copyright O 2001 All Rights Reserved


GREENBERG

demand and P1 sets the SUPPLY price at mands used are suppressed).
$1. In this case, the meaning of the re- I begin to gain an understanding of the
duced cost of P2, which is 9, is the differ- linear program by seeing its syntax. Figure
ence between the distant supplier's deliv- 6 gives an overview of a linear program
ered cost to market ($10) and the market we shall consider, called WOODNET. First,
price ($1). it displays the schema, which shows three
A special demand value is 100 units, activity classes and two row classes (and
which is the capacity of the nearby sup- the objective row, named COST). Row
pliers. In this case, there are alternative class S balances supplies, and row class D
dual solutions (with a unique shipment of balances demands. The domain informa-
P I = M = 100 and P2 = 0). The first solu- tion gives the meaning of each of the three
tion is with P1 in the basis at its upper sets in the model. Then, it displays the
bound value, and the dual price is $1 (of translations of the row and column classes.
both SUPPLY and DEMAND rows, equal- In this formulation, all right-hand sides
ity implied by the zero cost of activity M). are zero. Supply limits are represented by
The second solution is with P2 in the basis upper bounds on the supply activity levels,
at zero level, and the dual price is $10. and demands are fixed values of demand
The first solution gives the rate at which activity levels. This is a n equivalent model
the min-cost changes with respect to a de- of the transportation problem. Each cell
crease in demand, say to 99. That is, the entry gives the range of nonzeroes in this
cost decreases at $1 per decrease in de- instance, where a blank means that there
mand, which is the savings from the asso- are no nonzero coefficients in the subma-
ciated level of P I . The second solution trix defined by the row and column
gives the rate at which the min-cost classes. For example, the supply activities
changes with respect to an increase in de- (whose names begin with S) do not inter-
mand, say to 101. That is, the cost in- sect any of the demand balance rows
creases at $10 per increase in demand, (whose names begin with D).
which is the cost from the associated level The analysis problem is to interpret the
of P2. These simple examples form the ba- demand prices in the solution. I shall first
sis for what I describe in the next section. go through the analysis to arrive at what
Another Problem we can regard as a mathematical solution.
The foregoing examples give us a start- Then, we have the second phase of putting
ing point for going deeper into price inter- the response into English, which uses the
pretation (see, also, [Akgiil 1984; Gal 1979; syntax information, summarized in Fig-
Greenberg 1986; and Ho and Smith ure 6.
19871). NOWconsider another problem, Figure 7 displays the demand prices. The
where I shall show how to use path tracing first demand price we want to explain is
for problems too large to see on one the $73 for mahogany (MO in the set of
screen. The figures show the information, materials, MT) in Chicago (CH in the set of
as obtained from ANALYZE [Greenberg demand regions, DR). The name of the as-
1983, 1987, 1988, 1992a,b, 1993133 (com- sociated demand balance row is DMOCH.

INTERFACES 23:5
LINEAR PROGRAMS

...........
,..........::::::BLOCK S C H E M A ::::::::::::::
S(MT,SR) T(MT,SR,DR) D(MT,DR) HOMOGEN
S(MT,SR) 1 -1 = 0
D(MT,DR) 1 -1 = 0
COST 10160 5/20 .. . M I N
: LO 0 0 51100
:UP 5/* * .-
-

DOMAIN INFORMATION
MT material
SR location
DR 1o c a t i o n
Row s y n t a x has 2 c l a s s e s
A row t h a t b e g i n s w i t h S b a l a n c e s s u p p l y o f some m a t e r i a l i n
some l o c a t i o n .
A row t h a t b e g i n s w i t h D b a l a n c e s demand o f some m a t e r i a l i n
some 1 oca t i o n .
Column s y n t a x has 3 c l a s s e s
A colurrin t h a t b e g i n s w i t h S s u p p l i e s some m a t e r i a l a t some
1o c a t i o n .
A c o l u m n t h a t b e g i n s w i t h T t r a n s p o r t s some m a t e r i a l f r o m
some l o c a t i o n t o some l o c a t i o n .
A column t h a t b e g i n s w i t h D demands some m a t e r i a l a t some
1o c a t i o n .

Figure 6: An overview of the WOODNET syntax gives insights into the LP structure.

From the schema, we can view the initial ports mahogany to Chicago, and we must
portion of the fundamental digraph, as fol- continue the trace back to the source.
lows. Equivalently, we want to expand the sub-
matrix, which contains the demand row
(DMOCH) -+[DMOCH] -, Price = 73
(DMOCH) and its adjacent activities, to
we want to obtain a delivery path that bring in other rows that intersect the trans-
accounts not only for the flow from some
source(s) to satisfy the demand, but also
for the price of $73. We begin our analysis
Prices o f D(MT,DR)
---......_---_..DR
. ............... ~::~~=~::=:~:~:Iz~

by finding all the basic columns that inter-


MT CH DE LA SE SF
sect row DMOCIl in order to find the MO 73 75 68 71 65
link(s) in the delivery path. Doing so adds OK 60 69 62 65 60
one more link, as follows. PI 22 22 17 20 24

[TMOSECII] -- (DMOCH) - [DMOCf-I]-*


WA 78 68 75 78

Figure 7: The table display of WOODNET de-


70

We have found a basic transportation mand prices gives a quick view of what they
activity, namely TMOSECH, which trans- are, by material (MT) and location (DR).

September-October 1993 105

Copyright O 2001 All Rights Reserved


GREENBERG

isfy the (homogeneous) balance equations.


D S T The result of the path trace is the subma-
M M M trix pictured in Figure 8.
The 3 X 3 submatrix shows the COST
0 0 0
and a flow from the supply activity
C S S SMOSEl, shipped by the transportation
H E E activity TMOSECH, and finally consumed
1 1 C by the demand activity, DMOCHl. The
H picture is useful for seeing sign patterns
COST + + = MIN and having a quick look at a submatrix.
DMOCH - + = 0 Figure 9 shows the graph-based view of
the delivery path in the fundamental di-
SMOSE + - = 0
graph.
Figure 8: After completing the path trace, we To complete the interpretation, we re-
can picture the submatrix to see how quire additional information. Figure 10 lists
mahogany is delivered to Chicago. the equations in the submatrix, so we can
use the COST values, and it displays the
portation column. This, in turn, can lead to three columns in the submatrix, so we can
bringing in other rows and columns, pref- see their levels and bounds. The demand
erably basic, until we eventually reach a activity (namely, DMOCHl) is at its fixed
complete submatrix-that is, with each level. The associated transportation activity
equation balanced by positive and negative (namely, TMOSECH) is thus at this same
coefficients. Because the LP is feasible, a level (25), but the supply activity
balance must be achievable in order to sat- (SMOSEl) level is 75 because it is used to

Figure 9: The final portion of the fundamental digraph is the delivery path of mahogany to
Chicago.

MIN COST = 55 SMOSEl + 18 TMOSECH


0 = DMOCH =-DMOCHl + TMOSECH
0 = SMOSE = SMOSEl - TMOSECH

CO L STAT LEVEL ( X I LO-BOUND UP-BOUND PRICE ( D l


------------.-------------...-----------.-..------------....-----------...------

DMOCHl L 25.000 25.000 25.000 7 3.000


SMOSEl B 75.000 0 * 0
TMOSECH B 25.000 0 * 0

Figure 10: To get the numbers, we can list the submatrix equations and display its columns,
which are in the delivery path.

INTERFACES 23:5
LINEAR PROGRAMS

- 75 @$55

D=O
Seattle
P = 55
25 @ $ I 8

D=O P = 73
25 @O

D = 73
+

Figure 11: A flow diagram corresponding to the submatrix in Figure 10 gives visual insight
into the price relations through activities in the delivery path.

satisfy other demands. only $50 ($45 for supply activity SMOSFl
We are now in a position to give an al- and $5 for transportation activity
gebraic answer to this exercise. The trace, TMOSFLA). The difference of $50 and $68
working back from the initial demand row, is what we seek to explain. This is pre-
reveals a path from supply to demand cisely the reduced cost of the capacitated
(Figure 11). The levels of the activities in supply activity, which is displayed as --18,
this path can be perturbed to accommo- which represents an economic rent of $18.
date a change in the right-hand side of the Because this nonbasic reduced cost is non-
demand row DMOCE-I (equivalently, the zero, the supply bound is binding, so the
fixed level of the associated demand activ- $18 must be due to the value of the capac-
ity, DMOCI-11).The $73 is the total unit ity in fulfilling some other demand(s). That
cost of this perturbation. The last listing is the story we want to develop.
(compare Figure 10) shows that the total We must now trace the flow out of this
(input) cost is $55 for the supply activity supplier to explain its reduced cost. We be-
(SMOSEI) and $18 for the transportation gin to explain the $18 difference by seeing
activity (TMOSECH). Because there are no which consumers receive the other 10
loss or gain factors (that is, the body coeffi- units of supply from San Francisco. Figure
cients are &I),the actual delivered cost is 14 shows the result of listing the associated
+
$55 $18, or $73.
It is not usually the case that the deliv-
ered cost equals the marginal price, owing D S T
to economic rents to lower-cost suppliers
M M M
sending all of their supply. We next ana-
lyze such a case by performing the same
0 0 0
exercise for row DMOLA. The problem is L S S
to explain the $68 (compare Figure 7) in A F F
terms of the model's structure and the par- 1 1 L
ticular data. Figure 12 presents the result A
of tracing activities, but now a nonbasic COST + + = MIN
activity plays an important role in finishing
the analysis.
DMOLA - + = 0
In Figure 13 we see that the supply ac-
SMOSF + - = 0
tivity (SMOSFI) is at its upper bound
Figure 12: After the price trace for row
(STAT = U), which is 30. listing the DMOLA is complete, we can picture the sub-
COST row, we see that its delivered cost is matrix to see the relevant porkon of the LP.

September-October 1993 107

Copyright O 2001 All Rights Reserved


GREENBERG

supply row (SMOSF) with the columns of Now we want to see the costs of the
not only basic activities, but also of all col- submatrix columns:
umns with zero reduced cost. (This distinc-
tion will become apparent, as our problem
COST = 45 SMOSFl + 12 TMOSFDE
needs to include dual degeneracy when + 5 TMOSFLA + 8 TMOSFSE
tracing prices.)
This tells us the delivered costs to Denver,
First, the submatrix that contains row
Los Angeles, and Seattle. That is, we al-
SMOSF and its adjacent columns that have
ready know the supply cost in San Fran-
zero reduced cost are defined. The result is
cisco is $45, and the trace told us that
the following 1 X 3 system.
there are three activities with zero reduced
0 = SMOSF = -TMOSFDE cost. The first is TMOSFDE, which trans-
ports mahogany from San Francisco to
- TMOSFLA - TMOSFSE.
Denver at a unit cost of $12. The second is
We then apply the trace procedure to this TMOSFLA, which transports mahogany
1 X 3 submatrix to balance its flows with from San Francisco to Los Angeles at a
price-setting activities, and Figure 14 pic- unit cost of $5, which is the one we al-
tures the resulting submatrix. ready saw when we started this exercise.
We now want to see the flows and the The third is TMOSFSE, which transports
reduced costs on the activities in this sub- mahogany from San Francisco to Seattle at
matrix. To d o so, we display the rows and a unit cost of $8.
columns, shown in Figure 15. Our story Notice that the consumer prices differ by
starts to take shape, as the San Francisco their transportation costs since they receive
supplier ships to other places. their supply from the same supplier. For

CO L STAT LEVEL ( X I LO-BOUND UP-BOUND PRICE ( D l


--~-~~~.~~---~.~------~-------~--~..-~--~...~~

DMOLAl L 20.000 20.000 20.000 68.000


SMOSFl U 30.000 0 30.000 -18.000
TMOSFLA B 20.000 0 * 0

ROW STAT LEVEL ( Y l LO-BOUND UP-BOUND PRICE ( P I


.................................................................

COST B 25135.000 -* -k -1.0


DMOLA L 0 0 0 68.000
SMOS F L 0 0 0 63.000
M I N COST = 4 5 SMOSFl + 5 TMOSFLA

Figure 13: We use the display of columns and rows in the path to see solution values and
bounds. We then list the COST Row to see supply and transportation costs. Because the
delivered cost is only $50, more analysis is needed to explain the marginal price of $68.

INTERFACES 23:5 108


LINEAR PROGRAMS

therefore differ by $7. From Figure 15, the


D D D S T T T consumer prices are $75 and $68, respec-
M M M M M M M tively, which do indeed differ by $7. Simi-
0 0 0 0 0 0 0 larly, note that the $71 consumer price in
D L S S S S S Seattle differs from these by transportation
E A E F F F F
cost differences: $4 from Denver's price
l l l l D L S
E A E and $ 3 from Los Angeles' price.
COST ++++ =PIIN From Figure 16, we see that only two of
DMOOE - + 0 these margin-setting flows-that is, the ac-
DMOLA - + - 0 tivities with zero reduced cost-are posi-
DMOSE - += 0 tive. The status of activity TMOSFDE is
SMOSF + - - - = 0
basic, but its level is zero. We could ex-
plore the link with Seattle, but it is the de-
generacy of the flow to Denver that holds
Figure 14: After tracing the margin-setting
flows from the San Francisco supplier of the key for the answer we seek. Figure 16
mahogany, we can picture the resulting pictures the submatrix with the associated
submatrix. demand row (DMODE) and all columns
example, the transportation costs from San whose activity lel7el is positive. We then
Francisco to Denver and from San Fran- apply the path-tracing procedure to obtain
cisco to Los Angeles are $12 and $5, re- the answer to the question, "Where does
spectively. Their consumer prices must Denver gets its mahogany?"

ROW STAT LEVEL ( Y ) LO.BOIJND UP-BOUND PRICE ( P I


------~~...~~~~---~~...~----~~-~...~-~-----...~

DMODE L 0 0 0 75.000
DM0 LA L 0 0 0 68.000
DMOSE L 0 0 0 7 1 .OOO
SMOSF L 0 0 0 63.000

COL STAT LEVEL ( X I LORBOUND UP-BOUND PRICE ( D l


......................................................................

DMODEl L 20.000 20.000 20.000 75.000


DM0 LA1 L 20.000 20.000 20.000 68.000
DMOSEl L 10.000 10.000 10.000 7 1 .OOO
SMOSFl U 30.000 0 30.000 -18.000
TMOSFDE B 0 0 * 0
TMOSFLA B 20.000 0 * 0
TMOSFSE B 10.000 0 * 0

Figure 15: Displaying the rows and columns in the submatrix of Figure 14 gives us the prices
and activity levels, respectively.

September-October 1993 109

Copyright O 2001 All Rights Reserved


GREENBERG

I - 18 reduced cost of the supply activity

D T (SMOSFI). The margin-setting link is the


M M one to Denver, even though there is no
positive flow across that arc (activity
0 0
TMOSFDE).
D S The story is that the consumer price for
E E mahogany in Denver, which is P = 75 for
1 D row DMODE, is determined as in the first
E case: it receives its shipment from another
DMODE - + = 0 supplier, namely from Seattle (via the
transportation activity TMOSEDE), with
Figure 16: We initialize the submatrix to trace the delivered cost of $75. The presence of
the price of mahogany in Denver (that is, the the link from San Francisco to Denver,
price of row DMODE). however, allows displacement if the capac-
Skipping the new picture after the trace, ity of the San Francisco supplier would in-
we immediately list the costs of the sub- crease. The (actual) cost of shipping from
matrix columns: San Francisco to Denver is $57 ($45 supply
+ $12 transportation), so the savings from
COST = 55 SMOSEl + 20 TMOSEDE. displacement would be $18. This is what
This tells us two things. First, the mahog- determined the economic rent we have
any comes from only one supplier, namely sought to explain.
Seattle. Second, the delivered cost is $75 There are a number of ways to compose
($55 supply, which is activity SMOSEI, the final explanation. One is that the con-
and $20 transportation, which is sumer's price of mahogany in Los Angeles
TMOSEDE). This is like the first case (for ($68) is due to demand in Denver and the
the price of row DMOCH): Denver re- limited supply in San Francisco. Even if we
ceives all of its mahogany from a single reduce the production cost and the trans-
supplier, and there are no binding capacity portation cost from San Francisco to Los
constraints in the flow path, so the mar- Angeles, the price would still be $68 due
ginal price of row DMODE is its delivered to the market pressure resulting from lim-
cost of $75. ited supply capacity. The only way to re-
Now we can put the pieces together and duce the $68 price is to reduce the deliv-
construct the analysis story. Figure 17 ered cost from Seattle to Denver. If, for ex-
shows a flow graph that describes the situ- ample, we reduce the transportation cost
ation. The San Francisco supplier sends to from San Francisco to Denver, the effect is
Los Angeles (where we started) and to to increase the economic rent-that is, the
Seattle. The latter flow turns out to be ir- reduced cost of activity SMOSF becomes
relevant to our original exercise of explain- less than -18; the consumer price in Los
ing the $68 marginal price for row Angeles remains at $68.
DMOLA because it is not the cause of the Automatic Interpretation
$18 economic rent, which shows up as the What the examples suggest is that it is

INTERFACES 23:5 110


LINEAR PROGRAMS

possible to shift some of the art of analysis elaborate on how this was generated. In
into the realm of science. I illustrate this general, a rule file in ANALYZE is com-
using rules for automatic price interpreta- posed of free text (perhaps with some for-
tion that include English translations built matting instructions) until some LP infor-
on the linear program's syntax. mation is needed. There are two ways to
The analysis we just did can be auto- obtain LP information: simple "lookup,"
mated to a great extent, at least for linear like the meaning of a row or column or a
programs with the same syntax as the value associated with it, and execution of
WOODNET model. Figure 18 shows that a an ANALYZE command, like the path-
complete demand price interpretation de- tracing procedure. In addition, there are
pends upon a supply price interpretation. control statements, such as conditional
That is, once the $18 economic rent of branching, that enable logical reasoning
supply activity SMOSFl is explained, the based on the information obtained.
rest follows. (The term economic rent is 'To form the first sentence in Figure 18,
used, but this may not be understood by the ANALYZE rule file uses a syntactic
the analyst. It depends on how the model translation of the row in question
builder (or manager) wrote the rule file.) (DMOLA), and the second sentence is a
The result is a successful interpretation "literal" up to the price, $68, which is a
(but now automatically when we're not simple "lookup" of the price of the row in
there for someone else with the same question. Before the third sentence is com-
question). posed, the rule file tested some conditions
I now go through the response gener- (such as whether the row is simply slack
ated by the price interpretation rule to with zero price). Then, the rule file exe-

30 @$45 20 @$o
+
D =-I8 P = 63 P = 68 = Consumer Price

10
-8$@ Seattle 10 @$O

P = 71 = Consumer Price

----------- 20 @$O
Denver

Figure 17: A graph of the final analysis shows how the degenerate flow from San Francisco to
Denver is the key to understanding the consumer price in Los Angeles (D = reduced cost of
supply activity; P = dual price of demand row).

September-October 1993

Copyright O 2001 All Rights Reserved


GREENBERG

Row DMOLA b a l a n c e s demand o f mahogany i n Los A n g e l e s . I s h a l l


t r y t o i n t e r p r e t i t s p r i c e o f $ 6 8 . The consumers i n Los A n g e l e s
r e c e i v e a l l o f t h e i r mahogany f r o m San F r a n c i s c o w i t h d e l i v e r e d
c o s t = $ 5 0 ( t h i s s u p p l i e r , h o w e v e r , has an economic r e n t o f
$ 1 8 ) . The m a r g i n a l p r i c e ( $ 6 8 ) = d e l i v e r e d c o s t + r e n t . We now
i n t e r p r e t t h e $18 r e n t , a s s o c i a t e d w i t h t h e l e v e l o f a c t i v i t y
SMOSFl b e i n g a t i t s c a p a c i t y l i m i t .

The ( i n p u t ) s u p p l y c o s t = $ 4 5 ( e x c l u d i n g economic r e n t ) . T h i s
s u p p l y i s d e l i v e r e d t o 2 c o n s u m e r s - - n a m e l y , t o Los A n g e l e s w i t h
t r a n s p o r t a t i o n c o s t = $ 5 ; and, t o S e a t t l e w i t h t r a n s p o r t a t i o n
c o s t = $ 8 . T h i s s u p p l i e r does n o t send any mahogany t o D e n v e r ,
b u t i t i s t h i s consumer t h a t i s s e t t i n g t h e s u p p l i e r ' s economic
r e n t . T h a t i s , any i n c r e a s e i n t h e s u p p l y o f mahogany i n San
F r a n c i s c o w o u l d go t o Denver and d i s p l a c e i t s most e x p e n s i v e
c u r r e n t d e l iv e r e d c o s t .

Figure 18: ANALYZE automatically gives a price interpretation, even in the more complex case
when the price is not equal to the delivered cost. Exact wording can be controlled by the
rule base.

cuted the path-tracing procedure, just as of the rows and columns, executing path-
we did. Upon looping over the resulting tracing, then deciding what we must ex-
submatrix, the rule file obtains the delivery amine next. This reasoning is what makes
path. The resulting sentence is composed the automatic response formation intelli-
from a template into which the material gent, as the logic reflects what we do as LP
(mahogany), the supplier (San Francisco), experts. The rule contains logic to look for
and the delivered cost ($50) is substituted. a degenerate link. In this case, Denver is
It also branched to the logic for the situa- found, and the logic goes through the
tion at hand, which is the presence of an same reasoning as we did.
economic rent. After giving the two consumers for
After identifying the activity that sup- which there is positive flow from San
plies mahogany in San Francisco Francisco, the rule identifies Denver as a
(SMOSFI) as the key to explaining the key link in the solution. The actual words
price of $68, another rule is instantiated to are formed by templates plus "lookups" to
explain the economic rent of $18. substitute meanings, based upon the syn-
The second part of the interpretation tax, and values of elements, like the trans-
proceeds by first giving the supply cost portation costs.
and then executing the path-tracing proce- Concluding Remarks
dure, as we did, to find the two consumers The examples of price interpretation
that receive the San Francisco supply. All given here are among the easy ones, nota-
of the response so far parallels what we bly because the linear programs are net-
did by obtaining the meanings and values works. The methods of analysis for more

INTERFACES 23:5 112


LINEAR PROGRAMS

general models, however, are similar. One recent enhancements by Wendell [I9851
still tries to trace a margin-setting substruc- (see also [Ward and Wendell, 19901).
ture that has causal properties, but instead Again, the interior point approach gives
of a path in the sense of an ordinary net- the better range of information, but I can-
work, it is a hyperpath in the fundamental not explain here.
digraph. It is important, however, that the As we articulate the analysis process
LP be in canonical form for path-tracing to more precisely, we can extend and sharpen
work properly. The A matrix in the equa- the rules used by ANALYZE. This devel-
tion, y = Ax, should be signed such that a opment is in progress, including experi-
negative coefficient represents an activity's ments with automatic interpretation for a
input, and a positive coefficient represents variety of models and situations. There is
its output. Otherwise, the 1 / 0 structure no substitute, however, for human analy-
could be confusing to any heuristic, like sis. Many interesting applications are be-
path-tracing, that depends upon this inter- yond the reach of current capabilities for
preta tion. automatic analysis, but the gap is closing.
With a means for obtaining causal infor- Acknowledgments
mation to support analysis, automatic in- I gratefully acknowledge encouragement
terpretation becomes a reasonable consid- and technical help from Frederic H.
eration. Besides the examples given here, Murphy. I also received valuable com-
the methods have been applied success- ments from John Stone and an anonymous
fully to blending problems and other non- referee that led to an improved version. In
network linear programs using ANALYZE. addition, support for the ongoing project
A key to this is the use of the fundamental that produced ANALYZE (among other
digraph and related graphs to represent things) comes from a consortium of com-
model structures apart from data values. panies: Amoco Oil Company, IBM, Shell
There are some aspects of understanding Development Company, Chesapeake Deci-
prices in connection with marginal sensi- sion Sciences, GAMS Development Corpo-
tivity analysis that I did not explain, due to ration, Ketron Management Science, and
limited time and space. In addition to ref- MathPro, Incorporated.
erences already cited, I suggest looking at References
the interior point approach [Jansen, Roes, Akgiil, M. 1984, "A note on shadow prices in
linear programming," Jour~lalof Operational
and Terlaky 19921. For many applications,
Rescarcll Society, Vol. 35, No. 5, pp. 425-431.
using One particular basis from a collection Gal, T. 1979, Postoptinral Analyses, Parametric
- false or mis-
of alternative optima can give Programm~ng,and Related ?'O"~ICS, McGraw-
leading results. The unique partition ob- ill ~nternational,New ~ o r k .
Greenberg, H. J. 1983, "A functional descrip-
tained by an interior point solution can be tion of ANALYZE:A computer-assisted anal-
much better. Also, the range of data for ysis system for linear programming models,"
which the solution structure does not ACM Trarlsactions on Mathetnatlcal Softzoure,
change is important. The basis-driven ap- Vol 9, No. 1, pp. 18-56.
Greenberg, H. J 1986, "An analysis of degener-
proach, which is appropriate with a sim- acy," Naval Logistics Research Quarterly, Vol.
plex method solution, has undergone some 33, pp. 635-655.

September-October 1993 113

Copvright O 2001 All Rights Reserved


GREENBERG

Greenberg, H. J. 1987, "ANALYZE: A com-


puter-assisted analysis system for linear pro-
gramming models," Operations Research Let-
ters, Vol. 6, No. 5, pp. 249-255.
Greenberg, 1-1. J. 1988, "ANALYZE rulebase,"
in Mathenlatical Models for Decision Support,
eds. G. Mitra, H. J. Greenberg, F. A. Lootsma,
M. J . Rijckaert, and H-J. Zimmermann, Pro-
ceedings of NATO ASI, July 26-August 6,
Springer-Verlag, Berlin, pp. 229-238.
Greenberg, H. J. 1992, "Intelligent analysis sup-
port for linear programs," Cot7lputers and
CIzeiniral Engineering, Vol. 16, No. 7, pp. 659-
674.
Greenberg, H. J . 1993a, "How to analyze the
results of linear programs-Part 1: Prelimi-
naries," Interfaces, Vol. 23, No. 4, pp. 56-67.
Greenberg, H. J. 1993b, A Cotrzputer-Assisted
Analysis Systenz for Mathematical Prograrnmirzg
Models and Solut~ons:A User's Guide for
ANALYZE, Kluwer, Boston, Massachusetts.
Greenberg, H. J. and Murphy, F. H. 1985,
"Computing market equilibria with price reg-
ulations using mathematical programming,"
Operations Research, Vol. 33, No. 5, pp. 935-
954.
Ho, J. K. and Smith, D. 1987, Conlputing True
Shadow Prrces in Linear Programming, Techni-
cal Report, College of Business Administra-
tion, University of Tennessee, Knoxville,
Tennessee.
Jansen, B.; Roos, C.; and Terlaky, T. 1992, "An
interior point approach to postoptimal and
parametric analysis in linear programming,"
Technical Report, Faculty of Technical Math-
ematics and Informatics/Computer Science,
Delft University of Technology, Delft, The
Netherlands.
Rubin, D. S. and Wagner, H. M. 1990,
"Shadow prices: Tips and traps for manag-
ers," Interfaces, Vol. 20, No. 4, pp. 150-157.
Ward, J. E. and Wendell, R. E. 1990, "Ap-
proaches to sensitivity analysis in linear pro-
gramming," Technical report, Graduate
School of Business, University of Pittsburgh,
Pittsburgh, Pennsylvania
Wendell, R. E. 1985, "The tolerance approach
to sensitivity analysis in linear program-
ming," Management Sczence, Vol. 31, No. 5,
pp. 564-578.

INTERFACES 23:5

You might also like