Ch 2 Linear Programming in Spreadsheets

63
OR/MA 504 Introduction to Mathematical Programming

description

LP Problems in Management Science and Analytic course

Transcript of Ch 2 Linear Programming in Spreadsheets

  • OR/MA 504Introduction to Mathematical Programming

  • Modeling and Solving LP Problems in a SpreadsheetChapter 2

  • IntroductionSolving LP problems graphically is only possible when there are two decision variablesFew real-world LP have only two decision variablesFortunately, we can now use spreadsheets to solve LP problems

  • Spreadsheet SolversThe 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.comOther packages for solving MP problems:AMPLLINDOCPLEXMPSX

  • The Steps in Implementing an LP Model in a Spreadsheet1.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.

  • Lets Implement a Model for the Blue Ridge Hot Tubs Example...MAX: 350X1 + 300X2} profitS.T.:1X1 + 1X2
  • Implementing the ModelSee file Fig2-1.xls

  • How Solver Views the ModelTarget cell - the cell in the spreadsheet that represents the objective functionChanging cells - the cells in the spreadsheet representing the decision variablesConstraint cells - the cells in the spreadsheet representing the LHS formulas on the constraints

  • Using Excel to Solve the LP

    Lets use Solver in Excel to find the solution the Blue Ridge Hot Tub problem

  • Goals For Spreadsheet DesignCommunication - 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.

  • Spreadsheet Design Guidelines - IOrganize 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.

  • Spreadsheet Design Guidelines - IIThe 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.

  • Make vs. Buy Decisions:The Electro-Poly CorporationElectro-Poly is a leading maker of slip-rings.A $750,000 order has just been received. The company has 10,000 hours of wiring capacity and 5,000 hours of harnessing capacity.

  • Defining the Decision VariablesM1 = Number of model 1 slip rings to make in-houseM2 = Number of model 2 slip rings to make in-houseM3 = Number of model 3 slip rings to make in-houseB1 = Number of model 1 slip rings to buy from competitorB2 = Number of model 2 slip rings to buy from competitorB3 = Number of model 3 slip rings to buy from competitor

  • Defining the Objective FunctionMinimize the total cost of filling the order.MIN:50M1+ 83M2+ 130M3+ 61B1+ 97B2+ 145B3

  • Defining the ConstraintsDemand ConstraintsM1 + B1 = 3,000} model 1M2 + B2 = 2,000} model 2M3 + B3 = 900} model 3Resource Constraints2M1 + 1.5M2 + 3M3
  • Implementing the ModelSee file Fig2-2.xls

  • An Investment Problem:Retirement Planning Services, Inc.A client wishes to invest $750,000 in the following bonds.

  • Investment RestrictionsNo 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.

  • Defining the Decision VariablesX1 = amount of money to invest in Acme ChemicalX2 = amount of money to invest in DynaStarX3 = amount of money to invest in Eagle VisionX4 = amount of money to invest in MicroModelingX5 = amount of money to invest in OptiProX6 = amount of money to invest in Sabre Systems

  • Defining the Objective FunctionMaximize the total annual investment return:

    MAX: .0865X1+ .095X2+ .10X3+ .0875X4+ .0925X5+ .09X6

  • Defining the ConstraintsTotal amount is investedX1 + X2 + X3 + X4 + X5 + X6 = 750,000 No more than 25% in any one investmentXi = 375,00035% Restriction on DynaStar, Eagle Vision, and OptiPro.X2 + X3 + X5 = 0 for all i

  • Implementing the ModelSee file Fig2-3.xls

  • A Transportation Problem: Tropicsun

  • Defining the Decision VariablesXij = # 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)

  • Defining the Objective FunctionMinimize the total number of bushel-miles.MIN:21X14 + 50X15 + 40X16 +35X24 + 30X25 + 22X26 + 55X34 + 20X35 + 25X36

  • Defining the ConstraintsCapacity constraintsX14 + X24 + X34
  • Implementing the ModelSee file Fig2-4.xls

  • A Blending Problem:The Agri-Pro CompanyAgri-Pro has received an order for 8,000 pounds of chicken feed to be mixed from the following feeds.The order must contain at least 20% corn, 15% grain, and 15% minerals.

  • Defining the Decision VariablesX1 = pounds of feed 1 to use in the mixX2 = pounds of feed 2 to use in the mixX3 = pounds of feed 3 to use in the mixX4 = pounds of feed 4 to use in the mix

  • Defining the Objective FunctionMinimize the total cost of filling the order.MIN: 0.25X1 + 0.30X2 + 0.32X3 + 0.15X4

  • Defining the ConstraintsProduce 8,000 pounds of feedX1 + X2 + X3 + X4 = 8,000Mix consists of at least 20% corn (0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8000 >= 0.2Mix consists of at least 15% grain(0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8000 >= 0.15Mix consists of at least 15% minerals(0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8000 >= 0.15Nonnegativity conditionsX1, X2, X3, X4 >= 0

  • A Comment About ScalingNotice the coefficient for X2 in the corn constraint is 0.05/8000 = 0.00000625As 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...

  • Re-Defining the Decision VariablesX1 = thousands of pounds of feed 1 to use in the mixX2 = thousands of pounds of feed 2 to use in the mixX3 = thousands of pounds of feed 3 to use in the mixX4 = thousands of pounds of feed 4 to use in the mix

  • Re-Defining the Objective FunctionMinimize the total cost of filling the order.MIN: 250X1 + 300X2 + 320X3 + 150X4

  • Re-Defining the ConstraintsProduce 8,000 pounds of feedX1 + X2 + X3 + X4 = 8Mix consists of at least 20% corn (0.3X1 + 0.05X2 + 0.2X3 + 0.1X4)/8 >= 0.2Mix consists of at least 15% grain(0.1X1 + 0.3X2 + 0.15X3 + 0.1X4)/8 >= 0.15Mix consists of at least 15% minerals(0.2X1 + 0.2X2 + 0.2X3 + 0.3X4)/8 >= 0.15Nonnegativity conditionsX1, X2, X3, X4 >= 0

  • Scaling: Before and AfterBefore:Largest constraint coefficient was 8,000Smallest constraint coefficient was 0.05/8 = 0.00000625.After: Largest constraint coefficient is 8Smallest constraint coefficient is 0.05/8 = 0.00625.The problem is now more evenly scaled!

  • The Assume Linear Model OptionThe 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 isnt linear when you know it is, try solving it again. If that doesnt work, try re-scaling your model.

  • Implementing the ModelSee file Fig2-5.xls

  • A Production Planning Problem:The Upton CorporationUpton is planning the production of their heavy-duty air compressors for the next 6 months.Beginning inventory = 2,750 units Safety stock = 1,500 unitsUnit carrying cost = 1.5% of unit production costMaximum warehouse capacity = 6,000 units

  • Defining the Decision VariablesPi = number of units to produce in month i, i=1 to 6

    Bi = beginning inventory month i, i=1 to 6

  • Defining the Objective FunctionMinimize 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.

  • Defining the Constraints - IProduction levels2,000
  • Defining the Constraints - IIEnding Inventory (EI = BI + P - D)1,500 < B1 + P1 - 1,000 < 6,000 } month 11,500 < B2 + P2 - 4,500 < 6,000 } month 21,500 < B3 + P3 - 6,000 < 6,000 } month 31,500 < B4 + P4 - 5,500 < 6,000 } month 41,500 < B5 + P5 - 3,500 < 6,000 } month 51,500 < B6 + P6 - 4,000 < 6,000 } month 6

  • Defining the Constraints - IIIBeginning BalancesB1 = 2750B2 = B1 + P1 - 1,000B3 = B2 + P2 - 4,500B4 = B3 + P3 - 6,000B5 = B4 + P4 - 5,500B6 = B5 + P5 - 3,500B7 = 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.

  • Implementing the ModelSee file Fig2-6.xls

  • A Multi-Period Cash Flow Problem:The Taco-Viva Sinking Fund - ITaco-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.

  • Summary of Possible Cash Flows

  • Defining the Decision VariablesAi = amount (in $1,000s) placed in investment A at the beginning of month i=1, 2, 3, 4, 5, 6Bi = amount (in $1,000s) placed in investment B at the beginning of month i=1, 3, 5Ci = amount (in $1,000s) placed in investment C at the beginning of month i=1, 4Di = amount (in $1,000s) placed in investment D at the beginning of month i=1

  • Defining the Objective FunctionMinimize the total cash invested in month 1.MIN: A1 + B1 + C1 + D1

  • Defining the ConstraintsCash Flow Constraints1.018A1 1A2 = 0 } month 21.035B1 + 1.018A2 1A3 1B3 = 250 } month 31.058C1 + 1.018A3 1A4 1C4 = 0 } month 41.035B3 + 1.018A4 1A5 1B5 = 250 } month 51.018A5 1A6 = 0 } month 61.11D1 + 1.058C4 + 1.035B5 + 1.018A6 = 300 } month 7Nonnegativity ConditionsAi, Bi, Ci, Di >= 0, for all i

  • Implementing the ModelSee file Fig2-7.xls

  • Risk Management:The Taco-Viva Sinking Fund - IIAssume the CFO has assigned the following risk ratings to each investment on a scale from 1 to 10 (10 = max risk)InvestmentRisk RatingA1B3C8D6

    The CFO wants the weighted average risk to not exceed 5.

  • Defining the ConstraintsRisk Constraints

  • An Alternate Version of the Risk ConstraintsEquivalent Risk Constraints-4A1 2B1 + 3C1 + 1D1 < 0 } month 1-2B1 + 3C1 + 1D1 4A2 < 0 } month 23C1 + 1D1 4A3 2B3 < 0 } month 31D1 2B3 4A4 + 3C4 < 0 } month 41D1 + 3C4 4A5 2B5 < 0 } month 51D1 + 3C4 2B5 4A6 < 0 } month 6Note that each coefficient is equal to the risk factor for the investment minus 5 (the max. allowable weighted average risk).

  • Implementing the ModelSee file Fig2-8.xls

  • Data Envelopment Analysis (DEA):Steak & BurgerSteak & Burger needs to evaluate the performance (efficiency) of 12 units. Outputs for each unit (Oij) include measures of: Profit, Customer Satisfaction, and CleanlinessInputs for each unit (Iij) include: Labor Hours, and Operating CostsThe Efficiency of unit i is defined as follows:

  • Defining the Decision Variableswj = weight assigned to output j vj = weight assigned to input jA separate LP is solved for each unit, allowing each unit to select the best possible weights for itself.

  • Defining the Objective FunctionMaximize the weighted output for unit i :

  • Defining the ConstraintsEfficiency cannot exceed 100% for any unit

    Sum of weighted inputs for unit i must equal 1

    Nonnegativity Conditionswj, vj >= 0, for all j

  • Important PointWhen 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.

  • Implementing the ModelSee file Fig2-9.xls

  • End of Chapter 2