Introduction to Mathematical Programming OR/MA 504 Chapter 4 Network Modeling 4-1 Introduction • A large variety of linear programming applications can be represented graphically as networks. • This chapter focuses on several such problems: – – – – – – Transshipment Problems Shortest Path Problems Maximal Flow Problems Transportation/Assignment Problems Generalized Network Flow Problems The Minimum Spanning Tree Problem 4-2 Network Flow Problem Characteristics • Network flow problems can be represented as a collection of nodes connected by arcs. • There are three types of nodes: – Supply – Demand – Transshipment • We’ll use negative numbers to represent supplies and positive numbers to represent demand. 4-3 A Transshipment Problem: The Bavarian Motor Company +100 Boston 2 $50 +60 $30 Newark 1 -200 Columbus $40 3 $40 $35 +170 $30 Atlanta 5 Richmond +80 4 $25 $45 $35 +70 Mobile 6 $50 $50 J'ville 7 -300 4-4 Defining the Decision Variables For each arc in a network flow model we define a decision variable as: Xij = the amount being shipped (or flowing) from node i to node j For example… X12 = the # of cars shipped from node 1 (Newark) to node 2 (Boston) X56 = the # of cars shipped from node 5 (Atlanta) to node 6 (Mobile) Note: The number of arcs determines the number of variables! 4-5 Defining the Objective Function Minimize total shipping costs. MIN: 30X12 + 40X14 + 50X23 + 35X35 +40X53 + 30X54 + 35X56 + 25X65 + 50X74 + 45X75 + 50X76 4-6 Constraints for Network Flow Problems: The Balance-of-Flow Rules For Minimum Cost Network Flow Problems Where: Apply This Balance-of-Flow Rule At Each Node: Total Supply > Total Demand Inflow-Outflow >= Supply or Demand Total Supply < Total Demand Inflow-Outflow <=Supply or Demand Total Supply = Total Demand Inflow-Outflow = Supply or Demand 4-7 Defining the Constraints • In the BMC problem: Total Supply = 500 cars Total Demand = 480 cars (Supply >= Demand) • For each node we need a constraint like this: Inflow - Outflow >= Supply or Demand • Constraint for node 1: –X12 – X14 >= – 200 (Note: there is no inflow for node 1!) • This is equivalent to: +X12 + X14 <= 200 4-8 Defining the Constraints • Flow constraints –X12 – X14 >= –200 } node 1 +X12 – X23 >= +100 } node 2 +X23 + X53 – X35 >= +60 } node 3 + X14 + X54 + X74 >= +80 } node 4 + X35 + X65 + X75 – X53 – X54 – X56 >= +170} node 5 + X56 + X76 – X65 >= +70 } node 6 –X74 – X75 – X76 >= –300 } node 7 • Nonnegativity conditions Xij >= 0 for all ij 4-9 Implementing the Model See file Fig4-1.xls 4-10 Optimal Solution to the BMC Problem +100 Boston 2 $50 Newark 1 120 20 +60 $30 Columbus 80 3 -200 $40 $40 40 +170 Richmond +80 4 Atlanta 5 $45 +70 Mobile 6 210 70 $50 J'ville 7 -300 4-11 The Shortest Path Problem • Many decision problems boil down to determining the shortest (or least costly) route or path through a network. – Ex. Emergency Vehicle Routing • This is a special case of a transshipment problem where: – There is one supply node with a supply of -1 – There is one demand node with a demand of +1 – All other nodes have supply/demand of +0 4-12 The American Car Association +0 L'burg 9 11 2.0 hrs 9 pts 1.7 hrs 5 pts +0 2.0 hrs 4 pts 4.7 hrs 9 pts K'ville 5 +0 3.0 hrs 4 pts A'ville 6 Chatt. 3 2.8 hrs 7 pts -1 2.5 hrs 3 pts +0 10 +0 2.3 hrs 3 pts +0 2.5 hrs 3 pts 2 Raleigh Charl. 7 2.0 hrs 8 pts Atlanta 2.7 hrs 4 pts 1.1 hrs 3 pts 8 1.5 hrs 3 pts +0 1.5 hrs 2 pts G'ville 4 B'ham 1 G'boro 1.7 hrs 4 pts 3.0 hrs 4 pts +1 Va Bch 5.0 hrs 9 pts +0 3.3 hrs 5 pts +0 4-13 Solving the Problem • There are two possible objectives for this problem – Finding the quickest route (minimizing travel time) – Finding the most scenic route (maximizing the scenic rating points) See file Fig4-2.xls 4-14 The Equipment Replacement Problem • The problem of determining when to replace equipment is another common business problem. • It can also be modeled as a shortest path problem… 4-15 The Compu-Train Company • Compu-Train provides hands-on software training. • Computers must be replaced at least every two years. • Two lease contracts are being considered: – Each requires $62,000 initially – Contract 1: • Prices increase 6% per year • 60% trade-in for 1 year old equipment • 15% trade-in for 2 year old equipment – Contract 2: • Prices increase 2% per year • 30% trade-in for 1 year old equipment • 10% trade-in for 2 year old equipment 4-16 Network for Contract 1 +0 +0 $63,985 4 2 $30,231 $28,520 $33,968 $32,045 -1 1 $60,363 3 $67,824 5 +1 +0 Cost of trading after 1 year: 1.06*$62,000 - 0.6*$62,000 = $28,520 Cost of trading after 2 years: 1.062*$62,000 - 0.15*$62,000 = $60,363 Cost of trading in year 2 after trading in year 1: 1.062*$62,000 – 0.6(1.06*$62,000) = $69,663 - $39,432 = $30,231 4-17 Solving the Problem See file Fig4-3.xls 4-18 Transportation & Assignment Problems • Some network flow problems don’t have transshipment nodes; only supply and demand nodes. Supply 275,000 Groves Distances (in miles) 21 Mt. Dora 1 50 Processing Plants Capacity Ocala 4 200,000 40 400,000 These problems are implemented 35 more effectively using the technique 30 Orlando Eustis 600,000 described in Chapter 2. 2 5 22 55 300,000 20 Clermont 3 25 Leesburg 6 225,000 4-19 Generalized Network Flow Problems • In some problems, a gain or loss occurs in flows over arcs. – Examples • Oil or gas shipped through a leaky pipeline • Imperfections in raw materials entering a production process • Spoilage of food items during transit • Theft during transit • Interest or dividends on investments • These problems require some modeling changes. 4-20 Coal Bank Hollow Recycling Process 1 Material Cost Newspaper $13 Mixed Paper $11 White Office Paper $9 Cardboard $13 Yield 90% 80% 95% 75% Newsprint Pulp Source Recycling Process 1 Recycling Process 2 Demand Cost Yield $5 95% $6 90% 60 tons Process 2 Cost $12 $13 $10 $14 Yield 85% 85% 90% 85% Supply 70 tons 50 tons 30 tons 40 tons Packaging Paper Print Stock Cost Yield $6 90% $8 95% 40 tons Cost Yield $8 90% $7 95% 50 tons 4-21 Network for Recycling Problem -70 Newspaper $13 1 $12 -50 Mixed paper 2 -30 White office paper 3 $11 80% 5 75% $9 85% 4 +60 7 90% $8 90% 95% Packing paper pulp +40 8 $6 $10 $13 Cardboard Newsprint pulp $6 85% 90% Recycling Process 2 6 -40 $5 Recycling Process 1 95% $13 95% +0 90% 85% +0 $8 90% $7 95% Print stock pulp +50 9 $14 4-22 Defining the Objective Function Minimize total cost. MIN: 13X15 + 12X16 + 11X25 + 13X26 + 9X35+ 10X36 + 13X45 + 14X46 + 5X57 + 6X58 + 8X59 + 6X67 + 8X68 + 7X69 4-23 Defining the Constraints-I • Raw Materials -X15 -X16 >= -70 -X25 -X26 >= -50 -X35 -X36 >= -30 -X45 -X46 >= -40 } } } } node node node node 1 2 3 4 4-24 Defining the Constraints-II • Recycling Processes +0.9X15+0.8X25+0.95X35+0.75X45- X57- X58-X59 >= 0 } node 5 +0.85X16+0.85X26+0.9X36+0.85X46-X67-X68-X69 >= 0 } node 6 4-25 Defining the Constraints-III • Paper Pulp +0.95X57 + 0.90X67 >= 60 } node 7 +0.90X57 + 0.95X67 >= 40 } node 8 +0.90X57 + 0.95X67 >= 50 } node 9 4-26 Implementing the Model See file Fig4-4.xls 4-27 Important Modeling Point • In generalized network flow problems, gains and/or losses associated with flows across each arc effectively increase and/or decrease the available supply. • This can make it difficult to tell if the total supply is adequate to meet the total demand. • When in doubt, it is best to assume the total supply is capable of satisfying the total demand and use Solver to prove (or refute) this assumption. 4-28 The Maximal Flow Problem • In some network problems, the objective is to determine the maximum amount of flow that can occur through a network. • The arcs in these problems have upper and lower flow limits. • Examples – How much water can flow through a network of pipes? – How many cars can travel through a network of streets? 4-29 The Northwest Petroleum Company Pumping Station 3 Pumping Station 1 3 2 6 2 6 1 4 Oil Field Refinery 6 2 4 4 3 Pumping Station 2 5 5 Pumping Station 4 4-30 Max Flow Problem Set-Up • Solve as transshipment problem: – Add return arc from ending node to the starting node – Assign demand of 0 to all nodes in network – Maximize flow over the return arc 4-31 The Northwest Petroleum Company Pumping Pumping Station 1 +0 1 3 2 +0 4 6 2 6 +0 Station 3 +0 Oil Field Refinery 6 2 4 4 +0 3 Pumping Station 2 5 5 +0 Pumping Station 4 4-32 Formulation of the Max Flow Problem MAX: Subject to: X61 +X61 +X12 +X13 +X24 +X25 +X46 - X12 - X13 = 0 - X24 - X25 = 0 - X34 - X35 = 0 + X34 - X46 = 0 + X35 - X56 = 0 + X56 - X61 = 0 with the following bounds on the decision variables: 0 <= X12 <= 6 0 <= X25 <= 2 0 <= X46 <= 6 0 <= X13 <= 4 0 <= X34 <= 2 0 <= X56 <= 4 0 <= X24 <= 3 0 <= X35 <= 5 0 <= X61 <= inf 4-33 Implementing the Model See file Fig4-5.xls 4-34 Optimal Solution Pumping Station 1 3 3 2 5 Pumping Station 3 4 6 2 2 6 Oil Field 1 5 6 Refinery 2 4 2 4 4 3 5 4 5 2 Pumping Station 2 Pumping Station 4 4-35 Special Modeling Considerations: Flow Aggregation +0 $3 -100 -100 1 2 3 $5 $4 $3 $4 $5 4 $5 5 +75 6 +50 $6 +0 Suppose the total flow into nodes 3 & 4 must be at least 50 and 60, respectively. How would you model this? 4-36 Special Modeling Considerations: Flow Aggregation +0 +0 $3 -100 -100 1 30 L.B.=50 3 $5 $4 $3 $4 $5 2 40 4 L.B.=60 $5 +0 5 +75 6 +50 $6 +0 Nodes 30 & 40 aggregate the total flow into nodes 3 & 4, respectively. 4-37 Special Modeling Considerations: Multiple Arcs Between Nodes $8 -75 1 $6 2 +50 U.B. = 35 Two two (or more) arcs cannot share the same beginning and ending nodes. Instead, try... +0 10 $0 -75 1 $8 $6 U.B. = 35 2 +50 4-38 Special Modeling Considerations: Capacity Restrictions on Total Supply -100 +75 $5, UB=40 1 3 $4, UB=30 $6, UB=35 2 -100 $3, UB=35 4 +80 Supply exceeds demand, but the upper bounds prevent the demand from being met. 4-39 Special Modeling Considerations: Capacity Restrictions on Total Supply -100 $999, UB=100 +75 $5, UB=40 1 3 +200 $4, UB=30 0 $6, UB=35 $999, UB=100 -100 2 $3, UB=35 4 +80 Now demand exceeds supply. As much “real” demand as possible will be met in the least costly way. 4-40 The Minimal Spanning Tree Problem • For a network with n nodes, a spanning tree is a set of n-1 arcs that connects all the nodes and contains no loops. • The minimal spanning tree problem involves determining the set of arcs that connects all the nodes at minimum cost. 4-41 Minimal Spanning Tree Example: Windstar Aerospace Company $150 2 $100 4 $85 $75 $40 $80 1 $85 5 $90 3 $50 $65 6 Nodes represent computers in a local area network. 4-42 The Minimal Spanning Tree Algorithm 1. Select any node. Call this the current subnetwork. 2. Add to the current subnetwork the cheapest arc that connects any node within the current subnetwork to any node not in the current subnetwork. (Ties for the cheapest arc can be broken arbitrarily.) Call this the current subnetwork. 3. If all the nodes are in the subnetwork, stop; this is the optimal solution. Otherwise, return to step 2. 4-43 Solving the Example Problem - 1 4 2 $100 $85 $80 1 $85 5 $90 3 6 4-44 Solving the Example Problem - 2 4 2 $100 $85 $80 1 $85 $75 5 $90 3 $50 6 4-45 Solving the Example Problem - 3 4 2 $100 $85 1 $75 $80 5 $85 3 $50 $65 6 4-46 Solving the Example Problem - 4 4 2 $100 $85 $75 $40 1 $80 5 3 $50 $65 6 4-47 Solving the Example Problem - 5 $150 2 4 $85 $75 $40 1 $80 5 3 $50 $65 6 4-48 Solving the Example Problem - 6 4 2 $75 $40 1 $80 5 3 $50 $65 6 4-49 End of Chapter 4 4-50