60
Network Models Network Models Robert Zimmer Robert Zimmer Room 6, 25 St James Room 6, 25 St James

Network Models

  • Upload
    dash

  • View
    51

  • Download
    1

Embed Size (px)

DESCRIPTION

Network Models. Robert Zimmer Room 6, 25 St James. Introduction to Network Modeling. General Problems in Network Modeling Transportation Problems Assignment Problems Minimum Cost Flow Problems Shortest Path Problems Maximum Flow Problems Critical Path in Project Plan Networks. - PowerPoint PPT Presentation

Citation preview

Page 1: Network Models

Network ModelsNetwork Models

Robert ZimmerRobert Zimmer

Room 6, 25 St JamesRoom 6, 25 St James

Page 2: Network Models

Introduction to Network Introduction to Network Modeling Modeling

General Problems in Network ModelingGeneral Problems in Network Modeling

► Transportation ProblemsTransportation Problems► Assignment ProblemsAssignment Problems► Minimum Cost Flow ProblemsMinimum Cost Flow Problems► Shortest Path ProblemsShortest Path Problems► Maximum Flow ProblemsMaximum Flow Problems► Critical Path in Project Plan NetworksCritical Path in Project Plan Networks

Page 3: Network Models

5.1 Introduction5.1 Introduction

►Reasons to distinguish network models Reasons to distinguish network models from other LP modelsfrom other LP models Network structure of these models allows Network structure of these models allows

us to represent them us to represent them graphicallygraphically.. Many companies have real problems that Many companies have real problems that

can be represented as network modelscan be represented as network models.. Specialized solutionSpecialized solution techniques have been techniques have been

developed specifically for network models.developed specifically for network models.

Page 4: Network Models

5.2 Transportation Models5.2 Transportation Models► Companies produce products at locations Companies produce products at locations

called called originsorigins and ships these products to and ships these products to customer locations called customer locations called destinationsdestinations..

► Each origin has a Each origin has a limited amount that it can limited amount that it can shipship, and each customer destination must , and each customer destination must receive a required quantityreceive a required quantity of the product. of the product.

► Only possible shipments are those Only possible shipments are those directly directly from an origin to a destinationfrom an origin to a destination..

► These problems are generally called These problems are generally called transportation problemstransportation problems..

Page 5: Network Models

Example 5.1 – Transportation Example 5.1 – Transportation ProblemProblem

► The company manufactures automobiles in The company manufactures automobiles in three plants and then ships them to four three plants and then ships them to four regions of the country.regions of the country.

► Grand Prix wants to find the Grand Prix wants to find the lowest-cost shipping planlowest-cost shipping plan for for meeting the demands of the four regions meeting the demands of the four regions without exceeding without exceeding capacitiescapacities of the plants. of the plants.

► The company must decide exactly the number of autos to send The company must decide exactly the number of autos to send from each plant to reach region – a shipping plan.from each plant to reach region – a shipping plan.

Page 6: Network Models

Ex. 5.1(cont’d) – Transportation Ex. 5.1(cont’d) – Transportation ProblemsProblems

► A typical transportation problem requires three A typical transportation problem requires three sets of numbers:sets of numbers: CapacitiesCapacities (or supplies) – indicates the most (or supplies) – indicates the most

each plant can supply in a given amount of each plant can supply in a given amount of time.time.

DemandsDemands ( or requirements) – typically ( or requirements) – typically estimated from some type of forecasting estimated from some type of forecasting model. Often demands are based on historical model. Often demands are based on historical customer demand data.customer demand data.

Unit shippingUnit shipping (and possibly production) costs – (and possibly production) costs – come from a transportation cost analysis.come from a transportation cost analysis.

Page 7: Network Models

Ex. 5.1(cont’d) – Network ModelEx. 5.1(cont’d) – Network Model

► This model is typical of network models. This model is typical of network models.

Page 8: Network Models

Ex. 5.1(cont’d) – Network Ex. 5.1(cont’d) – Network ModelModel

► A A nodenode, indicated by a circle, generally , indicated by a circle, generally represents a geographical location.represents a geographical location.

► An An arcarc, indicated by an arrow, generally , indicated by an arrow, generally represents a route for getting a product from represents a route for getting a product from one node to another.one node to another.

► The The decision variablesdecision variables are usually called are usually called flowsflows. . They represent the amounts shipped on the They represent the amounts shipped on the various arcs.various arcs.

► Upper limits are called Upper limits are called arc capacitiesarc capacities, and , and they can also be shown on the model.they can also be shown on the model.

Page 9: Network Models

Ex. 5.1(cont’d) – Developing the Ex. 5.1(cont’d) – Developing the ModelModel

► To develop this model, proceed as follows.To develop this model, proceed as follows.

1.1. InputsInputs. Enter the unit shipping costs, plant capacities . Enter the unit shipping costs, plant capacities region demands in the shaded ranges.region demands in the shaded ranges.

2.2. Shipping PlanShipping Plan. Enter any trial values for the shipments . Enter any trial values for the shipments from each plant to each regions in the Shipping_plan range. from each plant to each regions in the Shipping_plan range.

3.3. Numbers shipped from plantsNumbers shipped from plants. Need to calculate the . Need to calculate the amount shipped out of each plant with row sums in the amount shipped out of each plant with row sums in the range G13:G15.range G13:G15.

4.4. Amounts received by regionsAmounts received by regions. Calculate the amount . Calculate the amount shipped to each region with columns sums in the range shipped to each region with columns sums in the range C16:F16.C16:F16.

5.5. Total shipping costTotal shipping cost. Calculate the total cost of shipping . Calculate the total cost of shipping power. TotalCost cell with the formula power. TotalCost cell with the formula ==SUMPRODUCTSUMPRODUCT(C6:F8,Shipping_plan)(C6:F8,Shipping_plan). .

► Invoke the Solver with the appropriate settings.Invoke the Solver with the appropriate settings.

Page 10: Network Models

Ex. 5.1(cont’d) – Spreadsheet ModelEx. 5.1(cont’d) – Spreadsheet Model

Page 11: Network Models

Ex. 5.1(cont’d) – Spreadsheet Ex. 5.1(cont’d) – Spreadsheet ModelModel

►A good shipping plan tries to A good shipping plan tries to use use cheap routescheap routes, but it is constrained by , but it is constrained by capacities and demandscapacities and demands..

► It is typical in transportation models, It is typical in transportation models, especially large models, that only a especially large models, that only a relatively few of the possible routes relatively few of the possible routes are used.are used.

Page 12: Network Models

Ex. 5.1(cont’d) – Sensitivity Ex. 5.1(cont’d) – Sensitivity AnalysisAnalysis

► Many sensitivity analyses could vary any one Many sensitivity analyses could vary any one of the unit shipping costs, capacities, or of the unit shipping costs, capacities, or demands. Many of these would use Solver’s demands. Many of these would use Solver’s sensitivity report.sensitivity report.

► One interesting analysis that One interesting analysis that cannotcannot be be performed with Solver’s tool is to performed with Solver’s tool is to keep keep shipping costsshipping costs and and capacities constantcapacities constant and and allow allow allall of the of the demands to change by a demands to change by a certain percentagecertain percentage..

► Use SolverTable, with varying percentages as Use SolverTable, with varying percentages as the single input.the single input.

► The key to doing this correctly is to modify the The key to doing this correctly is to modify the model slightly before running SolverTable.model slightly before running SolverTable.

Page 13: Network Models

Ex. 5.1(cont’d) – Sensitivity Ex. 5.1(cont’d) – Sensitivity AnalysisAnalysis

Page 14: Network Models

Ex. 5.1(cont’d) – Alternative Ex. 5.1(cont’d) – Alternative ModelModel

► An arc pointed into a node is called an An arc pointed into a node is called an inflowinflow. An arrow pointed out of a node is . An arrow pointed out of a node is called an called an outflowoutflow..

► General networks can have both inflows and General networks can have both inflows and outflows for outflows for anyany given node. given node.

► Typical network models have one changing Typical network models have one changing cell per arc.cell per arc.

► It is useful to model network problems by It is useful to model network problems by listing all of the arcs and their corresponding listing all of the arcs and their corresponding flows in one long list. Constraints are placed flows in one long list. Constraints are placed in a separate section.in a separate section.

► For each node in the network, there is a For each node in the network, there is a flow flow balance constraintbalance constraint..

Page 15: Network Models

Ex. 5.1(cont’d) – Alternative Ex. 5.1(cont’d) – Alternative ModelModel

► An easy way to enter these summation An easy way to enter these summation formulas is to use Excel’s formulas is to use Excel’s SUMIFSUMIF function, in function, in the form the form =SUMIF(CompareRange,Criteria,SumRange).=SUMIF(CompareRange,Criteria,SumRange).

► SUMIF function is useful for summing values SUMIF function is useful for summing values in a certain range if cells in a related range in a certain range if cells in a related range satisfy given conditions.satisfy given conditions.

Page 16: Network Models

Ex. 5.1(cont’d) – Alternative Ex. 5.1(cont’d) – Alternative ModelModel

► An additional benefit from this model formulation is that An additional benefit from this model formulation is that it makes it easy to disallow routes.it makes it easy to disallow routes.

► This is very valuable when the number of potential arcs This is very valuable when the number of potential arcs in the network is huge – even though the vast majority in the network is huge – even though the vast majority of them are disallowed – and this is exactly the situation of them are disallowed – and this is exactly the situation is most large network models.is most large network models.

► Some modeling issues to note include:Some modeling issues to note include: How the demand constraints are expressed ( “>=” or How the demand constraints are expressed ( “>=” or

“<=” or “=”) depends on the context of the problem.“<=” or “=”) depends on the context of the problem. If all supplies and demands are integers it is not If all supplies and demands are integers it is not

necessary to add explicit integer constraints. This necessary to add explicit integer constraints. This allows us to use the “fast” simplex method.allows us to use the “fast” simplex method.

Shipping costs are often nonlinear due to quantity Shipping costs are often nonlinear due to quantity discountsdiscounts..

There is a streamlines version of the simplex method There is a streamlines version of the simplex method designed for transportation problems, called the designed for transportation problems, called the transportation simplex method.transportation simplex method.

Page 17: Network Models

Example 5.2 – Extended Example 5.2 – Extended Transportation ProblemTransportation Problem

► Grand Prix now not only ships the autos, Grand Prix now not only ships the autos, but it manufactures them at the plants and but it manufactures them at the plants and sells them in the various regions.sells them in the various regions.

► Their market is now an international Their market is now an international market. The effect is that the unit market. The effect is that the unit production costs vary according to the production costs vary according to the plant:plant: Selling prices vary by regionSelling prices vary by region Tax rates on profits vary according to Tax rates on profits vary according to

the plant at which the autos are the plant at which the autos are producedproduced

Page 18: Network Models

Ex. 5.2(cont’d) – Extended Ex. 5.2(cont’d) – Extended Transportation ProblemTransportation Problem

► The company now needs to find a production The company now needs to find a production and shipping plan that and shipping plan that maximizesmaximizes its after-tax its after-tax profitprofit..

► An additional calculation is needed to An additional calculation is needed to determine after-tax profit per automobile determine after-tax profit per automobile produced in a given plant and sold in a given produced in a given plant and sold in a given region.region.

► It is straightforward to calculate the total after-It is straightforward to calculate the total after-tax profit from any production/shipping plan, tax profit from any production/shipping plan, and this becomes the and this becomes the objective to maximizeobjective to maximize..

Page 19: Network Models

Ex. 5.2(cont’d) – Spreadsheet Ex. 5.2(cont’d) – Spreadsheet ModelModel

► Only four of the possible twelve routes, and, Only four of the possible twelve routes, and, possibly surprisingly, these are not the four possibly surprisingly, these are not the four routes with the largest until after-tax profits.routes with the largest until after-tax profits.

Page 20: Network Models

Ex. 5.2(cont’d) – Developing the Ex. 5.2(cont’d) – Developing the ModelModel

► Two steps are needed to extend the model:Two steps are needed to extend the model: Unit after-tax profitsUnit after-tax profits: After tax profit is : After tax profit is

the unit selling price minus the production the unit selling price minus the production cost minus the shipping cost, all multiplied cost minus the shipping cost, all multiplied by 1 minus the tax rate. The formula is cell by 1 minus the tax rate. The formula is cell B26 is B26 is =(C$11-$H7-C7)*(1-$I7)=(C$11-$H7-C7)*(1-$I7)

Total after-tax profit:Total after-tax profit: Calculate the total Calculate the total after-tax profit in cell B31 with the formula after-tax profit in cell B31 with the formula ==SUMPRODUCTSUMPRODUCT(C26:F28,Shipping_plan)(C26:F28,Shipping_plan)

► Don’t forget to check the Maximize option.Don’t forget to check the Maximize option.

Page 21: Network Models

5.3 Assignment Models5.3 Assignment Models► Assignment modelsAssignment models are used to assign, on a are used to assign, on a

one-to-one basis, members of one set to one-to-one basis, members of one set to members of another set in a least-cost (or members of another set in a least-cost (or least-time) manner.least-time) manner.

► Assignment models are special cases of Assignment models are special cases of transportation models where all flows are 0 or transportation models where all flows are 0 or 1.1.

► It is identical to the transportation model It is identical to the transportation model except with different inputs. except with different inputs.

► The only minor difference is that the demand The only minor difference is that the demand constraints “=” constraints, because each job constraints “=” constraints, because each job must be completed exactly once.must be completed exactly once.

Page 22: Network Models

5.4 Minimum Cost Network Flow 5.4 Minimum Cost Network Flow ModelsModels

► The simplest models include a single product that needs to The simplest models include a single product that needs to be shipped via one mode of transportation.be shipped via one mode of transportation.

► More complex problems can include multiple products, More complex problems can include multiple products, multiple modes of transportation, and/or multiple time multiple modes of transportation, and/or multiple time periods – these are referred to as periods – these are referred to as minimum cost network minimum cost network flow problemsflow problems..

► Two possible differences distinguish these problems from Two possible differences distinguish these problems from transportation problems.transportation problems. Arc capacities are often imposed on some or all of the Arc capacities are often imposed on some or all of the

arcsarcs There can be inflowsThere can be inflows and and outflows outflows associated with any associated with any

node.node.► Nodes are generally categorized asNodes are generally categorized as

Suppliers Suppliers – a location that starts with a certain supply– a location that starts with a certain supply Demanders Demanders – the opposite of a supplier, it requires a – the opposite of a supplier, it requires a

certain amount to end up therecertain amount to end up there Transshipment pointsTransshipment points – a location where goods – a location where goods

simply pass throughsimply pass through

Page 23: Network Models

► Net inflowNet inflow for any node is defined as total inflow minus for any node is defined as total inflow minus

total outflow for the node.total outflow for the node.► Net outflowNet outflow is the is the negative negative of this, total outflow minus of this, total outflow minus

total inflow.total inflow.► There are typically two types of constraints in minimum There are typically two types of constraints in minimum

cost network flow models.cost network flow models. First type represents the arc capacity constraints, First type represents the arc capacity constraints,

which are simple upper bounds on the arc flows.which are simple upper bounds on the arc flows. Second type represents the flow balance constraints.Second type represents the flow balance constraints.

► For a supplier it is For a supplier it is Net Outflow=Original Net Outflow=Original Supply Supply oror Net Outflow<=Capacity Net Outflow<=Capacity..

► For a demander it is For a demander it is Net Inflow>=DemandNet Inflow>=Demand or or Net Inflow=DemandNet Inflow=Demand..

► For a transshipment point it is For a transshipment point it is Net Inflow=0Net Inflow=0 (which is equivalent to (which is equivalent to Net Outflow=0Net Outflow=0))

Page 24: Network Models

Example 5.4 – Minimum Cost Network Example 5.4 – Minimum Cost Network Flow ModelFlow Model

► RedBrand produces a tomato product at three plants.RedBrand produces a tomato product at three plants.► The product can be shipped directly to the two The product can be shipped directly to the two

customers or to the company’s two warehouses and customers or to the company’s two warehouses and then to customers.then to customers.

► Arcs with arrows at both end indicate that flow is Arcs with arrows at both end indicate that flow is allowed in either direction.allowed in either direction.

Page 25: Network Models

Ex. 5.4(cont’d) – Developing the Ex. 5.4(cont’d) – Developing the ModelModel

► RedBrand is concerned with minimizing the total RedBrand is concerned with minimizing the total shipping cost incurred in meeting customer shipping cost incurred in meeting customer demands.demands.

► The key to the model is handling the flow balance The key to the model is handling the flow balance constraints.constraints.

► To setup the spreadsheet model:To setup the spreadsheet model:1.1. Origins and destinationsOrigins and destinations. Enter the node . Enter the node

numbers for the origins and destinations of the numbers for the origins and destinations of the various arcs.various arcs.

2.2. Input dataInput data. Enter the unit shipping costs, . Enter the unit shipping costs, common arc capacity, plant capacities, and the common arc capacity, plant capacities, and the customer demands.customer demands.

3.3. Flows on arcsFlows on arcs. Enter any initial values for the . Enter any initial values for the flows in the range D8:D33.flows in the range D8:D33.

Page 26: Network Models

Ex. 5.4(cont’d) – Developing the Ex. 5.4(cont’d) – Developing the ModelModel

4.4. Arc capacities.Arc capacities. Enter =$B$4 in cell F8 and copy it Enter =$B$4 in cell F8 and copy it down column F.down column F.

5.5. Flow balance constraints.Flow balance constraints. Enter the net outflow Enter the net outflow for node 1 in cell I9 with the formula for node 1 in cell I9 with the formula =SUMIF(Origin,H9,Flow)-SUMIF(Destination,H9,Flow) =SUMIF(Origin,H9,Flow)-SUMIF(Destination,H9,Flow) and copy it down to cell I11. Enter the net inflow for and copy it down to cell I11. Enter the net inflow for node 6 in cell I20 with the formula node 6 in cell I20 with the formula =SUMIF(Destination,H20,Flow)-=SUMIF(Destination,H20,Flow)-SUMIF(Origin,H20,Flow) and copy it to cell I21.SUMIF(Origin,H20,Flow) and copy it to cell I21.

6.6. Total shipping cost.Total shipping cost. Calculate total shipping cost Calculate total shipping cost in cell B36 with the formula in cell B36 with the formula =SUMPRODUCT(Unit_Cost,Flow)=SUMPRODUCT(Unit_Cost,Flow)

► Want to minimize total shipping costs, subject to the Want to minimize total shipping costs, subject to the three types of flow balance constraints and the arc three types of flow balance constraints and the arc capacity constraints.capacity constraints.

Page 27: Network Models

Ex. 5.4(cont’d) – The ModelEx. 5.4(cont’d) – The Model

Page 28: Network Models

Ex. 5.4(cont’d) – Sensitivity Ex. 5.4(cont’d) – Sensitivity AnalysisAnalysis

► How much effect does the arc capacity have on the How much effect does the arc capacity have on the optimal solution?optimal solution?

► Use SolverTable to see how sensitive this number Use SolverTable to see how sensitive this number and the total cost are to the arc capacity.and the total cost are to the arc capacity.

► To keep track of an output that does not already To keep track of an output that does not already exist, an appropriate formula in a new cell must be exist, an appropriate formula in a new cell must be created before running SolverTable.created before running SolverTable.

► The formula in cell C39 is The formula in cell C39 is =COUNTIF(Flow,B4)=COUNTIF(Flow,B4).. The COUNTIF counts the number of values in a The COUNTIF counts the number of values in a

given range that satisfy some criterion. The given range that satisfy some criterion. The syntax is syntax is =COUNTIF(=COUNTIF(range, criterionrange, criterion))..

Page 29: Network Models

Ex. 5.4(cont’d) – Sensitivity Ex. 5.4(cont’d) – Sensitivity Analysis & VariationsAnalysis & Variations

► As the arc capacity decreases, more As the arc capacity decreases, more flows bump up against it, and the total flows bump up against it, and the total cost increases.cost increases.

► Two possible variations on this model. Two possible variations on this model. ► Suppose RedBrand ships Suppose RedBrand ships twotwo products products

along the give network. These products along the give network. These products would compete for arc capacity. would compete for arc capacity.

► Separate production capacity for each Separate production capacity for each product, and each customer has a product, and each customer has a separate demand for each product.separate demand for each product.

Page 30: Network Models

Ex. 5.4(cont’d) – VariationsEx. 5.4(cont’d) – Variations

► For this variation you mustFor this variation you must

1.1. have two columns of changing cellshave two columns of changing cells

2.2. apply the previous logic to both products apply the previous logic to both products separately in the flow balance constraintsseparately in the flow balance constraints

3.3. apply the arc capacities to the total flows in apply the arc capacities to the total flows in column F.column F.

► Capacity constraints for both products with the Capacity constraints for both products with the single entry single entry Plant_net_outflow<=Plant_capacityPlant_net_outflow<=Plant_capacity in the in the Solver dialog box.Solver dialog box.

Page 31: Network Models

Ex. 5.4(cont’d) – VariationsEx. 5.4(cont’d) – Variations► A second variation is appropriate for A second variation is appropriate for

perishable goods, such as fruit.perishable goods, such as fruit.► Total inflow to a warehouse is Total inflow to a warehouse is greater thangreater than

the total outflow from the warehouse.the total outflow from the warehouse.► The model shows a “shrinkage factor” in The model shows a “shrinkage factor” in

cell B5, the percentage that does cell B5, the percentage that does notnot spoil spoil in the warehouses, becomes a new input. in the warehouses, becomes a new input.

► Then it is incorporated into the warehouse Then it is incorporated into the warehouse flow balance constraints by entering the flow balance constraints by entering the formula formula =SUMIF(Origin,H16,Flow)-=SUMIF(Origin,H16,Flow)-$b$5*SUMIF(Destination,H16,Flow) $b$5*SUMIF(Destination,H16,Flow) in in cell I16 and copying to cell I17.cell I16 and copying to cell I17.

Page 32: Network Models

Modeling IssuesModeling Issues

► The The network simplex methodnetwork simplex method is much is much more efficient than the ordinary simplex more efficient than the ordinary simplex method.method.

► Large network problems are solved using Large network problems are solved using this method.this method.

► If the nodes and the arc capacities are If the nodes and the arc capacities are integers, then integer solutions are available integers, then integer solutions are available “for free” without having to use an integer “for free” without having to use an integer programming algorithm. This is only true for programming algorithm. This is only true for the “basic” network flow model.the “basic” network flow model.

Page 33: Network Models

5.5 Shortest Path Models5.5 Shortest Path Models

►Shortest path models find the shortest Shortest path models find the shortest path between two points in a network.path between two points in a network.

►Sometimes these problems are Sometimes these problems are geographical but there are other geographical but there are other problems that do not look like shortest problems that do not look like shortest path problems that can be modeled in path problems that can be modeled in the same way.the same way.

Page 34: Network Models

Example 5. 6 – Equipment Example 5. 6 – Equipment Replacement ModelReplacement Model

► VanBuren Metals is a manufacturing VanBuren Metals is a manufacturing company that uses large machines that company that uses large machines that require frequent maintenance.require frequent maintenance.

► VanBuren often finds it advantageous from VanBuren often finds it advantageous from a cost standpoint to replace machines a cost standpoint to replace machines rather than continue to maintain them.rather than continue to maintain them.

► For one class of machines the company For one class of machines the company has estimated maintenance costs, salvage has estimated maintenance costs, salvage value and replacement cost.value and replacement cost.

► VanBuren would like to devise a strategy VanBuren would like to devise a strategy for purchasing machines over the next 5 for purchasing machines over the next 5 years.years.

Page 35: Network Models

Ex. 5.6 (cont’d) – The Ex. 5.6 (cont’d) – The SolutionSolution

► Can be modeled as a shortest path modelCan be modeled as a shortest path model► Two keys to understanding why this is Two keys to understanding why this is

possiblepossible the meaning of nodes and arcsthe meaning of nodes and arcs the calculation of costs on arcsthe calculation of costs on arcs

► Beyond these the network is a typical Beyond these the network is a typical shortest path modelshortest path model

Page 36: Network Models

Ex. 5. 6 (cont’d) – The Ex. 5. 6 (cont’d) – The NetworkNetwork

►An arc from any node to a later code An arc from any node to a later code corresponds to keeping a machine for corresponds to keeping a machine for a certain period of time and then a certain period of time and then trading it in for a new machine.trading it in for a new machine.

►An arc cost is a sum of the An arc cost is a sum of the maintenance cost minus a salvage maintenance cost minus a salvage value plus the cost of a new machine.value plus the cost of a new machine.

Page 37: Network Models

Ex. 5. 6 (cont’d) – The ModelEx. 5. 6 (cont’d) – The Model

Page 38: Network Models

Ex. 5. 6 (cont’d) – Developing Ex. 5. 6 (cont’d) – Developing the Modelthe Model

► The model can be completed with the following steps:The model can be completed with the following steps:

1.1. InputsInputs. Enter any inputs for purchase cost, . Enter any inputs for purchase cost, maintenance cost, and salvage value in the shaded maintenance cost, and salvage value in the shaded ranges.ranges.

2.2. ArcsArcs. In the bottom section, columns A and B . In the bottom section, columns A and B indicate the arcs in the network. Enter these indicate the arcs in the network. Enter these “origins” and “destinations” manually.“origins” and “destinations” manually.

3.3. Quarters to keepQuarters to keep. Calculate the differences . Calculate the differences between the values in column B and A in column C.between the values in column B and A in column C.

4.4. Maintenance costsMaintenance costs. Calculate the quarterly . Calculate the quarterly maintenance costs in column D through O by maintenance costs in column D through O by entering the formula entering the formula =IF(D$13>$C14,0,$B$6+=IF(D$13>$C14,0,$B$6+$B$7*(D$13-1))$B$7*(D$13-1)) in cell D14 and copying it to the in cell D14 and copying it to the range D14:O130.range D14:O130.

Page 39: Network Models

Ex. 5. 6 (cont’d) – Developing Ex. 5. 6 (cont’d) – Developing the Modelthe Model

5.5. Salvage valuesSalvage values. Calculate the salvage values in . Calculate the salvage values in column P by entering the formula column P by entering the formula =$B$9-=$B$9-$B$10*(C14-1) $B$10*(C14-1) in cell P14 and copying it down in cell P14 and copying it down column P.column P.

6.6. Purchase costPurchase cost. The purchase cost of a new machine . The purchase cost of a new machine never changes, so put an absolute link to cell B4 in never changes, so put an absolute link to cell B4 in cell Q14 and copy it down column Q.cell Q14 and copy it down column Q.

7.7. Total arc costsTotal arc costs. Calculate the total costs on the arcs . Calculate the total costs on the arcs as total maintenance cost minus salvage value plus as total maintenance cost minus salvage value plus purchase cost. Enter the formula purchase cost. Enter the formula =SUM9D14-O14)-=SUM9D14-O14)-P14+Q14P14+Q14 in cell R14, and copy it down column R. in cell R14, and copy it down column R.

8.8. FlowsFlows. Enter . Enter anyany flows on the arcs in column S. flows on the arcs in column S.

Page 40: Network Models

Ex. 5.6 (cont’d) – Solver, Ex. 5.6 (cont’d) – Solver, Solution and Modeling IssuesSolution and Modeling Issues

►The model is developed The model is developed exactlyexactly as in the as in the shortest path model.shortest path model.

►Use Solver to find the shortest path and Use Solver to find the shortest path and follow the 1’s in the Flow range to identify follow the 1’s in the Flow range to identify the optimal equipment replacement policy.the optimal equipment replacement policy.

►Modeling issuesModeling issues There is no inflation in this model.There is no inflation in this model. Forced to resell the current machine and buy a Forced to resell the current machine and buy a

new one at the end of the 5 year period.new one at the end of the 5 year period.

Page 41: Network Models

5.6 Project Scheduling 5.6 Project Scheduling ModelsModels

► Network models can be used to help Network models can be used to help schedule large, complex projects that schedule large, complex projects that consist of many activities.consist of many activities.

► Begin with a list of the activities that Begin with a list of the activities that comprise the project.comprise the project.

► Each activity has a set of activities called Each activity has a set of activities called its its immediate predecessorsimmediate predecessors that must that must be completed before the activity begins.be completed before the activity begins.

► They also each have a set of activities They also each have a set of activities called their called their immediate successorsimmediate successors that that cannot start until it has finished.cannot start until it has finished.

Page 42: Network Models

► A project network diagram is usually used A project network diagram is usually used

to represent the precedence relationships to represent the precedence relationships among activities.among activities.

► Two types of diagrams do this, Two types of diagrams do this, activity-activity-on-node (AON)on-node (AON) and and activity-on-arc activity-on-arc (AOA).(AOA).

► In the AON representation of a project, In the AON representation of a project, there is a node for each activity.there is a node for each activity.

► AON networks use nodes for activities and AON networks use nodes for activities and arcs to indicate precedence relationships.arcs to indicate precedence relationships.

► They can be represented in a table and on They can be represented in a table and on a network diagram.a network diagram.

Page 43: Network Models
Page 44: Network Models

► Rules for drawing an AON networkRules for drawing an AON network

Include a node for each activity and place its Include a node for each activity and place its duration next to the nodeduration next to the node

Include an arc from node Include an arc from node ii to node to node jj only if node only if node ii is an immediate predecessor of node is an immediate predecessor of node jj..

Include a Start and a Finish node with zero Include a Start and a Finish node with zero durationsdurations

► Typical problems analyzed in project scheduling Typical problems analyzed in project scheduling Find the time needed to complete the project Find the time needed to complete the project

and locate the “bottleneck” activitiesand locate the “bottleneck” activities Find cost-efficient ways to complete the project Find cost-efficient ways to complete the project

within a given deadlinewithin a given deadline

Page 45: Network Models

► An activity is An activity is criticalcritical if, by increasing its duration, if, by increasing its duration,

the time to complete the project increases.the time to complete the project increases.► The The critical pathcritical path is the set of critical activities. is the set of critical activities.► Approaches to project schedulingApproaches to project scheduling

Traditional approach – widespread in project Traditional approach – widespread in project scheduling fieldscheduling field

Solver approach – follows naturally from the Solver approach – follows naturally from the traditional approach but makes use of Solvertraditional approach but makes use of Solver

► The The earliest start timeearliest start time and and earliest finish earliest finish timetime for any activity are the earliest the activity for any activity are the earliest the activity could start or finish, given precedence could start or finish, given precedence relationships and durations.relationships and durations.

► The The latest start timelatest start time and and latest finish timelatest finish time for for any activity are the latest the activity could start any activity are the latest the activity could start or finish without delaying the project as a whole.or finish without delaying the project as a whole.

Page 46: Network Models

► The The slackslack of any activity is the amount of of any activity is the amount of

time the activity could be delayed beyond its time the activity could be delayed beyond its earliest start time with out delaying the earliest start time with out delaying the project as a whole.project as a whole.

► An activity is critical only if is slack is 0.An activity is critical only if is slack is 0.► The Solver approach uses the concepts as the The Solver approach uses the concepts as the

traditional approach.traditional approach.► The starting times are the changing cells and The starting times are the changing cells and

minimize the start time of the finish node.minimize the start time of the finish node.► The constraint for each arc is The constraint for each arc is SSj j – S– Si i ≥ d≥ dj j , ,

where activity where activity ii is an immediate predecessor is an immediate predecessor of activity of activity jj, and , and SSii and and SSjj are start times, and are start times, and ddii is the duration. is the duration.

Page 47: Network Models

Example 5.7 – Project Example 5.7 – Project Scheduling ModelScheduling Model

►Tom Lingley has agreed to build a new Tom Lingley has agreed to build a new room on an existing house.room on an existing house.

►The work proceeds in stages, labeled A The work proceeds in stages, labeled A through J.through J.

Activity Time Data

Description Index Predecessors Durations (Days)Prepare foundation A None 4Put up frame B A 4Order custom windows C None 11Erect outside walls D B 3Do electrical wiring E D 4Do plumbing F D 3Put in duct work G D 4Hand dry wall H E, F, G 3Install windows I B, C 1Paint and clean up J H 2

Page 48: Network Models

Ex. 5.7 (cont’d)Ex. 5.7 (cont’d)

► Lingely wants to know how long the project Lingely wants to know how long the project will take to complete, given the activity times. will take to complete, given the activity times.

► He also wants to identify the critical activities.He also wants to identify the critical activities.

Page 49: Network Models

Ex. 5.7 (cont’d) – Traditional Ex. 5.7 (cont’d) – Traditional Approach ModelApproach Model

► The traditional approach used to find the The traditional approach used to find the critical activities and the project completion critical activities and the project completion time does not require Solver.time does not require Solver.

Page 50: Network Models

Ex. 5.7 (cont’d) – Developing the Ex. 5.7 (cont’d) – Developing the Traditional ModelTraditional Model

► The traditional model is developed with these steps.The traditional model is developed with these steps.1.1. Input data.Input data. Enter the predecessors, successors, Enter the predecessors, successors,

and durations in the shaded range.and durations in the shaded range.2.2. Earliest start and finish times.Earliest start and finish times. Enter the formula Enter the formula

=B20+E5 in cell C20 and copy it down to cell C31. =B20+E5 in cell C20 and copy it down to cell C31. Each earliest start time is the maximum of the Each earliest start time is the maximum of the earliest finish times of all predecessors.earliest finish times of all predecessors.

3.3. Project completion time.Project completion time. In cell B33 enter the In cell B33 enter the formula =B31.formula =B31.

4.4. Latest start and finish times.Latest start and finish times. Enter the formula Enter the formula =D20-E5 in cell E20 and copy it down to cell E31 =D20-E5 in cell E20 and copy it down to cell E31 and then enter the formula =B33 in cells D31. Each and then enter the formula =B33 in cells D31. Each latest finish time is the minimum of the latest start latest finish time is the minimum of the latest start times of all successors.times of all successors.

5.5. Slacks.Slacks. Enter the formula =E20-B20 in cell F20 and Enter the formula =E20-B20 in cell F20 and copy it down to cell F31.copy it down to cell F31.

Page 51: Network Models

Ex. 5.7 (cont’d) – The Ex. 5.7 (cont’d) – The SolutionSolution

► The room can be completed in 20 days if The room can be completed in 20 days if the various activities are started within the various activities are started within their earliest and latest start time ranges.their earliest and latest start time ranges.

► Two critical paths from Start to Finish.Two critical paths from Start to Finish.1.1. A-B-D-E-H-JA-B-D-E-H-J

2.2. A-B-D-G-H-JA-B-D-G-H-J

► If any of the activities on either path is If any of the activities on either path is delayed, the project completion time will delayed, the project completion time will necessarily increase.necessarily increase.

Page 52: Network Models

Ex. 5.7 (cont’d) – Gantt ChartEx. 5.7 (cont’d) – Gantt Chart► The solution can be depicted best with a The solution can be depicted best with a Gantt Gantt

ChartChart that shows the timeline of the project. that shows the timeline of the project.

Page 53: Network Models

Ex. 5.7 (cont’d) – Solver Ex. 5.7 (cont’d) – Solver Approach ModelApproach Model

Page 54: Network Models

Ex. 5.7 (cont’d) – Developing the Ex. 5.7 (cont’d) – Developing the Solver ModelSolver Model

► The traditional model is developed with these steps.The traditional model is developed with these steps.1.1. Input data.Input data. Enter the given durations in row 6. The other Enter the given durations in row 6. The other

shaded range an “incidence matrix”. This is a convenient way shaded range an “incidence matrix”. This is a convenient way to encode precedence relationships in the AON network.to encode precedence relationships in the AON network.

2.2. Start times.Start times. Enter any starting times in row 4. Enter any starting times in row 4.3.3. Precedence relationships.Precedence relationships. The key to this formulation is The key to this formulation is

the information in columns P and R. the information in columns P and R. ► The left-hand side of the inequality is the difference The left-hand side of the inequality is the difference

between starting times of the “from” and “to” nodes. between starting times of the “from” and “to” nodes. Enter the formula Enter the formula =SUMPRODUCT($D$4:$O$4,D9:O9)=SUMPRODUCT($D$4:$O$4,D9:O9) in cell P9 and copy it to P23.in cell P9 and copy it to P23.

► The right-hand side of the inequality is the duration of the The right-hand side of the inequality is the duration of the “from” nodes. A table lookup can be used. Enter 0’s in R9 “from” nodes. A table lookup can be used. Enter 0’s in R9 and R10 and the enter the formula and R10 and the enter the formula =HLOOKUP(B11,$E$3:$N$6,4)=HLOOKUP(B11,$E$3:$N$6,4) in cell R11, and copy it in cell R11, and copy it down to cell R23.down to cell R23.

4.4. Project time.Project time. Enter the formula Enter the formula =O4=O4 to get the project to get the project length.length.

Page 55: Network Models

Ex. 5.7 (cont’d) – The Solver Ex. 5.7 (cont’d) – The Solver SolutionSolution

►The Solver setup should minimize the project The Solver setup should minimize the project length, using the starting times as changing length, using the starting times as changing cells, and use the constraints in the inequality.cells, and use the constraints in the inequality.

Page 56: Network Models

Ex. 5.7 (cont’d)Ex. 5.7 (cont’d)

► It is more difficult to identify the It is more difficult to identify the critical path in this model.critical path in this model.

►Strengths of the two alternative Strengths of the two alternative project scheduling modelsproject scheduling models Traditional Model: provides direct Traditional Model: provides direct

information on the critical path and the information on the critical path and the slacks of the noncritical activitiesslacks of the noncritical activities

Solver Model: extends nicely to a Solver Model: extends nicely to a “crashing” model“crashing” model

Page 57: Network Models

Crashing the ActivitiesCrashing the Activities

►The objective in many project The objective in many project scheduling models is to find a scheduling models is to find a minimum-cost method of reducing minimum-cost method of reducing activity times.activity times.

►Crashing the activitiesCrashing the activities is the term is the term used to mean reducing the activity used to mean reducing the activity times.times.

► It typically costs money to crash It typically costs money to crash activities.activities.

Page 58: Network Models

Ex. 5.7 (cont’d) – Crashing Ex. 5.7 (cont’d) – Crashing ActivitiesActivities

► Tom Lingley is under pressure to finish the project Tom Lingley is under pressure to finish the project in 15 days.in 15 days.

► He estimates the cost per day of activity time He estimates the cost per day of activity time reduction and the maximum possible days of reduction and the maximum possible days of reduction for each activity.reduction for each activity.

► How can Tom meet the deadline at minimum cost?How can Tom meet the deadline at minimum cost?► A few changes need to be made to the Solver A few changes need to be made to the Solver

model.model. Extra changing cells indicating how much Extra changing cells indicating how much

crashing to do crashing to do Two extra constraints: activities can not be Two extra constraints: activities can not be

crashed more than the allowable limits and the crashed more than the allowable limits and the deadline must be metdeadline must be met

Objective is now to minimize the crashing costsObjective is now to minimize the crashing costs

Page 59: Network Models

Ex. 5.7 (cont’d) – Modifying the Ex. 5.7 (cont’d) – Modifying the ModelModel

► The following modifications must be made to the Solver model.The following modifications must be made to the Solver model.

1.1. Input data.Input data. Enter the three extra inputs: the per day Enter the three extra inputs: the per day crashing costs, the upper limit on crashing, and the deadline.crashing costs, the upper limit on crashing, and the deadline.

2.2. ReductionsReductions. Enter initial values in the extra changing cells in . Enter initial values in the extra changing cells in row 7.row 7.

3.3. Durations.Durations. Calculate the durations after crashing in row 10 Calculate the durations after crashing in row 10 by subtracting the reductions in row 7 from the original by subtracting the reductions in row 7 from the original durations in row 6. Enter the formula durations in row 6. Enter the formula =HLOOKUP(B17,$E$3:$N$10,8)=HLOOKUP(B17,$E$3:$N$10,8) in cell R17 and copy it in cell R17 and copy it down.down.

4.4. Crashing cost.Crashing cost. Calculate total cost of crashing by entering Calculate total cost of crashing by entering the formula the formula =SUMPRODUCT(E12:N12,E7:N7)=SUMPRODUCT(E12:N12,E7:N7) in cell B34. in cell B34.

Page 60: Network Models

Ex. 5.7 (cont’d) – Solution & Ex. 5.7 (cont’d) – Solution & Sensitivity AnalysisSensitivity Analysis

► The duration of activity A can be reduced by 2 The duration of activity A can be reduced by 2 days and the durations of activities D, H and J days and the durations of activities D, H and J by 1 day each.by 1 day each.

► Total cost of this strategy is $580 and allows Total cost of this strategy is $580 and allows him to meet his deadline and not crash any of him to meet his deadline and not crash any of the originally noncritical activities are crashed.the originally noncritical activities are crashed.

► A natural sensitivity analysis is to see how the A natural sensitivity analysis is to see how the total crashing cost varies with the deadline. total crashing cost varies with the deadline. SolverTable should be used to carry out the SolverTable should be used to carry out the analysis.analysis.