570 likes | 882 Views
Chapter 5 Network Flow Programming Models. A network is a set of nodes joined by a set of arcs , much like a highway system linking major cities or a power grid that supplies electricity to a community over high-tension wires.
E N D
Chapter 5 Network Flow Programming Models
A network is a set of nodes joined by a set of arcs, much like a highway system linking major cities or a power grid that supplies electricity to a community over high-tension wires. We consider in this chapter networks in which the arcs carry flow and the total flow entering each node must equal the total flow leaving each node. One optimization problem that is defined on a network is to determine the assignment of flows to the arcs such that the total cost of the flow is minimized. This is called the network flow programming (NFP) problem or, alternatively , the minimum-cost flow problem. 4. The NFP problem has a linear programming (LP) model, so NFP can be considered a special case of LP. Introduction
Problems that can be modeled with NFP include some of the classical problems of OR such as the assignment problem, the shortest path problem, the maximum flow problem, the pure minimum-cost flow problem, and the generalized minimum-cost flow problem. As an introduction we provide a graphical representation of a typical model. The situation associated with the model involves the distribution of a single commodity across the country. When more than one commodity flows in a network, the underlying problem becomes much more difficult to solve.
NODES AND ARCS The network flow model consists of nodes and arcs. In the context of modeling a problem, each node, shown as a circle, represents some aspect of the problem, such as a physical location, an individual worker, or a point in time. 2. For modeling purposes, it is often convenient to assign names to the nodes. Arcs are directed line segments that generally pass from an origin node to a terminal node, although in the case of external flow, an arc may be incident to only one node. If an arc does not have a direction, it is sometimes referred to as an edge. The number of nodes is denoted by m, and the number of arcs by n. Terminology
ARC FLOW Flow is associated with the network, entering and leaving at the nodes and passing through the arcs. The flow in arc k is xk.When flow is conserved at the nodes, the total flow entering a node must equal the total flow leaving the node. The arc flows are the decision variables for the network flow programming model.
UPPER AND LOWER BOUNDS ON FLOW Flow is limited in an arc by lower and upper bounds. Sometimes the term capacity refers to the upper bound on flow. We use lk and ukfor the lower and upper bounds of arc k, respectively. COST The criterion for optimality is cost. Associated with each arc k is the cost per unit of flowck. Negative values of ck correspond to revenues.
GAIN The arc gaingkmultiplies the flow at the beginning of the arc to obtain the flow at the end of the arc. When a flow xk is assigned to an arc, this flow leaves the origin node of the arc. The flow entering the terminal node is gkxk. The arc's lower bound, upper bound, and cost all refer to the flow at the beginning of the arc. Gains less than 1 model losses, such as evaporation or spoilage. Gains greater than 1 model growth in flow. A network in which all arcs have unit gains is called a pure network. The optimal solution for a pure network with integer parameters always has integer flows. If some gains have values other than 1, the network is a generalized network, and the solution is not usually integral.
ARC PARAMETERS In a network diagram, the arc parameters are shown adjacent to arcs and are enclosed in parentheses (e.g., lower bound, upper bound, cost, gain). When a parameter is not shown, it assumes its default value. Default values are 0 for the lower bound, for the upper bound, 0 for the cost, and 1 for the gain. EXTERNAL FLOWS The external flow at node i, denoted by bi is the flow that must enter node i from sources, or leave node i for destinations outside the network. A positive external flow enters the node, and a negative external flow leaves the node. In a network diagram, the external flow is shown in square brackets adjacent to the node.
FEASIBLE FLOW When an assignment of flows to the arcs satisfies conservation of flow for each node and is within the bounds of each arc, the flow is said to be feasible. OPTIMAL FLOW The feasible flow that minimizes the sum of all arc costs is the optimal flow.
In the statement of the classical transportation problem, balance is present, which means that the total supply always equals the total demand-i.e., 2. This is the case in our example and is a sufficient condition for feasibility. Instances of the problem can always be put into this form with the addition of a dummy supply point (call it m +1) when demand exceeds supply, or a dummy demand point (call it n +1 ) when supply exceeds demand. 3. If denotes the excess, we set . All unit costs, , associated with the corresponding shipments are set equal to zero. Transportation Problem
5.1 CLASSICAL PROBLEMS 1. The network has a special form important in graph theory. It is called a bipartite network, which means that the nodes can be divided into two subsets with all arcs going from one subset to the other. The optimal solution for this example is shown in Figure 5.5
5.1 CLASSICAL PROBLEMS Assignment Problem A typical assignment problem, presented in the classic form, is shown in Figure 5.6. Here there are five workers that are to be assigned to five jobs. The numbers in the matrix indicate the cost of worker i doing job j. Jobs with costs of M are disallowed assignments. The problem is to match workers and jobs at minimum cost.
Shortest Path Problem The problem is to find the shortest path from some specified node, node A for example, to some other node or perhaps to all other nodes. The latter problem is called the shortest path tree problem because the collection of all shortest paths from a specified node forms a graph structure called a tree. Since it is not much more difficult to find the paths to all nodes than it is to find the path to one node, the shortest path tree problem is usually solved. The NFP equivalent of the shortest path tree problem is formed by equating arc distance to arc cost, assigning a fixed external flow of m - 1 ( m is the number of nodes ) to the source node, and assigning fixed external flows of -1 to every other node. 5.1 CLASSICAL PROBLEMS
Maximum Flow Problem The problem is to find the maximum possible flow from a given source node s to a given sink node t. All arc costs are zero with the exception that the cost on the arc leaving the sink is set to -1. Since the objective is to minimize cost, the maximum possible flow is delivered to the sink node. By convention, we assign a large number M to the upper bound on flow into the source and out of the sink node. The individual arc flows that yield this result are shown in parentheses. The bold arcs in the figure, {(1,3), (2,6), (2,7), (5,8)}, are called the minimal cut. In general, a cut is a set of arcs such that if they are removed from the graph, no flow can pass from the source to the sink. 5.1 CLASSICAL PROBLEMS
A cut partitions the nodes in a graph into two disjoint subsets or subgraphs. The arcs in the minimal cut are the bottlenecks that are restricting the maximum flow. The fact that the sum of the capacities of the arcs on the minimal cut equals the maximum flow in this example is not a coincidence. It is always the case and is a famous primal-dual result in network theory called the max-flow min-cut theorem. The arcs comprising the minimal cut can be identified using sensitivity analysis. 5.1 CLASSICAL PROBLEMS
5.2 EXTENSIONS OF THE BASIC MODELS Transportation Problem with Costs and Revenues • Consider a company that has two plants (S1 and S2) and four customers (D1,D2,D3, and D4). The problem faced by the plant manager is to find the optimal shipping pattern that maximizes the net profit-that is, revenue less shipping costs less manufacturing costs. • The only difference is that the quantities available at the sources and the amounts demanded by the customers are no longer fixed but are given by a range of values.
5.2 EXTENSIONS OF THE BASIC MODELS *Treat extra supply and demand as capacity of external flows.
Multiperiod Operations The company needs to establish a shipping schedule for the next two months. The demands for each customer are 15 units in the first month and 20 units in the second month. These demands must be met. Plant S1 has a manufacturing capacity of 30 units per month and plant S2 has a capacity of 50 units per month. In the first month ,the production cost are $8 per unit at plan S1 has and $l0 per unit at plant S2. In the second month, the unit costs are $9 per unit at both plants. Products can be stored at the customer sites from one month to the next at a cost of $1 perunit. Products cannot be stored at the plants. Shipping costs are as given in the preceding example except that the shipping company is offering a discount of $1 per unit on all routes during the first month. The goal is to minimize total production costs, shipping costs, and inventory costs over the two-month period. Not all production capacity needs to be utilized. 5.2 EXTENSIONS OF THE BASIC MODELS
5.2 EXTENSIONS OF THE BASIC MODELS Because there are no longer any minimum shipping requirements, there are no square brackets above the source nodes. The first number in parentheses on an arc entering a source node represents an upper bound on the available supply. Also, demand is fixed at each destination-i.e., there is no extra demand.
5.2 EXTENSIONS OF THE BASIC MODELS Transshipment Problem This model contains intermediate nodes with nonnegative supply or demand requirements and with arcs between pairs of sources or pairs of destinations.
A transshipment problem can be transformed into a balanced transportation problem. The associated NFP model is bipartite. To begin, we assume that there are m pure supply points, n pure demand points, and p transshipment points. For an NFP model, a pure supply point would have only leaving arcs whereas a pure demand point would have only entering arcs. We let sT be the total supply available for the problem- i.e., ~ and we let tk be the net stock position at transshipment node k for k= 1,..., p.If stock is supplied at node k, then tk is positive, and if stock is demanded at node k, then tk is negative. In the example, m=n=p= 3, with sT= 17. 5.2 EXTENSIONS OF THE BASIC MODELS
Step 1: If necessary, put the problem into balanced form by adding either a dummy supply point to meet the excess demand or a dummy demand point to absorb the excess supply. Shipments to or from the dummy node will have zero shipping cost. Step 2: Construct a transportation tableau with m + p rows-one for each supply point and transshipment point-and n +p columns -one for each demand point and transshipment point. Each pure supply point i will have a supply equal to its original value si, and each pure demand point j will have a demand equal to its original value dj. Each transshipment point k will have a supply equal to sk = tk + sT. and a demand equal to dk = sT. 5.2 EXTENSIONS OF THE BASIC MODELS
we assign a large cost M to shipments that are not permissible. To facilitate modeling, we allow a shipment from a transshipment point to itself and assign it a unit transportation cost of zero-that is, we include xkk in the model and set ckk=0for k= i,...,p. 5.2 EXTENSIONS OF THE BASIC MODELS
5.2 EXTENSIONS OF THE BASIC MODELS sT+tk sT
1. The decision variable xkk corresponds to a fictitious shipment. For each transshipment point k that has a nonnegative quantity to be supplied (tk≥0), the net difference between the amount demanded (dk = sT) and the fictitious shipment xkk represents the transshipment quantity. Similarly , for each transshipment point k that has a negative quantity (tk < 0) indicating the number of units demanded, the net difference between the amount supplied (sk= dk+ sT) and the fictitious shipment xkkrepresents the transshipment quantity. Because the fictitious shipment variables xkk have ckk = 0, their levels do not contribute to the total cost of transportation. 2. To achieve the conversion to a standard transportation model, we have introduced sT which can be thought of as a fictitious buffer stock at each transshipment node k. Because sT has been included in both sk and dk the sum of all the si, remains equal to the sum of all the dj. Thus, balance is maintained. The total amount of stock transshipped through point k is sT - xkk if tk≥0,and tk+sT–xkk , if tk <0. (For T3: 17-14=3; For T1: -2+17-15=0) 5.2 EXTENSIONS OF THE BASIC MODELS
Transformation of Flow A company makes three products at four plants. Because of differences in labor skills, the amount of time required to manufacture the products varies among the plants. The time requirements (in minutes per unit) are shown in the matrix in Figure 5.19. A dash indicates that the specified product cannot be made at the specified plant. The demands for the three products are also shown. The total time available at each plant is 25 hours per week, but it is not necessary that all of it be used. The hourly charges for labor are $10, $12, $9, and $13 for plants 1, 2,3, and 4, respectively. There is no labor charge for time not used. The problem is to construct and solve a network model that can be used to minimize total manufacturing costs while meeting all demand. The requirements data are given in minutes per unit, so to compute the appropriate gain factors it is necessary to invert the quantities in Figure 5.19 and then multiply by 60 to find units per hour. The gain for plant 1 producing product A is 60 (min/hr) / 30 (min/unit) = 2 units per hour. 5.2 EXTENSIONS OF THE BASIC MODELS
Convex Costs and Concave Revenues Consider an arc that carries flow between two nodes. Suppose that the first 10 units of flow have a unit cost of $5, the next five units have a unit cost of $8, and any additional units have a unit cost of $10. When unit cost is increasing with flow, the arc cost is a convex function of the flow and can be modeled with multiple arcs. Unfortunately, concave cost functions and convex revenue functions cannot be transformed into linear models. To deal with such functions, it would be necessary to introduce integer variables into the formulation to ensure that arcs were selected in the proper order, higher-cost arcs first in the case of concave costs. 5.2 EXTENSIONS OF THE BASIC MODELS
5.2 EXTENSIONS OF THE BASIC MODELS Undirected Edges
5.2 EXTENSIONS OF THE BASIC MODELS Elimination of Arc Lower Bounds Determining Economic Life
Consider an investment in a machine with an initial purchase price of $1000. It is anticipated that the machine will be used far into the future. Given that the salvage value is decreasing and operating costs are increasing, there must be some optimal time at which the machine should be replaced. The optimal replacement time is called the economic life of the machine. Time value of money principle. Specifically, the present value of an amount cn received n years from now is computed as follows. The term is the discount factor. 5.2 EXTENSIONS OF THE BASIC MODELS
5.2 EXTENSIONS OF THE BASIC MODELS To find a general expression for the present value of the cash flow as a function of the time of disposal, let cnbe the cost expended at time n, let N be the life of the machine, and let sN be the amount realized when the machine is disposed of at time N. The net present value for a lifetime of N years, PN, is then
5.2 EXTENSIONS OF THE BASIC MODELS For the specific case for N= 3 and assuming that i is 20%, we have p3= 1000+ 833.33 + 833.33 + 810.19 = $3476.85 Note that the fourth term in this expression is the present value of the combined operating cost and salvage value in year 3. 1000 1400 1000 1200 There is no optimization in the network shown in Figure 5.28. The fixed flow at node 0 is forced on the network, resulting in the arc flows X0 = 1, X1 = 0.833,X2 = 0.8332, X3 = 0.8333, P3 = 3476.85 The cost associated with the network is the present value of the cash flows for the machine.
5.2 EXTENSIONS OF THE BASIC MODELS We might ask for the present value of a series of replacements over an infinite period for the cash flows depicted in Figure 5.29. Without proving this result, we observe that the NFP model of a continuous series of replacements can be represented by the cycle shown in Figure 5.30.
The economic life of 3 years is the life that minimizes the present value of ownership over an infinite time horizon. To find this value, an optimization problem must be solved. The NFP model for our example is depicted in Figure 5.31. There are five cycles or alternative paths representing replacement after years 1 through 5, respectively. 5.2 EXTENSIONS OF THE BASIC MODELS
5.2 EXTENSIONS OF THE BASIC MODELS The result indicates that the machine should be replaced every 2 years. The cost of the optimal flow, $8045.46, is the present value of the costs incurred by following the optimal policy forever.
5.3LINEAR PROGRAMMING MODEL Every NFP model has an LP equivalent.
5.3LINEAR PROGRAMMING MODEL Lower bounds on flow (the upper bounds are infinite): xk≥0, k=l,2, ...,10
5.4 MINIMUM-COST FLOW PROBLEM The problem is to determine an optimal distribution plan that minimizes the total cost of shipping while meeting all customer demands with available supplies.
We call the models pure minimum-cost flowmodels, because the flow entering an arc at its originating node is equal to the flow leaving the arc at its terminal node. 2. The pure minimum-cost flow model is contrasted later in the chapter with the generalized network flow model, which does not have this requirement. 3. The pure model has the important property of integral optimal solutions. Whenever all node external flows and all arc upper and lower bounds are integer valued, the solution to the pure model is also integer valued. 5.4 MINIMUM-COST FLOW PROBLEM
Generalized Minimum-Cost Flow Problem We introduce an arc gain parameter to handle losses or gains that occur along a link. Figure 5.39 illustrates the effect of the gain on flow. We model the 5% loss from Phoenix to Chicago with a gain of 0.95 on the arc. Thus, 200 units leave Phoenix, but only 190 units arrive at Chicago.
Node Restrictions and Costs The airport has instituted a fee for each unit transferred and limits transfers to 100 units per week. In addition, there is a spoilage of 10% of the units that are handled. We allow for these possibilities by dividing the Atlanta node into two nodes, as shown in Figure 5.42, and adding an arc between them. The flow that actually passes through Atlanta now flows on arc 18, and any information related to that flow is described by the parameters of the arc.