OR/MA 504 Introduction to Mathematical Programming Chapter 2 Modeling and Solving LP Problems in a Spreadsheet 3-2 Introduction • Solving LP problems graphically is only possible when there are two decision variables • Few real-world LP have only two decision variables • Fortunately, we can now use spreadsheets to solve LP problems 3-3 Spreadsheet Solvers • The company that makes the Solver in Excel, Lotus 1-2-3, and Quattro Pro is Frontline Systems, Inc. Check out their web site: http://www.solver.com • Other packages for solving MP problems: AMPL CPLEX LINDO MPSX 3-4 The Steps in Implementing an LP Model in a Spreadsheet 1. Organize the data for the model on the spreadsheet. 2. Reserve separate cells in the spreadsheet for each decision variable in the model. 3. Create a formula in a cell in the spreadsheet that corresponds to the objective function. 4. For each constraint, create a formula in a separate cell in the spreadsheet that corresponds to the left-hand side (LHS) of the constraint. 3-5 Let’s Implement a Model for the Blue Ridge Hot Tubs Example... MAX: 350X1 + 300X2 S.T.: 1X1 + 1X2 <= 200 9X1 + 6X2 <= 1566 12X1 + 16X2 <= 2880 X1, X2 >= 0 } profit } pumps } labor } tubing } nonnegativity 3-6 Implementing the Model See file Fig2-1.xls 3-7 How Solver Views the Model • Target cell - the cell in the spreadsheet that represents the objective function • Changing cells - the cells in the spreadsheet representing the decision variables • Constraint cells - the cells in the spreadsheet representing the LHS formulas on the constraints 3-8 Using Excel to Solve the LP • Let’s use Solver in Excel to find the solution the Blue Ridge Hot Tub problem 3-9 Goals For Spreadsheet Design • Communication - A spreadsheet's primary business purpose is communicating information to managers. • Reliability - The output a spreadsheet generates should be correct and consistent. • Auditability - A manager should be able to retrace the steps followed to generate the different outputs from the model in order to understand and verify results. • Modifiability - A well-designed spreadsheet should be easy to change or enhance in order to meet dynamic user requirements. 3-10 Spreadsheet Design Guidelines - I • Organize the data, then build the model around the data. • Do not embed numeric constants in formulas. • Things which are logically related should be physically related. • Use formulas that can be copied. • Column/rows totals should be close to the columns/rows being totaled. 3-11 Spreadsheet Design Guidelines - II • The English-reading eye scans left to right, top to bottom. • Use color, shading, borders and protection to distinguish changeable parameters from other model elements. • Use text boxes and cell notes to document various elements of the model. 3-12 Make vs. Buy Decisions: The Electro-Poly Corporation • Electro-Poly is a leading maker of slip-rings. • A $750,000 order has just been received. Model 1 Model 2 Model 3 3,000 2,000 900 Hours of wiring/unit 2 1.5 3 Hours of harnessing/unit 1 2 1 Cost to Make $50 $83 $130 Cost to Buy $61 $97 $145 Number ordered • The company has 10,000 hours of wiring capacity and 5,000 hours of harnessing capacity. 3-13 Defining the Decision Variables M1 = Number of model 1 slip rings to make in-house M2 = Number of model 2 slip rings to make in-house M3 = Number of model 3 slip rings to make in-house B1 = Number of model 1 slip rings to buy from competitor B2 = Number of model 2 slip rings to buy from competitor B3 = Number of model 3 slip rings to buy from competitor 3-14 Defining the Objective Function Minimize the total cost of filling the order. MIN: 50M1+ 83M2+ 130M3+ 61B1+ 97B2+ 145B3 3-15 Defining the Constraints • Demand Constraints M1 + B1 = 3,000 } model 1 M2 + B2 = 2,000 } model 2 M3 + B3 = 900 } model 3 • Resource Constraints 2M1 + 1.5M2 + 3M3 <= 10,000 } wiring 1M1 + 2.0M2 + 1M3 <= 5,000 } harnessing • Nonnegativity Conditions M1, M2, M3, B1, B2, B3 >= 0 3-16 Implementing the Model See file Fig2-2.xls 3-17 An Investment Problem: Retirement Planning Services, Inc. • A client wishes to invest $750,000 in the following bonds. Company Return Years to Maturity Acme Chemical 8.65% 11 1-Excellent DynaStar 9.50% 10 3-Good Eagle Vision 10.00% 6 4-Fair Micro Modeling 8.75% 10 1-Excellent OptiPro 9.25% 7 3-Good Sabre Systems 9.00% 13 2-Very Good Rating 3-18 Investment Restrictions • No more than 25% can be invested in any single company. • At least 50% should be invested in long-term bonds (maturing in 10+ years). • No more than 35% can be invested in DynaStar, Eagle Vision, and OptiPro. 3-19 Defining the Decision Variables X1 = amount of money to invest in Acme Chemical X2 = amount of money to invest in DynaStar X3 = amount of money to invest in Eagle Vision X4 = amount of money to invest in MicroModeling X5 = amount of money to invest in OptiPro X6 = amount of money to invest in Sabre Systems 3-20 Defining the Objective Function Maximize the total annual investment return: MAX: .0865X1+ .095X2+ .10X3+ .0875X4+ .0925X5+ .09X6 3-21 Defining the Constraints • Total amount is invested X1 + X2 + X3 + X4 + X5 + X6 = 750,000 • No more than 25% in any one investment Xi <= 187,500, for all i • 50% long term investment restriction. X1 + X2 + X4 + X6 >= 375,000 • 35% Restriction on DynaStar, Eagle Vision, and OptiPro. X2 + X3 + X5 <= 262,500 • Nonnegativity conditions Xi >= 0 for all i 3-22 Implementing the Model See file Fig2-3.xls 3-23 A Transportation Problem: Tropicsun Supply Groves Distances (in miles) Capacity 21 Mt. Dora 275,000 Processing Plants 1 50 Ocala 4 200,000 40 35 400,000 30 Eustis 2 Orlando 600,000 5 22 55 20 Clermont 300,000 3 25 Leesburg 6 225,000 3-24 Defining the Decision Variables Xij = # of bushels shipped from node i to node j Specifically, the nine decision variables are: X14 = # of bushels shipped from Mt. Dora (node 1) to Ocala (node 4) X15 = # of bushels shipped from Mt. Dora (node 1) to Orlando (node 5) X16 = # of bushels shipped from Mt. Dora (node 1) to Leesburg (node 6) X24 = # of bushels shipped from Eustis (node 2) to Ocala (node 4) X25 = # of bushels shipped from Eustis (node 2) to Orlando (node 5) X26 = # of bushels shipped from Eustis (node 2) to Leesburg (node 6) X34 = # of bushels shipped from Clermont (node 3) to Ocala (node 4) X35 = # of bushels shipped from Clermont (node 3) to Orlando (node 5) X36 = # of bushels shipped from Clermont (node 3) to Leesburg (node 6) 3-25 Defining the Objective Function Minimize the total number of bushel-miles. MIN: 21X14 + 50X15 + 40X16 + 35X24 + 30X25 + 22X26 + 55X34 + 20X35 + 25X36 3-26 Defining the Constraints • Capacity constraints X14 + X24 + X34 <= 200,000 X15 + X25 + X35 <= 600,000 X16 + X26 + X36 <= 225,000 } Ocala } Orlando } Leesburg • Supply constraints X14 + X15 + X16 = 275,000 X24 + X25 + X26 = 400,000 X34 + X35 + X36 = 300,000 } Mt. Dora } Eustis } Clermont • Nonnegativity conditions Xij >= 0 for all i and j 3-27 Implementing the Model See file Fig2-4.xls 3-28 A Blending Problem:The Agri-Pro Company • Agri-Pro has received an order for 8,000 pounds of chicken feed to be mixed from the following feeds. Percent of Nutrient in Nutrient Feed 1 Feed 2 Feed 3 Feed 4 Corn 30% 5% 20% 10% Grain 10% 30% 15% 10% Minerals 20% 20% 20% 30% Cost per pound $0.25 $0.30 $0.32 $0.15 • The order must contain at least 20% corn, 15% grain, and 15% minerals. 3-29 Defining the Decision Variables X1 = pounds of feed 1 to use in the mix X2 = pounds of feed 2 to use in the mix X3 = pounds of feed 3 to use in the mix X4 = pounds of feed 4 to use in the mix 3-30 Defining the Objective Function Minimize the total cost of filling the order. MIN: 0.25X1 + 0.30X2 + 0.32X3 + 0.15X4 3-31 Defining the Constraints • Produce 8,000 pounds of feed X1 + X2 + X3 + X4 = 8,000 • Mix consists of at least 20% corn (0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8000 >= 0.2 • Mix consists of at least 15% grain (0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8000 >= 0.15 • Mix consists of at least 15% minerals (0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8000 >= 0.15 • Nonnegativity conditions X1, X2, X3, X4 >= 0 3-32 A Comment About Scaling • Notice the coefficient for X2 in the ‘corn’ constraint is 0.05/8000 = 0.00000625 • As Solver runs, intermediate calculations are made that make coefficients larger or smaller. • Storage problems may force the computer to use approximations of the actual numbers. • Such ‘scaling’ problems sometimes prevents Solver from being able to solve the problem accurately. • Most problems can be formulated in a way to minimize scaling errors... 3-33 Re-Defining the Decision Variables X1 = thousands of pounds of feed 1 to use in the mix X2 = thousands of pounds of feed 2 to use in the mix X3 = thousands of pounds of feed 3 to use in the mix X4 = thousands of pounds of feed 4 to use in the mix 3-34 Re-Defining the Objective Function Minimize the total cost of filling the order. MIN: 250X1 + 300X2 + 320X3 + 150X4 3-35 Re-Defining the Constraints • Produce 8,000 pounds of feed X1 + X2 + X3 + X4 = 8 • Mix consists of at least 20% corn (0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8 >= 0.2 • Mix consists of at least 15% grain (0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8 >= 0.15 • Mix consists of at least 15% minerals (0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8 >= 0.15 • Nonnegativity conditions X1, X2, X3, X4 >= 0 3-36 Scaling: Before and After • Before: – Largest constraint coefficient was 8,000 – Smallest constraint coefficient was 0.05/8 = 0.00000625. • After: – Largest constraint coefficient is 8 – Smallest constraint coefficient is 0.05/8 = 0.00625. • The problem is now more evenly scaled! 3-37 The Assume Linear Model Option • The Solver Options dialog box has an option labeled “Assume Linear Model”. • This option makes Solver perform some tests to verify that your model is in fact linear. • These test are not 100% accurate & may fail as a result of a poorly scaled model. • If Solver tells you a model isn’t linear when you know it is, try solving it again. If that doesn’t work, try re-scaling your model. 3-38 Implementing the Model See file Fig2-5.xls 3-39 A Production Planning Problem: The Upton Corporation • Upton is planning the production of their heavy-duty air compressors for the next 6 months. 1 2 3 Unit Production Cost $240 $250 Units Demanded 1,000 Maximum Production Minimum Production • • • • Month 4 5 6 $265 $285 $280 $260 4,500 6,000 5,500 3,500 4,000 4,000 3,500 4,000 4,500 4,000 3,500 2,000 1,750 2,000 2,250 2,000 1,750 Beginning inventory = 2,750 units Safety stock = 1,500 units Unit carrying cost = 1.5% of unit production cost Maximum warehouse capacity = 6,000 units 3-40 Defining the Decision Variables Pi = number of units to produce in month i, i=1 to 6 Bi = beginning inventory month i, i=1 to 6 3-41 Defining the Objective Function Minimize the total cost production & inventory costs. MIN: 240P1+250P2+265P3+285P4+280P5+260P6 + 3.6(B1+B2)/2 + 3.75(B2+B3)/2 + 3.98(B3+B4)/2 + 4.28(B4+B5)/2 + 4.20(B5+ B6)/2 + 3.9(B6+B7)/2 Note: The beginning inventory in any month is the same as the ending inventory in the previous month. 3-42 Defining the Constraints - I • Production levels 2,000 <= P1 <= 4,000 } month 1 1,750 <= P2 <= 3,500 } month 2 2,000 <= P3 <= 4,000 } month 3 2,250 <= P4 <= 4,500 } month 4 2,000 <= P5 <= 4,000 } month 5 1,750 <= P6 <= 3,500 } month 6 3-43 Defining the Constraints - II • Ending Inventory (EI = BI + P - D) 1,500 < B1 + P1 - 1,000 < 6,000 } month 1 1,500 < B2 + P2 - 4,500 < 6,000 } month 2 1,500 < B3 + P3 - 6,000 < 6,000 } month 3 1,500 < B4 + P4 - 5,500 < 6,000 } month 4 1,500 < B5 + P5 - 3,500 < 6,000 } month 5 1,500 < B6 + P6 - 4,000 < 6,000 } month 6 3-44 Defining the Constraints - III • Beginning Balances B1 = 2750 B2 = B1 + P1 - 1,000 B3 = B2 + P2 - 4,500 B4 = B3 + P3 - 6,000 B5 = B4 + P4 - 5,500 B6 = B5 + P5 - 3,500 B7 = B6 + P6 - 4,000 Notice that the Bi can be computed directly from the Pi. Therefore, only the Pi need to be identified as changing cells. 3-45 Implementing the Model See file Fig2-6.xls 3-46 A Multi-Period Cash Flow Problem: The Taco-Viva Sinking Fund - I • Taco-Viva needs a sinking fund to pay $800,000 in building costs for a new restaurant in the next 6 months. • Payments of $250,000 are due at the end of months 2 and 4, and a final payment of $300,000 is due at the end of month 6. • The following investments may be used. Investment A B C D Available in Month Months to Maturity Yield at Maturity 1, 2, 3, 4, 5, 6 1 1.8% 1, 3, 5 2 3.5% 1, 4 3 5.8% 1 6 11.0% 3-47 Summary of Possible Cash Flows Cash Inflow/Outflow at the Beginning of Month Investment 1 2 3 4 5 6 7 A1 -1 1.018 B1 -1 <_____> 1.035 C1 -1 <_____> <_____> 1.058 D1 -1 <_____> <_____> <_____> <_____> <_____> 1.11 A2 -1 1.018 A3 -1 1.018 B3 -1 <_____> 1.035 A4 -1 1.018 C4 -1 <_____> <_____> 1.058 A5 -1 1.018 B5 -1 <_____> 1.035 A6 -1 1.018 Req’d Payments $0 $0 $250 $0 $250 $0 $300 3-48 (in $1,000s) Defining the Decision Variables Ai = amount (in $1,000s) placed in investment A at the beginning of month i=1, 2, 3, 4, 5, 6 Bi = amount (in $1,000s) placed in investment B at the beginning of month i=1, 3, 5 Ci = amount (in $1,000s) placed in investment C at the beginning of month i=1, 4 Di = amount (in $1,000s) placed in investment D at the beginning of month i=1 3-49 Defining the Objective Function Minimize the total cash invested in month 1. MIN: A1 + B1 + C1 + D1 3-50 Defining the Constraints • Cash Flow Constraints 1.018A1 – 1A2 = 0 } month 2 1.035B1 + 1.018A2 – 1A3 – 1B3 = 250 } month 3 1.058C1 + 1.018A3 – 1A4 – 1C4 = 0 } month 4 1.035B3 + 1.018A4 – 1A5 – 1B5 = 250 } month 5 1.018A5 –1A6 = 0 } month 6 1.11D1 + 1.058C4 + 1.035B5 + 1.018A6 = 300 } month 7 • Nonnegativity Conditions Ai, Bi, Ci, Di >= 0, for all i 3-51 Implementing the Model See file Fig2-7.xls 3-52 Risk Management: The Taco-Viva Sinking Fund - II • Assume the CFO has assigned the following risk ratings to each investment on a scale from 1 to 10 (10 = max risk) Investment A B C D Risk Rating 1 3 8 6 • The CFO wants the weighted average risk to not exceed 5. 3-53 Defining the Constraints • Risk Constraints 1A1 + 3B1 + 8C1 + 6D1 A1 + B1 + C1 + D1 1A2 + 3B1 + 8C1 + 6D1 A2 + B1 + C1 + D1 1A3 + 3B3 + 8C1 + 6D1 A3 + B3 + C1 + D1 1A4 + 3B3 + 8C4 + 6D1 A4 + B3 + C4 + D1 1A5 + 3B5 + 8C4 + 6D1 A5 + B5 + C4 + D1 1A6 + 3B5 + 8C4 + 6D1 A6 + B5 + C4 + D1 <5 } month 1 <5 } month 2 <5 } month 3 <5 } month 4 <5 } month 5 <5 } month 6 3-54 An Alternate Version of the Risk Constraints • Equivalent Risk Constraints -4A1 – 2B1 + 3C1 + 1D1 < 0 } month 1 -2B1 + 3C1 + 1D1 – 4A2 < 0 } month 2 3C1 + 1D1 – 4A3 – 2B3 < 0 } month 3 1D1 – 2B3 – 4A4 + 3C4 < 0 } month 4 1D1 + 3C4 – 4A5 – 2B5 < 0 } month 5 1D1 + 3C4 – 2B5 – 4A6 < 0 } month 6 Note that each coefficient is equal to the risk factor for the investment minus 5 (the max. allowable weighted average risk). 3-55 Implementing the Model See file Fig2-8.xls 3-56 Data Envelopment Analysis (DEA): Steak & Burger • Steak & Burger needs to evaluate the performance (efficiency) of 12 units. • Outputs for each unit (Oij) include measures of: Profit, Customer Satisfaction, and Cleanliness • Inputs for each unit (Iij) include: Labor Hours, and Operating Costs • The “Efficiency” of unit i is defined as follows: nO Weighted sum of unit i’s outputs Weighted sum of unit i’s inputs nO Oij w j j 1 nI I v = j 1 ij j Oij w j j 1 nI I ij v j j 1 3-57 Defining the Decision Variables wj = weight assigned to output j vj = weight assigned to input j A separate LP is solved for each unit, allowing each unit to select the best possible weights for itself. 3-58 Defining the Objective Function Maximize the weighted output for unit i : nO MAX: Oij w j nO Oij w j j 1 j 1 3-59 Defining the Constraints • Efficiency cannot exceed 100% for any unit nO nI j 1 j 1 Okj w j I kj v j , k 1 to the number of units • Sum of weighted inputs for unit i must equal 1 nO n I nI j 1 j 1 I ij v j 1 I ij v j 1 j 1 • Nonnegativity Conditions wj, vj >= 0, for all j 3-60 Important Point When using DEA, output variables should be expressed on a scale where “more is better” and input variables should be expressed on a scale where “less is better”. 3-61 Implementing the Model See file Fig2-9.xls 3-62 End of Chapter 2 3-63
© Copyright 2026 Paperzz