





































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
xij = Number of units shipped from node i to j using arc i–j. ... The transportation problem is a network-flow model without intermediate locations.
Typology: Lecture notes
1 / 45
This page cannot be seen from the preview
Don't miss anything!






































There are several kinds of linear-programming models that exhibit a special structure that can be exploited in the construction of efficient algorithms for their solution. The motivation for taking advantage of their structure usually has been the need to solve larger problems than otherwise would be possible to solve with existing computer technology. Historically, the first of these special structures to be analyzed was the trans- portation problem, which is a particular type of network problem. The development of an efficient solution procedure for this problem resulted in the first widespread application of linear programming to problems of industrial logistics. More recently, the development of algorithms to efficiently solve particular large-scale systems has become a major concern in applied mathematical programming. Network models are possibly still the most important of the special structures in linear programming. In this chapter, we examine the characteristics of network models, formulate some examples of these models, and give one approach to their solution. The approach presented here is simply derived from specializing the rules of the simplex method to take advantage of the structure of network models. The resulting algorithms are extremely efficient and permit the solution of network models so large that they would be impossible to solve by ordinary linear-programming procedures. Their efficiency stems from the fact that a pivot operation for the simplex method can be carried out by simple addition and subtraction without the need for maintaining and updating the usual tableau at each iteration. Further, an added benefit of these algorithms is that the optimal solutions generated turn out to be integer if the relevant constraint data are integer.
8.1 THE GENERAL NETWORK-FLOW PROBLEM
A common scenario of a network-flow problem arising in industrial logistics concerns the distribution of a single homogeneous product from plants (origins) to consumer markets (destinations). The total number of units produced at each plant and the total number of units required at each market are assumed to be known. The product need not be sent directly from source to destination, but may be routed through intermediary points reflecting warehouses or distribution centers. Further, there may be capacity restrictions that limit some of the shipping links. The objective is to minimize the variable cost of producing and shipping the products to meet the consumer demand. The sources, destinations, and intermediate points are collectively called nodes of the network, and the transportation links connecting nodes are termed arcs. Although a production/distribution problem has been given as the motivating scenario, there are many other applications of the general model. Table E8.1 indicates a few of the many possible alternatives. A numerical example of a network-flow problem is given in Fig 8.1. The nodes are represented by numbered circles and the arcs by arrows. The arcs are assumed to be directed so that, for instance, material can be sent from node 1 to node 2, but not from node 2 to node 1. Generic arcs will be denoted by i – j , so that 4–5 means the arc from node 4 to node 5. Note that some pairs of nodes, for example 1 and 5, are not connected directly by an arc.
227
228 Network Models 8.
Table 8.1 Examples of Network Flow Problems Urban Communication Water transportation systems resources
Product Buses, autos, etc. Messages Water
Nodes Bus stops, Communication Lakes, reservoirs, street intersections centers, pumping stations relay stations Arcs Streets (lanes) Communication Pipelines, canals, channels rivers
Figure 8.1 exhibits several additional characteristics of network flow problems. First, a flow capacity is assigned to each arc, and second, a per-unit cost is specified for shipping along each arc. These characteristics are shown next to each arc. Thus, the flow on arc 2–4 must be between 0 and 4 units, and each unit of flow on this arc costs $2.00. The ∞’s in the figure have been used to denote unlimited flow capacity on arcs 2– and 4–5. Finally, the numbers in parentheses next to the nodes give the material supplied or demanded at that node. In this case, node 1 is an origin or source node supplying 20 units, and nodes 4 and 5 are destinations or sink nodes requiring 5 and 15 units, respectively, as indicated by the negative signs. The remaining nodes have no net supply or demand; they are intermediate points, often referred to as transshipment nodes. The objective is to find the minimum-cost flow pattern to fulfill demands from the source nodes. Such problems usually are referred to as minimum-cost flow or capacitated transshipment problems. To transcribe the problem into a formal linear program, let
xi j = Number of units shipped from node i to j using arc i – j.
Then the tabular form of the linear-programming formulation associated with the network of Fig. 8.1 is as shown in Table 8.2. The first five equations are flow-balance equations at the nodes. They state the conservation-of-flow law, ( Flow out of a node
Flow into a node
Net supply at a node
As examples, at nodes 1 and 2 the balance equations are:
x 12 + x 13 = 20 x 23 + x 24 + x 25 − x 12 = 0. It is important to recognize the special structure of these balance equations. Note that there is one balance equation for each node in the network. The flow variables xi j have only 0, +1, and −1 coefficients in these
Figure 8.1 Minimum-cost flow problem.
230 Network Models 8.
The Transportation Problem
The transportation problem is a network-flow model without intermediate locations. To formulate the problem, let us define the following terms:
ai = Number of units available at source i ( i = 1 , 2 ,... , m ); b (^) j = Number of units required at destination j ( j = 1 , 2 ,... , n ); ci j = Unit transportation cost from source i to destination j ( i = 1 , 2 ,... , m ; j = 1 , 2 ,... , n ).
For the moment, we assume that the total product availability is equal to the total product requirements; that is,
∑^ m
i = 1
ai =
∑^ n
j = 1
b (^) j.
Later we will return to this point, indicating what to do when this supply–demand balance is not satisfied. If we define the decision variables as:
xi j = Number of units to be distributed from source i to destination j ( i = 1 , 2 ,... , m ; j = 1 , 2 ,... , n ),
we may then formulate the transportation problem as follows:
Minimize z =
∑^ m
i = 1
∑^ n
j = 1
ci j xi j , (1)
subject to:
∑^ n
j = 1
xi j = ai ( i = 1 , 2 ,... , m ), (2)
∑^ m
i = 1
(− xi j ) = − b (^) j ( j = 1 , 2 ,... , n ), (3)
xi j ≥ 0 ( i = 1 , 2 ,... , m ; j = 1 , 2 ,... , n ) (4)
Expression (1) represents the minimization of the total distribution cost, assuming a linear cost structure for shipping. Equation (2) states that the amount being shipped from source i to all possible destinations should be equal to the total availability, ai , at that source. Equation (3) indicates that the amounts being shipped to destination j from all possible sources should be equal to the requirements, b (^) j , at that destination. Usually Eq. (3) is written with positive coefficients and righthand sides by multiplying through by minus one. Let us consider a simple example. A compressor company has plants in three locations: Cleveland, Chicago, and Boston. During the past week the total production of a special compressor unit out of each plant has been 35, 50, and 40 units respectively. The company wants to ship 45 units to a distribution center in Dallas, 20 to Atlanta, 30 to San Francisco, and 30 to Philadelphia. The unit production and distribution costs from each plant to each distribution center are given in Table E8.3. What is the best shipping strategy to follow? The linear-programming formulation of the corresponding transportation problem is:
Minimize z = 8 x 11 + 6 x 12 + 10 x 13 + 9 x 14 + 9 x 21 + 12 x 22 + 13 x 23
8.2 Special Network Models 231
Table 8.3 Unit Production and Shipping Costs Distribution centers San Availability Plants Dallas Atlanta Francisco Phila. (units) Cleveland 8 6 10 9 35 Chicago 9 12 13 7 50 Boston 14 9 16 5 40 Requirements (units) 45 20 30 30 [125]
subject to:
x 11 + x 12 + x 13 + x 14 = 35 , x 21 + x 22 + x 23 + x 24 = 50 , x 31 + x 32 + x 33 + x 34 = 40 , − x 11 − x 21 − x 31 = − 45 , − x 12 − x 22 − x 32 = − 20 , − x 13 − x 23 − x 33 = − 30 , − x 14 − x 24 − x 34 = − 30 ,
xi j ≥ 0 (i=1,2,3; j=1,2,3,4).
Because there is no ambiguity in this case, the same numbers normally are used to designate the origins and destinations. For example, x 11 denotes the flow from source 1 to destination 1, although these are two distinct nodes. The network corresponding to this problem is given in Fig. 8.2.
The Assignment Problem
Though the transportation model has been cast in terms of material flow from sources to destinations, the model has a number of additional applications. Suppose, for example, than n people are to be assigned to n jobs and that ci j measures the performance of person i in job j. If we let
xi j =
1 if person i is assigned to job j , 0 otherwise,
Figure 8.2 Transportation network.
8.2 Special Network Models 233
Figure 8.
0 ≤ xi j ≤ ui j ( i = 1 , 2 ,... , n ; j = 1 , 2 ,... , n ).
Let us again consider a simple example. A city has constructed a piping system to route water from a lake to the city reservoir. The system is now underutilized and city planners are interested in its overall capacity. The situation is modeled as finding the maximum flow from node 1, the lake, to node 6, the reservoir, in the network shown in Fig. 8.3. The numbers next to the arcs indicate the maximum flow capacity (in 100,000 gallons/day) in that section of the pipeline. For example, at most 300,000 gallons/day can be sent from node 2 to node 4. The city now sends 100,000 gallons/day along each of the paths 1–2–4–6 and 1–3–5–6. What is the maximum capacity of the network for shipping water from node 1 to node 6?
The Shortest-Path Problem
The shortest-path problem is a particular network model that has received a great deal of attention for both practical and theoretical reasons. The essence of the problem can be stated as follows: Given a network with distance ci j (or travel time, or cost, etc.) associated with each arc, find a path through the network from a particular origin (source) to a particular destination (sink) that has the shortest total distance. The simplicity of the statement of the problem is somewhat misleading, because a number of important applications can be formulated as shortest- (or longest-) path problems where this formulation is not obvious at the outset. These include problems of equipment replacement, capital investment, project scheduling, and inventory planning. The theoretical interest in the problem is due to the fact that it has a special structure, in addition to being a network, that results in very efficient solution procedures. (In Chapter 11 on dynamic programming, we illustrate some of these other procedures.) Further, the shortest-path problem often occurs as a subproblem in more complex situations, such as the subproblems in applying decomposition to traffic-assignment problems or the group-theory problems that arise in integer programming. In general, the formulation of the shortest-path problem is as follows:
Minimize z =
i
j
ci j xi j ,
subject to:
∑
j
xi j −
k
xki =
1 if i = s (source), 0 otherwise, − 1 if i = t (sink)
xi j ≥ 0 for all arcs i – j in the network.
We can interpret the shortest-path problem as a network-flow problem very easily. We simply want to send one unit of flow from the source to the sink at minimum cost. At the source, there is a net supply of one unit; at the sink, there is a net demand of one unit; and at all other nodes there is no net inflow or outflow.
234 Network Models 8.
As an elementary illustration, consider the example given in Fig. 8.4, where we wish to find the shortest distance from node 1 to node 8. The numbers next to the arcs are the distance over, or cost of using, that arc. For the network specified in Fig. 8.4, the linear-programming tableau is given in Tableau 1.
Tableau 8.4 Node–Arc Incidence Tableau for a Shortest-PathProblem
Rela - x 12 x 13 x 24 x 25 x 32 x 34 x 37 x 45 x 46 x 47 x 52 x 56 x 58 x 65 x 67 x 68 x 76 x 78 tions RHS Node 1 1 1 = 1 Node 2 − 1 1 1 − 1 − 1 = 0 Node 3 − 1 1 1 1 = 0 Node 4 − 1 − 1 1 1 1 = 0 Node 5 − 1 − 1 1 1 1 − 1 = 0 Node 6 − 1 − 1 1 1 1 − 1 = 0 Node 7 − 1 − 1 − 1 1 1 = 0 Node 8 − 1 − 1 − 1 = − 1 Distance 5.1 3.4 0.5 2.0 1.0 1.5 5.0 2.0 3.0 4.2 1.0 3.0 6.0 1.5 0.5 2.2 2.0 2.4 = z (min)
8.3 THE CRITICAL-PATH METHOD
The Critical-Path Method (CPM) is a project-management technique that is used widely in both government and industry to analyze, plan, and schedule the various tasks of complex projects. CPM is helpful in identifying which tasks are critical for the execution of the overall project, and in scheduling all the tasks in accordance with their prescribed precedence relationships so that the total project completion date is minimized, or a target date is met at minimum cost. Typically, CPM can be applied successfully in large construction projects, like building an airport or a highway; in large maintenance projects, such as those encountered in nuclear plants or oil refineries; and in complex research-and-development efforts, such as the development, testing, and introduction of a new product. All these projects consist of a well specified collection of tasks that should be executed in a certain prescribed sequence. CPM provides a methodology to define the interrelationships among the tasks, and to determine the most effective way of scheduling their completion. Although the mathematical formulation of the scheduling problem presents a network structure, this is not obvious from the outset. Let us explore this issue by discussing a simple example. Suppose we consider the scheduling of tasks involved in building a house on a foundation that already exists. We would like to determine in what sequence the tasks should be performed in order to minimize
Figure 8.4 Network for a shortest-path problem.
236 Network Models 8.
immediate predecessor. Obviously, they cannot start until task 3 is finished; therefore, they should have the same earliest starting time. Letting t 6 be the earliest completion time of the entire project, out objective is to minimize the project duration given by
Minimize t 6 − t 1 ,
subject to the precedence constraints among tasks. Consider a particular task, say 6, installing the electricity. The earliest starting time of task 6 is t 4 , and its immediate predecessors are tasks 2 and 4. The earliest starting times of tasks 2 and 4 are t 2 and t 3 , respectively, while their durations are 1 and 2.5 weeks, respectively. Hence, the earliest starting time of task 6 must satisfy:
t 4 ≥ t 2 + 1 , t 4 ≥ t 3 + 2. 5.
In general, if t (^) j is the earliest starting time of a task, ti is the earliest starting time of an immediate predecessor, and di j is the duration of the immediate predecessor, then we have:
t (^) j ≥ ti + di j.
For our example, these precedence relationships define the linear program given in Tableau E8.2.
Tableau 8. t 1 t 2 t 3 t 4 t 5 t 6 Relation RHS − 1 1 ≥ 2 − 1 1 ≥ 3 − 1 1 ≥ 1 − 1 1 ≥ 2. − 1 1 ≥ 1. − 1 1 ≥ 2 − 1 1 ≥ 3 −1 1 ≥ 4 − 1 1 = T (min)
We do not yet have a network flow problem; the constraints of (5) do not satisfy our restriction that each column have only a plus-one and a minus-one coefficient in the constraints. However, this is true for the rows, so let us look at the dual of (5). Recognizing that the variables of (5) have not been explicitly restricted to the nonnegative, we will have equalityconstraints in the dual. If we let xi j be the dual variable associated with the constraint of (5) that has a minus one as a coefficient for ti and a plus one as a coefficient of t (^) j , the dual of (5) is then given in Tableau 3.
Tableau 8. x 12 x 23 x 24 x 34 x 35 x 45 x 46 x 56 Relation RHS − 1 = − 1 1 − 1 − 1 = 0 1 − 1 − 1 = 0 1 1 − 1 − 1 = 0 1 1 − 1 = 0 1 1 = 1 2 3 1 2.5 1.5 2 3 4 = z (max)
8.4 Capacitated Production—A Hidden Network 237
Now we note that each column of (6) has only one plus-one coefficient and one minus-one coefficient, and hence the tableau describes a network. If we multiply each equation through by minus one, we will have the usual sign convention with respect to arcs emanating from or incident to a node. Further, since the righthand side has only a plus one and a minus one, we have flow equations for sending one unit of flow from node 1 to node 6. The network corresponding to these flow equations is given in Fig. 8.6; this network clearly maintains the precedence relationships from Table 8.4. Observe that we have a longest-path problem, since we wish to maximize z (in order to minimize the project completion date T ). Note that, in this network, the arcs represent
Figure 8.6 Event-oriented network.
the tasks, while the nodes describe the precedence relationships among tasks. This is the opposite of the net- work representation given in Fig. 8.5. As we can see, the network of Fig. 8.6. contains 6 nodes, which is the number of sequencing constraints prescribed in the task definition of Table 8.4. since only six earliest starting times were required to characterize these constraints. Because the network representation of Fig. 8.6 empha- sizes the event associated with the starting of each task, it is commonly referred to as an event-oriented network. There are several other issues associated with critical-path scheduling that also give rise to network-model formulations. In particular, we can consider allocating funds among the various tasks in order to reduce the total time required to complete the project. The analysis of the cost-v s .-time tradeoff for such a change is an important network problem. Broader issues of resource allocation and requirements smoothing can also be interpreted as network models, under appropriate conditions.
8.4 CAPACITATED PRODUCTION—A HIDDEN NETWORK
Network-flow models are more prevalent than one might expect, since many models not cast naturally as networks can be transformed into a network format. Let us illustrate this possibility by recalling the strategic- planning model for aluminum production developed in Chapter 6. In that model,bauxite ore is converted to aluminum products in several smelters, to be shipped to a number of customers. Production and shipment are governed by the following constraints:
∑
a
p
Q sap − M s = 0 (s = 1 , 2 ,... , 11 ), (7)
a
Q sap − E sp = 0 (s = 1 , 2 ,... , 11 ; p = 1 , 2 ,... , 8 ), (8)
s
Q sap = d ap (a = 1 , 2 ,... , 40 ; p = 1 , 2 ,... , 8 ), (9)
m s ≤ M s ≤ m s (s = 1 , 2 ,... , 11 ),
e sp ≤ E sp ≤ e sp (p = 1 , 2 ,... , 40 ).
8.5 Solving the Transportation Problem 239
Figure 8.7 Network formulation of the aluminum production-planning model.
Finally, observe that the network in Fig. 8.7 contains only a small percentage of the arcs that could potentially connect the nodes since, for example, the smelters do not connect directly with customer demands. This low density of arcs is common in practice, and aids in both the information storage and the computations for network models.
8.5 SOLVING THE TRANSPORTATION PROBLEM
Ultimately in this chapter we want to develop an efficient algorithm for the general minimum-cost flow problem by specializing the rules of the simplex method to take advantage of the problem structure. However, before taking a somewhat formal approach to the general problem, we will indicate the basic ideas by developing a similar algorithm for the transportation problem. The properties of this algorithm for the transportation problem will then carry over to the more general minimum-cost flow problem in a straightforward manner. Historically, the transportation problem was one of the first special structures of linear programming for which an efficient special-purpose algorithm was developed. In fact, special-purpose algorithms have been developed for all of the network structures presented in Section 8.1, but they will not be developed here. As we have indicated before, many computational algorithms are characterized by three stages:
After an initial solution is found, the algorithm repetitively applies steps 2 and 3 so that, in most cases, after
240 Network Models 8.
Tableau 8. Destinations Sources 1 2 · · · n Supply c 11 c 12 c 1 n 1 x 11 x 12 · · · x 1 n a 1 c 21 c 22 c 2 n 2 x 21 x 22 · · · x 2 n a 2 .. .
.. .
.. .
.. .
.. . cm 1 cm 2 cmn m xm 1 xm 2 · · · xmn am Demand b 1 b 2 · · · bn Total
a finite number of steps, a termination condition arises. The effectiveness of an algorithm depends upon its efficiency in attaining the termination condition. Since the transportation problem is a linear program, each of the above steps can be performed by the simplex method. Initial solutions can be found very easily in this case, however, so phase I of the simplex method need not be performed. Also, when applying the simplex method in this setting, the last two steps become particularly simple. The transportation problem is a special network problem, and the steps of any algorithm for its solution can be interpreted in terms of network concepts. However, it also is convenient to consider the transporta- tion problem in purely algebraic terms. In this case, the equations are summarized very nicely by a tabular representation like that in Tableau E8.4. Each row in the tableau corresponds to a source node and each column to a destination node. The numbers in the final column are the supplies available at the source nodes and those in the bottom row are the demands required at the destination nodes. The entries in cell i – j in the tableau denote the flow allocation xi j from source i to destination j and the corresponding cost per unit of flow is ci j. The sum of xi j across row i must equal ai in any feasible solution, and the sum of xi j down column j must equal b (^) j.
Initial Solutions
In order to apply the simplex method to the transportation problem, we must first determine a basic feasible solution. Since there are ( m + n ) equations in the constraint set of the transportation problem, one might conclude that, in a nondegenerate situation, a basic solution will have ( m + n ) strictly positive variables. We should note, however, that, since (^) m ∑
i = 1
ai =
∑^ n
j = 1
b (^) j =
∑^ m
i = 1
∑^ n
j = 1
xi j ,
one of the equations in the constraint set is redundant. In fact, any one of these equations can be eliminated without changing the conditions represented by the original constraints. For instance, in the transportation example in Section 8.2, the last equation can be formed by summing the first three equations and subtracting the next three equations. Thus, the constraint set is composed of ( m + n − 1 ) independent equations, and a corresponding nondegenerate basic solution will have exactly ( m + n − 1 ) basic variables. There are several procedures used to generate an initial basic feasible solution, but we will consider only a few of these. The simplest procedure imaginable would be one that ignores the costs altogether and rapidly produces a basic feasible solution. In Fig. 8.8, we have illustrated such a procedure for the transportation problem introduced in Section 8.2. We simply send as much as possible from origin 1 to destination 1, i.e., the minimum of the supply and demand, which is 35. Since the supply at origin 1 is then exhausted but the demand at destination 1 is not, we next fulfill the remaining demand at destination 1 from that available at origin 2. At this point destination 1 is completely supplied, so we send as much as possible (20 units) of the
242 Network Models 8.
Figure 8.9 Finding an initial basis by the minimum-matrix method.
completely supplying destination 4. Ignoring the arcs entering destination 4, the least-cost remaining arc joins origin 1 and destination 2, at a cost of $6/unit, so we allocate the maximum possible, 20 units, to this arc, completely supplying destination 2. Then, ignoring the arcs entering either destination 2 or 4, the least-cost remaining arc joins origin 1 and destination 1, at a cost of $8/unit, so we allocate the maximum possible, 15 units, to this arc, exhausting the supply at origin 1. Note that this arc is the least-cost remaining arc but not the next-lowest-cost unused arc in the entire cost array. Then, ignoring the arcs leaving origin 1 or entering destinations 2 or 4, the procedure continues. It should be pointed out that the last two arcs used by this procedure are relatively expensive, costing $13/unit and $16/unit. It is often the case that the minimum matrix method produces a basis that simultaneously employs some of the least expensive arcs and some of the most expensive arcs. There are many other methods that have been used to find an initial basis for starting the transportation method. An obvious variation of the minimum matrix method is the minimum row method, which allocates as much as possible to the available arc with least cost in each row until the supply at each successive origin is exhausted. There is clearly the analogous minimum column method. It should be pointed out that any comparison among procedures for finding an initial basis should be made only by comparing solution times , including both finding the initial basis and determining an optimal solution. For example, the northwest-corner method clearly requires fewer operations to determine an initial basis than does the minimum matrix rule, but the latter generally requires fewer iterations of the simplex method to reach optimality. The two procedures for finding an initial basic feasible solution resulted in different bases; however, both have a number of similarities. Each basis consists of exactly ( m + n − 1 ) arcs, one less than the number of nodes in the network. Further, each basis is a subnetwork that satisfies the following two properties:
A subnetwork that satisfies these two properties is called a spanning tree. It is the fact that a basis corresponds to a spanning tree that makes the solution of these problems by the simplex method very efficient. Suppose you were told that a feasible basis consists of arcs 1–1, 2–1, 2–2, 2–4, 3–2, and 3–3. Then the allocations to each arc can be determined in a straightforward way without algebraic manipulations of tableaus. Start by selecting any end (a node with only 1 arc connecting it to the rest of the network) in the subnetwork. The allocation to the arc joining that end must be the supply or demand available at that end. For example, source 1 is an end node. The allocation on arc 1–1 must then be 35, decreasing
8.5 Solving the Transportation Problem 243
Figure 8.10 Determining the values of the basic variables.
the unfulfilled demand at destination 1 from 45 to 10 units. The end node and its connecting arc are then dropped from the subnetwork and the procedure is repeated. In Fig. 8.10, we use these end-node evaluations to determine the values of the basic variables for our example. This example also illustrates that the solution of a transportation problem by the simplex method results in integer values for the variables. Since any basis corresponds to a spanning tree, as long as the supplies and demands are integers the amount sent across any arc must be an integer. This is true because, at each stage of evaluating the variables of a basis, as long as the remaining supplies and demands are integer the amount sent to any end must also be an integer. Therefore, if the initial supplies and demands are integers, any basic feasible solution will be an integer solution.
Optimization Criterion
Because it is so common to find the transportation problem written with +1 coefficients for the variables xi j (i.e., with the demand equations of Section 8.2 multiplied by minus one), we will give the optimality conditions for this form. They can be easily stated in terms of the reduced costs of the simplex method. If xi j for i = 1 , 2 ,... , m and j = 1 , 2 ,... , n is a feasible solution to the transportation problem:
Minimize z =
∑^ m
i = 1
∑^ n
j = 1
ci j xi j ,
subject to: Shadow prices ∑^ n
j = 1
xi j = ai ( i = 1 , 2 ,... , m ), ui
∑ m
i = 1
xi j = b (^) j ( j = 1 , 2 ,... , n ), v (^) j
xi j ≥ 0 ,
then it is optimal if there exist shadow prices (or simplex multipliers) ui associated with the origins and v (^) j associated with the destinations, satisfying:
ci j = ci j − ui − v (^) j ≥ 0 if xi j = 0 , (14)
8.5 Solving the Transportation Problem 245
Improving the Basic Solution
As we indicated, every basic variable has associated with it a value of ci j = 0. If the current basic solution is not optimal, then there exists at least one nonbasic variable xi j at value zero with ci j negative. Let us select, among all those variables, the one with the most negative ci j (ties are broken by choosing arbitrarily from those variables that tie); that is,
cst = Min i j
ci j = ci j − ui − v (^) j | ci j < 0
Thus, we would like to increase the corresponding value of xst as much as possible, and adjust the values of the other basic variables to compensate for that increase. In our illustration, cst = c 13 = −2, so we want to introduce x 13 into the basis. If we consider Fig. 8.5 we see that adding the arc 1–3 to the spanning tree corresponding to the current basis creates a unique loop O 1 –D 3 –O 2 –D 1 –O 1 where O and D refer to origin and destination, respectively. It is easy to see that if we make xst = θ, maintaining all other nonbasic variables equal to zero, the flows on this loop must be adjusted by plus or minus θ, to maintain the feasibility of the solution. The limit to which θ can be increased corresponds to the smallest value of a flow on this loop from which θ must be subtracted. In this example, θ may be increased to 15, corresponding to x 11 being reduced to zero and therefore dropping out of the basis. The basis has x 13 replacing x 11 , and the corresponding spanning tree has arc 1–3 replacing arc 1–1 in Fig. 8.12. Given the new basis, the procedure of determining the shadow prices and then the reduced costs, to check the optimality conditions of the simplex method, can be repeated.
Figure 8.12 Introducing a new variable. It should be pointed out that the current solution usually is written out not in network form but in tableau form, for case of computation. The current solution given in Fig. 8.12 would then be written as in Tableau 6. Note that the row and column totals are correct for any value of θ satisfying 0 ≤ θ ≤ 15. The tableau form for the current basic solution is convenient to use for computations, but the justification of its use is most easily seen by considering the corresponding spanning tree. In what follows we will use the tableau form to illustrate the computations. After increasing θ to 15, the resulting basic solution is given in Tableau
246 Network Models 8.
7 (ignoring θ) and the new multipliers and reduced costs in Tableau 8.
Since the only negative reduced cost corresponds to c ¯ 32 = −3, x 32 is next introduced into the basis. Adding the arc 3–2 to the spanning tree corresponds to increasing the allocation to cell 3–2 in the tableau and creates a unique loop O 3 –D 2 –O 1 –D 3 –O 3. The flow θ on this arc may be increased until θ = 10, corresponding to x 33 dropping from the basis. The resulting basic solution is Tableau 9 and the new multipliers and reduced costs are given in Tableau 10.
Since all of the reduced costs are now nonnegative, we have the optimal solution.
8.6 ADDITIONAL TRANSPORTATION CONSIDERATIONS
In the previous section, we described how the simplex method has been specialized in order to solve trans- portation problems efficiently. There are three steps to the approach: