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 8021 7-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- and partly because of its simplicity. I shall ing dual prices in an optimal instance show how we can go deeper into explain- of a linear program. I use terms and con- 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 an LP expert, I Cupyr~ght 1 1993, The Institute of Management Sacnccs PROGRAMMINC- -LINEAR 0091-2102/93/2305/0057$01 25 Th~s paper was refereed INTERFACES 23: 5 September-October 1993 (pp. 97-1 14) Copyright O 2001 All Rights Reserved

How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

How to Analyze the Results of Linear Programs-Part 2: Price Interpretation

Mathematics Departnletlt Unzversity of Colorado at Denver PO Box 173364 Derlver, Colorado 8021 7-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- and partly because of its simplicity. I shall ing dual prices in an optimal instance show how we can go deeper into explain-

of a linear program. I use terms and con- 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 an LP expert, I

Cupyr~ght 1 1993, The Institute of Management Sacnccs PROGRAMMINC- -LINEAR 0091-2102/93/2305/0057$01 25 Th~s paper was refereed

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

Copyright O 2001 All Rights Reserved

Page 2: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

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. We are given a set of suppliers, which I denote by i in the set j l , 2, . . . , m ) , and a

set of consumers, which I denote by j in the set (1, 2, . . . , n}. The i-th supplier has s, units, and the j-th consumer demands dl units. Assume total supply is at least as great as total demand: 2, sl 2 C,d,. The cost to ship one unit from the i-th supplier to the j-th consumer is c,,, and assume total cost is a linear function of shipment levels.

An algebraic formulation is given by

minimize

C C,,X'/ 'I

subject to

x r 0;

~ x , , ~ s , for i = l , . . . , m; I

x x l , 2 d l for j = l , . . . , n. I

A solution to an instance of the trans- portation problem not only gives optimal

levels of flows, x*, but also gives dual 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

T, be the j-th consumer price. Mathemati- cally, the dual linear program is given by

maximize

C dlrl - C SIX,

I I

The dual constraint says, in effect, that no consumer will pay more than the deliv- ered price. The delivered price from the i-th supplier to the 1-th consumer is A, + c,,-that is, the sum of the i-th supplier's price and the transportation cost. This con- straint represents a behavioral condition of a competitive market. It is useful to think

of a bidding system, where the j-th con- sumer will buy from the lowest bidder.

From this perspective, an optimal solu- tion has the property that if the j-th con-

sumer buys from the i-th supplier, the con- sumer's price equals the delivered price. Mathematically, this is known as comple- mentary slackness: if x: > 0, then ?r, = A, +- c,,. (See Greenberg and Murphy [I9851 for a way to see the linear program as a model of market equilibrium conditions.)

To see how to use this property, con- sider the following implications: (1) 'Two suppliers that ship to a common

consumer differ in their prices precisely by the difference in their transportation

costs-that is, A, - XA = c,, - q,.

INTERFACES 23:5 98

hk

This follows because the consumer's price equals the delivered price of the i-th sup- plier and of the k-th supplier: x; > 0 and xtl > 0 imply Xi + ckl = T, = A, + c,,. (2) Two consumers that receive from a

Page 3: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

common supplier differ in their prices pre-

cisely by the difference in their transporta-

tion costs-that is, T, - T~ = c,, - c,k.

This property can be used to aid model

validation in the following sense. If this

price relation does not make sense for an application, the network model is not valid--that is, it does not accurately model what it is intended to represent. It may be, for example, that shipments are con-

strained by some fixed shares among sup- pliers and consumers. In general, when we establish a property of a formulation, it is

basic science to ask whether this property is valid. If not, the formulation is not valid.

The graph depiction of these two prop-

erties is the row digraph of the linear pro-

gram, and I used it to explain a coal model

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- servation revealed an erroneous assump-

tion, which was fixed by incorporating

fixed shares of movements from mines to markets. This revision of the transportation activity structure still represents price rela-

tions, but now each dual price relation in- volves more than one supply price and one

market price. Now let us consider some numerical ex-

amples. Rubin and Wagner [I9901 have il- lustrated some interesting interpretations

of optimal solutions. Figure 1 shows one of their examples that illustrates unique dual

Sup~ lv Supplier Prices

0

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 9 9

Copyright O 2001 All Rights Reserved

Page 4: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

prices with alternative shipment patterns. For example, in the first optimal solu-

tion, the first supplier sends 10 units to

consumer 1, five units to consumer 2, and none to consumer 3. His total supply is 20, so he has five units of surplus (that is, not

shipped). In the second solution, the first supplier sends none to consumer 1, five to

consumer 2, and 10 to consumer 3. His surplus is still five units.

Because the first supplier has surplus, the price is zero because that is the value of adding one unit or taking one away. If

the first supplier has 21 (or a million) units, only 15 would still be used, as they are in

this optimal solution, so there is no value to having extra units. Similarly, if a unit is

taken away, so the first supplier has only 19 units, it also would not change the so- lution. No value is lost, hence the zero

price whenever there is surplus. Now I shall interpret the $50 price of

the second supplier. Suppose the supplier can obtain one more unit (21 instead of

20). What would it be worth? Using the first optimal solution, he could send that

one unit to the first consumer who then would decrease his purchase from the first

supplier. The first consumer currently pays $55 (= XI + ell = 0 + 55). Subtracting the

transportation cost, c~~ = 5, the second supplier could ask any price up to $50 and sell this unit to the first consumer. The so- lution price, X2 = 50, reflects this.

Consumer 2 is paying $65. His pur- chases are split between the two suppliers, and their prices differ by their transporta- tion costs: XI - X2 = c12 - cz2 = 65 - 15 = 50. Since XI = 0, we must have X2 = 50, as shown.

Consumer 3 is already buying all of his

INTERFACES 23:5 100

units from supplier 2, at the delivered price of $75 ($50 supply price + $25 transporta- tion cost). We can, however, ask the re- lated question, "What if supplier 2 loses

one unit, so he has only 19 to distribute in- stead of 20?" There are two possibilities to consider: (1) Supplier 2 reduces sales to consumer 3,

causing consumer 3 to buy one unit from supplier 1 (who has surplus units to sell). (2) Supplier 2 reduces sales to consumer 2, causing consumer 2 to buy an additional unit from supplier 1.

In case 1, consumer 3 still pays $75 since that is his delivered price from supplier 1.

In case 2, consumer 2 still pays $65 since that is his delivered price from supplier 1. In both cases, the loss or gain of one unit of supply from supplier 2 results in a $50

loss or gain, respectively, and the ship- ments adjust accordingly.

Now consider a more complex situation, in which there are alternative dual prices (for a uniquely optimal shipping pattern). Figure 2 shows such a case, and Figure 3 gives a graphic view.

Let us begin the price interpretations

with the supply side.

(1) The 0 price of supplier 1 means added supply has no value. He already has surplus supply in the optimal flow, so more would just add to the surplus. Fur- ther, loss of one unit has no value as well since it is not taken away from any con- sumer.

(2) If supplier 2 lost a unit of supply (As, = -I), the optimal flows adjust by having either consumer 2 or consumer 3 buy the missing unit from supplier 1. The least costly choice is reasoned as follows. If consumer 2 is chosen, ACost = 65 - 15

Page 5: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

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 - 25 = 55. The best choice, therefore, is to choose consumer 2. The net change in cost

is ACost = -50As, (for As, < 0). Now suppose supplier 2 obtains one

more unit of supply (As2 = 1). He could send it to consumer 1, displacing one of the units consumer 1 currently obtains from supplier 1. The change in total cost is ACost = 10 - 55 = -45As,. This is the

meaning of the $45 supplier price in the alternative solution. Summarizing, the $SO represents the rate at which the minimum

cost increases if the supply is decreased;

and, the $45 represents the rate at which the minimum cost decreases if the supply is increased. This asymmetry in the rates

arises because the response to a loss is dif- ferent from the response to a gain in the

amount of supply for supplier 2.

r Surplus = 10

Price = 0 Price = 55

x2,= 10@ $15 (D2) - 10

Price = 65

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

Page 6: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

Now consider the demand side. (1) The $55 price of consumer 1 is the

marginal cost of shipping with the optimal

pattern. He buys from supplier 1 at $55, and he would continue to do so if his de- mand increased or decreased one unit. The

total cost then changes at the rate of $55 per unit of demand change: ACost

= 55 Adl. (2) If the demand increased a bit (Ad2

> 0), consumer 2 would have to buy from

supplier 1 at a cost of $65 per unit. This is the meaning of the consumer price: ACost = 65 Ad2. There is, however, an alternative to consider. Suppose the added demand is

satisfied by supplier 2, at a cost of only $15. Then, this would take away from

consumer 3, whose demand must be made up with his purchase from supplier 1. The

net effect, for Ad2 = 1, is ACost = 15 - 25 + 80 = 70. It is therefore better to choose the first adjustment, giving the least in-

crease in total cost. Now what accounts for the $60 price in

the alternative solution? If the demand of consumer 2 is decreased (Ad2 < O), not

only do we save the $15, but also that unit of supply can be shipped to consumer 1, displacing one of the units currently

shipped by supplier 1, at a net savings of $10 - $55, or -$45. Adding this savings to the $15 unspent by consumer 2, the net effect is ACost = 60 Ad2 (for Ad2 < 0). Summarizing, the $65 represents the rate at which the min-cost increases if demand is increased; and, the $60 represents the rate at which the min-cost decreases if the demand is decreased. The asymmetry is again due to different responses, depend- ing upon whether the demand is increased or decreased.

INTERFACES 23:5 102

(3) The alternative prices for demand in the third market have an asymmetry simi- lar to that for the second market. If the de- mand is increased a bit (Ad3 > 0), con- sumer 3 would buy from supplier 2 at a unit cost of $25. Supplier 2, however, is

using all of his supply, so he must decrease shipment to market 2. This reduces the net change in cost by $15, but then consumer

2 must buy the unit from supplier 1 at a cost of $65. The net change in flows to ac- commodate this increase in demand 3 is thus 25 - 15 + 65, which equals the con- sumer 3 price, $75.

On the other hand, if the demand de-

creases a bit (Ad3 < O), consumer 3 reduces his purchase from supplier 2. This not only saves the $25 shipping cost, but also makes another unit available for supplier 2

to sell to market 1. Doing so saves $45 (the difference between the $10 from supplier 2 to market 1 and the $55 from supplier 1 to market 1). The net effect, therefore, is the sum of the direct savings ($25) plus the savings from displacement ($45) for a total savings of $70, which is the alternative

dual price. Reduced Costs and Economic Rents

In this section, I describe the notion of

economic rent and its connection with dual prices. Basically, an economic rent is the difference between a market clearing price (under perfect competition) and a selling price. Imagine, for example, two sources of

supply, A and B, in increasing order of cost. Suppose the less expensive A has lim- ited capacity, and the demand requires some supply from source B. The marginal price is the cost of supplying B, say $b, but this is the (only) market price. This means that while the supplier would be content to

Page 7: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

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

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

one supplier, labelled s, that is much farther from the market than the other suppliers, shown with small boxes. Sup- pose each supplier's production cost is $1,

and each of the nearby suppliers have zero transportation cost while the distant sup- plier has a transportation cost of $9. If the market demand is less than the total quan- tity that the nearby suppliers can supply, the market price is only $1, and the distant supplier ships nothing. Suppose, however, the nearby suppliers can provide only 100 units, but the market demand is 110 units. Then, the distant supplier ships 10 units, and the market price is $10 ($1 production

cost + $9 transportation cost). The nearby

suppliers also receive the market price of $10, so they receive an economic rent

of $9. In general, we have the following terms:

Delivered cost = Production cost -t Transportation cost,

Marginal price = Delivered cost -t Economic Rent.

To see this connection with LP, consider Figure 5, which shows a price-quantity supply function. The first step represents

the nearby supply of 100 units at $1; the second step represents the distant supplier

Market El

Price

1

lo_ 100 150 Quantity

Minimize COST subject to: COST = P I + 10*P2 SUPPLY = P I + P2 - M = 0 DEMAND = M=110 0 5 P1 r 100, 0 5 P2 r 50

Figure 5: An LP can represent a step function of supply price quantity with an activity per step.

of another 50 units at $10. Activity P1 is the production from the

nearby suppliers; its bound is the first step's width (loo), and its cost coehient is the step's height ($1). Activity P2 is the production from the distant supplier; its

bound is the second step's width (501, and its cost coefficient is the step's height ($10). Activity M logically moves all production

from the SUPPLY row to the DEMAND row (actual transportation costs are ab- sorbed in the production activities). The DEMAND equation requires the level of M to be the demand of 110 units. This causes

the optimal level of P1 to be at its bound of 100 and activity P2 to be basic with a production level of 10 units. The cost of P2 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 $9 to the nearby suppliers.

If, instead of a demand of 110 units, the demand is less than 100 units, activity P2 Figure 4: An economic rent arises when

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

Page 8: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

demand and P1 sets the SUPPLY price at $1. In this case, the meaning of the re- duced cost of P2, which is 9, is the differ- ence between the distant supplier's deliv- ered cost to market ($10) and the market price ($1).

A special demand value is 100 units, which is the capacity of the nearby sup-

pliers. In this case, there are alternative dual solutions (with a unique shipment of P I = M = 100 and P2 = 0). The first solu- tion is with P1 in the basis at its upper bound value, and the dual price is $1 (of both SUPPLY and DEMAND rows, equal- ity implied by the zero cost of activity M). The second solution is with P2 in the basis at zero level, and the dual price is $10.

The first solution gives the rate at which

the min-cost changes with respect to a de- crease in demand, say to 99. That is, the cost decreases at $1 per decrease in de- mand, which is the savings from the asso- ciated level of PI . The second solution gives the rate at which the min-cost

changes with respect to an increase in de- mand, say to 101. That is, the cost in- creases at $10 per increase in demand, which is the cost from the associated level

of P2. These simple examples form the ba- sis for what I describe in the next section. Another Problem

The foregoing examples give us a start- ing point for going deeper into price inter- pretation (see, also, [Akgiil 1984; Gal 1979;

Greenberg 1986; and Ho and Smith 19871). NOW consider another problem, where I shall show how to use path tracing for problems too large to see on one screen. The figures show the information, as obtained from ANALYZE [Greenberg 1983, 1987, 1988, 1992a,b, 1993133 (com-

INTERFACES 23:5

mands used are suppressed).

I begin to gain an understanding of the linear program by seeing its syntax. Figure 6 gives an overview of a linear program we shall consider, called WOODNET. First, it displays the schema, which shows three activity classes and two row classes (and the objective row, named COST). Row

class S balances supplies, and row class D balances demands. The domain informa-

tion gives the meaning of each of the three sets in the model. Then, it displays the translations of the row and column classes.

In this formulation, all right-hand sides are zero. Supply limits are represented by upper bounds on the supply activity levels, and demands are fixed values of demand activity levels. This is an equivalent model

of the transportation problem. Each cell entry gives the range of nonzeroes in this

instance, where a blank means that there are no nonzero coefficients in the subma- trix defined by the row and column classes. For example, the supply activities

(whose names begin with S) do not inter- sect any of the demand balance rows (whose names begin with D).

The analysis problem is to interpret the demand prices in the solution. I shall first go through the analysis to arrive at what we can regard as a mathematical solution. Then, we have the second phase of putting the response into English, which uses the syntax information, summarized in Fig- ure 6.

Figure 7 displays the demand prices. The first demand price we want to explain is the $73 for mahogany (MO in the set of materials, MT) in Chicago (CH in the set of demand regions, DR). The name of the as- sociated demand balance row is DMOCH.

Page 9: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

. . . . . . . . . . . , . . . . . . . . . . : : : : : : B L O C K S C H E M A :::::::::::::: S ( M T , S R ) T ( M T , S R , D R ) D ( M T , D R ) H O M O G E N

S ( M T , S R ) 1 -1 = 0 D ( M T , D R ) 1 - 1 = 0

. . C O S T 10160 5/20 . M I N : LO 0 0 51100 :UP 5/* * .- -

D O M A I N I N F O R M A T I O N M T m a t e r i a l S R l o c a t i o n D R 1 o 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 on . 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 1 o c a t i o n .

A co lumn 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 co lumn 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 1 o 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 by finding all the basic columns that inter- sect row DMOCIl in order to find the link(s) in the delivery path. Doing so adds one more link, as follows.

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

Figure 7: The table display of WOODNET de- 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).

P r i c e s o f D ( M T , D R ) ---......_---_..DR ................ ~::~~=~::=:~:~:Iz~

M T C H D E LA SE S F MO 73 75 68 71 65 O K 60 69 62 65 60 PI 22 22 17 20 24 WA 78 68 75 78 70

September-October 1993 105

Copyright O 2001 All Rights Reserved

Page 10: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

D S T M M M 0 0 0 C S S H E E 1 1 C

H C O S T + + = M I N DMOCH - + = 0 S M O S E + - = 0

Figure 8: After completing the path trace, we can picture the submatrix to see how mahogany is delivered to Chicago.

portation column. This, in turn, can lead to bringing in other rows and columns, pref-

erably basic, until we eventually reach a complete submatrix-that is, with each

equation balanced by positive and negative coefficients. Because the LP is feasible, a balance must be achievable in order to sat-

isfy the (homogeneous) balance equations. The result of the path trace is the subma- trix pictured in Figure 8.

The 3 X 3 submatrix shows the COST and a flow from the supply activity SMOSEl, shipped by the transportation activity TMOSECH, and finally consumed by the demand activity, DMOCHl. The picture is useful for seeing sign patterns and having a quick look at a submatrix.

Figure 9 shows the graph-based view of the delivery path in the fundamental di- graph.

To complete the interpretation, we re- quire additional information. Figure 10 lists the equations in the submatrix, so we can use the COST values, and it displays the three columns in the submatrix, so we can

see their levels and bounds. The demand activity (namely, DMOCHl) is at its fixed level. The associated transportation activity

(namely, TMOSECH) is thus at this same level (25), but the supply activity (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

C O L STAT LEVEL ( X I LO-BOUND UP-BOUND PRICE ( D l ------------.-------------...-----------.-..------------....-----------...--------------.------.---------.

DMOCHl L 2 5 . 0 0 0 2 5 . 0 0 0 25 .000 7 3 . 0 0 0 SMOSEl B 7 5 . 0 0 0 0 * 0 TMOSECH B 2 5 . 0 0 0 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

Page 11: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

D=O P = 55 D = O P = 73 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.

75 @$55 25 @$I8 25 @O

satisfy other demands. We are now in a position to give an al-

gebraic answer to this exercise. The trace, working back from the initial demand row,

reveals a path from supply to demand (Figure 11). The levels of the activities in

this path can be perturbed to accommo- date a change in the right-hand side of the demand row DMOCE-I (equivalently, the fixed level of the associated demand activ-

ity, DMOCI-11). The $73 is the total unit cost of this perturbation. The last listing (compare Figure 10) shows that the total (input) cost is $55 for the supply activity (SMOSEI) and $18 for the transportation activity (TMOSECH). Because there are no

loss or gain factors (that is, the body coeffi- cients are &I), the actual delivered cost is $55 + $18, or $73.

It is not usually the case that the deliv- ered cost equals the marginal price, owing to economic rents to lower-cost suppliers sending all of their supply. We next ana- lyze such a case by performing the same exercise for row DMOLA. The problem is to explain the $68 (compare Figure 7) in

terms of the model's structure and the par- ticular data. Figure 12 presents the result of tracing activities, but now a nonbasic activity plays an important role in finishing the analysis.

In Figure 13 we see that the supply ac-

-

only $50 ($45 for supply activity SMOSFl and $5 for transportation activity TMOSFLA). The difference of $50 and $68 is what we seek to explain. This is pre-

cisely the reduced cost of the capacitated supply activity, which is displayed as --18,

which represents an economic rent of $18. Because this nonbasic reduced cost is non- zero, the supply bound is binding, so the $18 must be due to the value of the capac- ity in fulfilling some other demand(s). That

is the story we want to develop. We must now trace the flow out of this

supplier to explain its reduced cost. We be- gin to explain the $18 difference by seeing

which consumers receive the other 10 units of supply from San Francisco. Figure 14 shows the result of listing the associated

Seattle +

D S T M M M 0 0 0 L S S A F F 1 1 L

A C O S T + + = M I N D M O L A - + = 0 S M O S F + - = 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

Page 12: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

supply row (SMOSF) with the columns of not only basic activities, but also of all col- umns with zero reduced cost. (This distinc-

tion will become apparent, as our problem needs to include dual degeneracy when tracing prices.)

First, the submatrix that contains row

SMOSF and its adjacent columns that have zero reduced cost are defined. The result is the following 1 X 3 system.

0 = SMOSF = -TMOSFDE

- TMOSFLA - TMOSFSE.

We then apply the trace procedure to this 1 X 3 submatrix to balance its flows with price-setting activities, and Figure 14 pic- tures the resulting submatrix.

We now want to see the flows and the reduced costs on the activities in this sub-

matrix. To do so, we display the rows and columns, shown in Figure 15. Our story starts to take shape, as the San Francisco supplier ships to other places.

Now we want to see the costs of the submatrix columns:

COST = 45 SMOSFl + 12 TMOSFDE

+ 5 TMOSFLA + 8 TMOSFSE

This tells us the delivered costs to Denver, Los Angeles, and Seattle. That is, we al- ready know the supply cost in San Fran- cisco is $45, and the trace told us that there are three activities with zero reduced

cost. The first is TMOSFDE, which trans- ports mahogany from San Francisco to Denver at a unit cost of $12. The second is TMOSFLA, which transports mahogany from San Francisco to Los Angeles at a unit cost of $5, which is the one we al- ready saw when we started this exercise.

The third is TMOSFSE, which transports mahogany from San Francisco to Seattle at

a unit cost of $8.

Notice that the consumer prices differ by their transportation costs since they receive their supply from the same supplier. For

C O L STAT LEVEL ( X I LO-BOUND UP-BOUND PRICE ( D l --~-~~~.~~---~.~------~-------~--~..-~--~...~~---~..-~------~----------~---~---~.--~--~-------------------

DMOLAl L 2 0 . 0 0 0 20 .000 2 0 . 0 0 0 68 .000 SMOSFl U 3 0 . 0 0 0 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 S M O S F L 0 0 0 63 .000

M I N COST = 45 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

Page 13: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

D D D S T T T M M M M M M M 0 0 0 0 0 0 0 D L S S S S S E A E F F F F l l l l D L S

E A E COST + + + + = P I I N DMOOE - + 0

DMOLA - + - 0 DMOSE - + = 0

SMOSF + - - - = 0

Figure 14: After tracing the margin-setting flows from the San Francisco supplier of mahogany, we can picture the resulting submatrix.

example, the transportation costs from San Francisco to Denver and from San Fran- cisco to Los Angeles are $12 and $5, re- spectively. Their consumer prices must

therefore differ by $7. From Figure 15, the

consumer prices are $75 and $68, respec- tively, which do indeed differ by $7. Simi-

larly, note that the $71 consumer price in Seattle differs from these by transportation cost differences: $4 from Denver's price and $ 3 from Los Angeles' price.

From Figure 16, we see that only two of

these margin-setting flows-that is, the ac- tivities with zero reduced cost-are posi- tive. The status of activity TMOSFDE is

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 the key for the answer we seek. Figure 16 pictures the submatrix with the associated demand row (DMODE) and all columns

whose activity lel7el is positive. We then apply the path-tracing procedure to obtain the answer to the question, "Where does Denver gets its mahogany?"

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

DMODE L 0 0 0 7 5 . 0 0 0 DM0 LA L 0 0 0 6 8 . 0 0 0 DMOSE L 0 0 0 7 1 . O O O SMOSF L 0 0 0 6 3 . 0 0 0

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

DMODEl L 2 0 . 0 0 0 2 0 . 0 0 0 2 0 . 0 0 0 7 5 . 0 0 0 DM0 LA1 L 2 0 . 0 0 0 2 0 . 0 0 0 2 0 . 0 0 0 6 8 . 0 0 0 DMOSEl L 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 7 1 . O O O SMOSFl U 3 0 . 0 0 0 0 3 0 . 0 0 0 - 1 8 . 0 0 0 TMOSFDE B 0 0 * 0 TMOSFLA B 2 0 . 0 0 0 0 * 0 TMOSFSE B 1 0 . 0 0 0 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

Page 14: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

GREENBERG

I

D T M M 0 0 D S E E 1 D

E D M O D E - + = 0

Figure 16: We initialize the submatrix to trace the price of mahogany in Denver (that is, the price of row DMODE).

Skipping the new picture after the trace, we immediately list the costs of the sub-

matrix columns:

COST = 55 SMOSEl + 20 TMOSEDE.

This tells us two things. First, the mahog- any comes from only one supplier, namely Seattle. Second, the delivered cost is $75 ($55 supply, which is activity SMOSEI, and $20 transportation, which is

TMOSEDE). This is like the first case (for the price of row DMOCH): Denver re- ceives all of its mahogany from a single

supplier, and there are no binding capacity constraints in the flow path, so the mar- ginal price of row DMODE is its delivered cost of $75.

Now we can put the pieces together and construct the analysis story. Figure 17 shows a flow graph that describes the situ- ation. The San Francisco supplier sends to Los Angeles (where we started) and to Seattle. The latter flow turns out to be ir- relevant to our original exercise of explain- ing the $68 marginal price for row DMOLA because it is not the cause of the $18 economic rent, which shows up as the

INTERFACES 23:5 110

- 18 reduced cost of the supply activity (SMOSFI). The margin-setting link is the one to Denver, even though there is no positive flow across that arc (activity TMOSFDE).

The story is that the consumer price for mahogany in Denver, which is P = 75 for row DMODE, is determined as in the first case: it receives its shipment from another supplier, namely from Seattle (via the transportation activity TMOSEDE), with the delivered cost of $75. The presence of the link from San Francisco to Denver, however, allows displacement if the capac-

ity of the San Francisco supplier would in- crease. The (actual) cost of shipping from San Francisco to Denver is $57 ($45 supply + $12 transportation), so the savings from displacement would be $18. This is what determined the economic rent we have sought to explain.

There are a number of ways to compose

the final explanation. One is that the con- sumer's price of mahogany in Los Angeles ($68) is due to demand in Denver and the limited supply in San Francisco. Even if we reduce the production cost and the trans- portation cost from San Francisco to Los Angeles, the price would still be $68 due to the market pressure resulting from lim- ited supply capacity. The only way to re- duce the $68 price is to reduce the deliv- ered cost from Seattle to Denver. If, for ex- ample, we reduce the transportation cost from San Francisco to Denver, the effect is to increase the economic rent-that is, the reduced cost of activity SMOSF becomes less than -18; the consumer price in Los Angeles remains at $68. Automatic Interpretation

What the examples suggest is that it is

Page 15: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

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

Page 16: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

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 $68 . The consumers i n Los Ange les 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 , however , 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 Ange les 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 Denver , 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 i v 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 we did. Upon looping over the resulting submatrix, the rule file obtains the delivery path. The resulting sentence is composed from a template into which the material

(mahogany), the supplier (San Francisco), and the delivered cost ($50) is substituted. It also branched to the logic for the situa- tion at hand, which is the presence of an

economic rent. After identifying the activity that sup-

plies mahogany in San Francisco (SMOSFI) as the key to explaining the price of $68, another rule is instantiated to explain the economic rent of $18.

The second part of the interpretation proceeds by first giving the supply cost and then executing the path-tracing proce- dure, as we did, to find the two consumers that receive the San Francisco supply. All of the response so far parallels what we did by obtaining the meanings and values

of the rows and columns, executing path- tracing, then deciding what we must ex- amine next. This reasoning is what makes the automatic response formation intelli- gent, as the logic reflects what we do as LP

experts. The rule contains logic to look for a degenerate link. In this case, Denver is found, and the logic goes through the same reasoning as we did.

After giving the two consumers for which there is positive flow from San Francisco, the rule identifies Denver as a key link in the solution. The actual words

are formed by templates plus "lookups" to substitute meanings, based upon the syn- tax, and values of elements, like the trans- portation costs. Concluding Remarks

The examples of price interpretation given here are among the easy ones, nota- bly because the linear programs are net- works. The methods of analysis for more

INTERFACES 23:5 112

Page 17: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

LINEAR PROGRAMS

general models, however, are similar. One still tries to trace a margin-setting substruc-

ture that has causal properties, but instead of a path in the sense of an ordinary net- work, it is a hyperpath in the fundamental digraph. It is important, however, that the LP be in canonical form for path-tracing to work properly. The A matrix in the equa- tion, y = Ax, should be signed such that a negative coefficient represents an activity's input, and a positive coefficient represents its output. Otherwise, the 1 / 0 structure could be confusing to any heuristic, like path-tracing, that depends upon this inter- preta tion.

With a means for obtaining causal infor- mation to support analysis, automatic in- terpretation becomes a reasonable consid- eration. Besides the examples given here, the methods have been applied success- fully to blending problems and other non- network linear programs using ANALYZE. A key to this is the use of the fundamental digraph and related graphs to represent model structures apart from data values.

There are some aspects of understanding prices in connection with marginal sensi- tivity analysis that I did not explain, due to limited time and space. In addition to ref- erences already cited, I suggest looking at

recent enhancements by Wendell [I9851

(see also [Ward and Wendell, 19901). Again, the interior point approach gives

the better range of information, but I can- not explain here.

As we articulate the analysis process more precisely, we can extend and sharpen the rules used by ANALYZE. This devel- opment is in progress, including experi- ments with automatic interpretation for a variety of models and situations. There is no substitute, however, for human analy- sis. Many interesting applications are be- yond the reach of current capabilities for automatic analysis, but the gap is closing.

Acknowledgments I gratefully acknowledge encouragement

and technical help from Frederic H. Murphy. I also received valuable com-

ments from John Stone and an anonymous referee that led to an improved version. In addition, support for the ongoing project

that produced ANALYZE (among other things) comes from a consortium of com-

panies: Amoco Oil Company, IBM, Shell Development Company, Chesapeake Deci- sion Sciences, GAMS Development Corpo- ration, Ketron Management Science, and MathPro, Incorporated.

References the interior point approach [Jansen, Roes, Akgiil, M. 1984, "A note on shadow prices in

and Terlaky 19921. For many applications, linear programming," Jour~lal of Operational Rescarcll Society, Vol. 35, No. 5, pp. 425-431.

using One particular basis from a collection Gal, T. 1979, Postoptinral Analyses, Parametric of alternative optima can give false or mis- 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

Page 18: How to Analyze the Results of Linear Programs-- Part 2 ...math.ucdenver.edu/~hgreenbe/papers/Greenberg93Analysis2.pdf(See Greenberg and Murphy [I9851 for a way to see the linear program

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