Spreadsheet Modeling & Decision Analysis A Practical Introduction to Management Science 5th edition Cliff T. Ragsdale Chapter 5 Network Modeling Introduction A number of business problems 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 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. 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 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! Defining the Objective Function Minimize total shipping costs. MIN: 30X12 + 40X14 + 50X23 + 35X35 +40X53 + 30X54 + 35X56 + 25X65 + 50X74 + 45X75 + 50X76 Constraints for Network Flow Problems: The Balance-of-Flow Rules For Minimum Cost Network Flow Problems Where: Total Supply > Total Demand Apply This Balance-of-Flow Rule At Each Node: Inflow-Outflow >= Supply or Demand Total Supply < Total Demand Inflow-Outflow <=Supply or Demand Total Supply = Total Demand Inflow-Outflow = Supply or Demand 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 This is equivalent to: +X12 + X14 <= 200 (Note: there is no inflow for node 1!) Defining the Constraints Flow constraints –X12 – X14 >= –200 +X12 – X23 >= +100 +X23 + X53 – X35 >= +60 + X14 + X54 + X74 >= +80 + X35 + X65 + X75 – X53 – X54 – X56 >= +170 + X56 + X76 – X65 >= +70 –X74 – X75 – X76 >= –300 Nonnegativity conditions Xij >= 0 for all ij } node 1 } node 2 } node 3 } node 4 } node 5 } node 6 } node 7 Implementing the Model See file Fig5-2.xls 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 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 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 Atlanta 2.5 hrs 3 pts +0 10 2.3 hrs 3 pts +0 2.5 hrs 3 pts 2 Raliegh Charl. 7 2.0 hrs 8 pts 1.5 hrs 2 pts +0 2.7 hrs 4 pts 1.1 hrs 3 pts 8 1.5 hrs 3 pts +0 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 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 Fig5-7.xls 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… 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 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 etc, etc…. Solving the Problem See file Fig5-12.xls Transportation & Assignment Problems Some network flow problems don’t have transshipment nodes; only supply and demand nodes. Supply 275,000 400,000 Groves Distances (in miles) 21 Mt. Dora 1 50 Processing Plants Capacity Ocala 4 200,000 40 These problems are implemented more effectively using the technique 35 30 Eustis described in Chapter 3. Orlando 600,000 2 5 22 55 300,000 20 Clermont 3 25 Leesburg 6 225,000 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. 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 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% $14 85% +0 $8 90% $7 95% Print stock pulp 9 +50 Defining the Objective Function Minimize total cost. MIN: 13X15 + 12X16 + 11X25 + 13X26 + 9X35+ 10X36 + 13X45 + 14X46 + 5X57 + 6X58 + 8X59 + 6X67 + 8X68 + 7X69 Defining the Constraints-I Raw Materials -X15 -X16 >= -70 -X25 -X26 >= -50 -X35 -X36 >= -30 -X45 -X46 >= -40 } node 1 } node 2 } node 3 } node 4 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 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 Implementing the Model See file Fig5-17.xls 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. 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? The Northwest Petroleum Company Pumping Station 3 Pumping Station 1 3 2 6 2 6 1 4 Oil Field Refinery 2 4 4 3 Pumping Station 2 5 5 Pumping Station 4 6 The Northwest Petroleum Company Pumping Station 3 Pumping Station 1 3 2 6 2 6 1 4 Oil Field Refinery 2 4 4 3 Pumping Station 2 5 5 Pumping Station 4 6 Formulation of the Max Flow Problem MAX: Subject to: X61 +X61 - X12 - X13 = 0 +X12 - X24 - X25 = 0 +X13 - X34 - X35 = 0 +X24 + X34 - X46 = 0 +X25 + X35 - X56 = 0 +X46 + 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 Implementing the Model See file Fig5-24.xls 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 5 2 Pumping Station 2 Pumping Station 4 4 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? 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. 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 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. Special Modeling Considerations: Capacity Restrictions on Total Supply -100 $999, UB=100 +200 +75 $5, UB=40 1 3 $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. 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. 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. 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. Solving the Example Problem - 1 4 2 $100 $85 $80 1 $85 5 $90 3 6 Solving the Example Problem - 2 4 2 $100 $85 $80 1 $85 $75 5 $90 3 $50 6 Solving the Example Problem - 3 4 2 $100 $85 1 $75 $80 5 $85 3 $50 $65 6 Solving the Example Problem - 4 4 2 $100 $85 $75 $40 1 $80 5 3 $50 $65 6 Solving the Example Problem - 5 $150 2 4 $85 $75 $40 1 $80 5 3 $50 $65 6 Solving the Example Problem - 6 4 2 $75 $40 1 $80 5 3 $50 $65 6 End of Chapter 5