Table of Contents Chapter 2 (Linear Programming: Basic Concepts) The Wyndor Glass Company Product Mix Problem (Section 2.1) Formulating the Wyndor Problem on a Spreadsheet (Section 2.2) The Algebraic Model for Wyndor (Section 2.3) The Graphical Method Applied to the Wyndor Problem (Section 2.4) Using the Excel Solver with the Wyndor Problem (Section 2.5) A Minimization Example—The Profit & Gambit Co. (Section 2.6) 2.2 2.3–2.7 2.8 2.9–2.19 2.20–2.25 2.26–2.31 Introduction to Linear Programming (UW Lecture) 2.32–2.47 These slides are based upon a lecture introducing the basic concepts of linear programming and the Solver to first-year MBA students at the University of Washington (as taught by one of the authors). The lecture is largely based upon a production problem using lego building blocks. The Graphical Method and Properties of LP Solutions (UW Lecture) 2.48–2.56 These slides are based upon a lecture introducing the graphical method and other concepts about linear programming solutions to first-year MBA students at the University of Washington (as taught by one of the authors). McGraw-Hill/Irwin 2.1 © The McGraw-Hill Companies, Inc., 2008 Wyndor Glass Co. Product Mix Problem • Wyndor has developed the following new products: – – • An 8-foot glass door with aluminum framing. A 4-foot by 6-foot double-hung, wood-framed window. The company has three plants – – – Plant 1 produces aluminum frames and hardware. Plant 2 produces wood frames. Plant 3 produces glass and assembles the windows and doors. Questions: 1. Should they go ahead with launching these two new products? 2. If so, what should be the product mix? McGraw-Hill/Irwin 2.2 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #1: Data Cells – Enter all of the data for the problem on the spreadsheet. – Make consistent use of rows and columns. – It is a good idea to color code these “data cells” (e.g., light blue). McGraw-Hill/Irwin 2.3 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #2: Changing Cells – Add a cell in the spreadsheet for every decision that needs to be made. – If you don’t have any particular initial values, just enter 0 in each. – It is a good idea to color code these “changing cells” (e.g., yellow with border). McGraw-Hill/Irwin 2.4 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #3: Target Cell – Develop an equation that defines the objective of the model. – Typically this equation involves the data cells and the changing cells in order to determine a quantity of interest (e.g., total profit or total cost). – It is a good idea to color code this cell (e.g., orange with heavy border). G 11 12 McGraw-Hill/Irwin 2.5 Total Profit =SUMPRODUCT(UnitProfit,UnitsProduced) © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #4: Constraints – For any resource that is restricted, calculate the amount of that resource used in a cell on the spreadsheet (an output cell). – Define the constraint in three consecutive cells. For example, if Quantity A <= Quantity B, put these three items (Quantity A, <=, Quantity B) in consecutive cells. A 1 2 3 4 5 6 7 8 9 10 11 12 B C D E F G <= <= <= Hours Available 4 12 18 Wyndor Glass Co. Product-Mix Problem Unit Profit Doors $300 Windows $500 Hours Used Per Unit Produced Plant 1 1 0 Plant 2 0 2 Plant 3 3 2 Units Produced Doors 0 Hours Used 0 0 0 Windows 0 Total Profit $0 E 5 6 7 8 9 Hours Used =SUMPRODUCT(C7:D7,UnitsProduced) =SUMPRODUCT(C8:D8,UnitsProduced) =SUMPRODUCT(C9:D9,UnitsProduced) McGraw-Hill/Irwin 2.6 © The McGraw-Hill Companies, Inc., 2008 A Trial Solution The spreadsheet for the Wyndor problem with a trial solution (4 doors and 3 windows) entered into the changing cells. McGraw-Hill/Irwin 2.7 © The McGraw-Hill Companies, Inc., 2008 Algebraic Model for Wyndor Glass Co. Let D = the number of doors to produce W = the number of windows to produce Maximize P = $300D + $500W subject to D≤4 2W ≤ 12 3D + 2W ≤ 18 and D ≥ 0, W ≥ 0. McGraw-Hill/Irwin 2.8 © The McGraw-Hill Companies, Inc., 2008 Graphing the Product Mix W P rod uct ion rat e (un it s p e r we ek) fo r w in do w s 8 A product mix of D = 4 and W 7 =6 (4, 6) 6 5 A product mix of 4 D = 2 and 3 W =3 (2, 3) 2 1 Origin -2 -1 0 -1 1 2 3 4 5 6 7 8 D Production rate (units per week) for doors -2 McGraw-Hill/Irwin 2.9 © The McGraw-Hill Companies, Inc., 2008 Graph Showing Constraints: D ≥ 0 and W ≥ 0 W 8 P ro du cti on rate fo r wi n do ws 6 4 2 0 2 4 6 8 D Production rate for doors McGraw-Hill/Irwin 2.10 © The McGraw-Hill Companies, Inc., 2008 Nonnegative Solutions Permitted by D ≤ 4 W 8 D= 4 Pro du c tio n ra te fo r w in d o w s 6 4 2 0 McGraw-Hill/Irwin 2 4 Production rate for doors 2.11 6 8 D © The McGraw-Hill Companies, Inc., 2008 Nonnegative Solutions Permitted by 2W ≤ 12 Production rate for windows W 8 2 W = 12 6 4 2 0 2 4 6 8 D Production rate for doors McGraw-Hill/Irwin 2.12 © The McGraw-Hill Companies, Inc., 2008 Boundary Line for Constraint 3D + 2W ≤ 18 Production rate for windows W 10 (0, 9) 8 1 (1, 7 )_ 2 (2, 6) 6 3 D + 2 W = 18 (3, 4 1 _ ) 2 4 (4, 3) 2 (5, 1 1 _ ) 2 (6, 0) 0 2 4 6 8 D Production rate for doors McGraw-Hill/Irwin 2.13 © The McGraw-Hill Companies, Inc., 2008 Changing Right-Hand Side Creates Parallel Constraint Boundary Lines Production rate for windows W 12 10 3D + 2W = 24 8 6 3D + 2W = 18 4 2 0 3D + 2W = 12 2 4 8 6 10 D Production rate for doors McGraw-Hill/Irwin 2.14 © The McGraw-Hill Companies, Inc., 2008 Nonnegative Solutions Permitted by 3D + 2W ≤ 18 Production rate for windows W 10 8 6 3D + 2W = 18 4 2 0 2 4 6 8 D Production rate for doors McGraw-Hill/Irwin 2.15 © The McGraw-Hill Companies, Inc., 2008 Graph of Feasible Region Production rate for windows W 10 3 D + 2 W = 18 8 D= 4 6 2 W =12 4 Feasible region 2 0 McGraw-Hill/Irwin 2 4 Production rate for doors 2.16 6 8 D © The McGraw-Hill Companies, Inc., 2008 Objective Function (P = 1,500) Production rate W for windows 8 6 4 P = 1500 = 300D Feasible region + 500W 2 0 McGraw-Hill/Irwin 2 4 Production rate for doors 2.17 6 8 D © The McGraw-Hill Companies, Inc., 2008 Finding the Optimal Solution Production rate W for windows 8 P = 3600 = 300D + 500W P = 3000 = 300D + 500W Optimal solution (2, 6) 6 Feasible 4 region P = 1500 = 300D + 500W 2 0 2 4 Production rate for doors McGraw-Hill/Irwin 2.18 6 8 10 D © The McGraw-Hill Companies, Inc., 2008 Summary of the Graphical Method • Draw the constraint boundary line for each constraint. Use the origin (or any point not on the line) to determine which side of the line is permitted by the constraint. • Find the feasible region by determining where all constraints are satisfied simultaneously. • Determine the slope of one objective function line. All other objective function lines will have the same slope. • Move a straight edge with this slope through the feasible region in the direction of improving values of the objective function. Stop at the last instant that the straight edge still passes through a point in the feasible region. This line given by the straight edge is the optimal objective function line. • A feasible point on the optimal objective function line is an optimal solution. McGraw-Hill/Irwin 2.19 © The McGraw-Hill Companies, Inc., 2008 Identifying the Target Cell and Changing Cells • • • • Choose the “Solver” from the Tools menu. Select the cell you wish to optimize in the “Set Target Cell” window. Choose “Max” or “Min” depending on whether you want to maximize or minimize the target cell. Enter all the changing cells in the “By Changing Cells” window. B C 3 4 Unit Profit D Doors Windows $300 $500 5 6 7 8 9 Plant 1 Plant 2 Plant 3 Hours Used Per Unit Produced 1 0 0 2 3 2 E Hours Used 1 2 5 F <= <= <= G Hours Available 1 12 18 10 Doors 11 12 McGraw-Hill/Irwin Units Produced 1 2.20 Windows 1 Total Profit $800 © The McGraw-Hill Companies, Inc., 2008 Adding Constraints • • To begin entering constraints, click the “Add” button to the right of the constraints window. Fill in the entries in the resulting Add Constraint dialogue box. B C 3 Unit Profit 4 D Doors Windows $300 $500 5 6 Plant 1 Plant 2 Plant 3 7 8 9 Hours Used Per Unit Produced 1 0 0 2 3 2 E Hours Used 1 2 5 F <= <= <= G Hours Available 1 12 18 10 Doors 11 12 Units Produced McGraw-Hill/Irwin Windows 1 1 2.21 Total Profit $800 © The McGraw-Hill Companies, Inc., 2008 The Complete Solver Dialogue Box McGraw-Hill/Irwin 2.22 © The McGraw-Hill Companies, Inc., 2008 Some Important Options • Click on the “Options” button, and click in both the “Assume Linear Model” and the “Assume Non-Negative” box. – “Assume Linear Model” tells the Solver that this is a linear programming model. – “Assume Non-Negative” adds nonnegativity constraints to all the changing cells. McGraw-Hill/Irwin 2.23 © The McGraw-Hill Companies, Inc., 2008 The Solver Results Dialogue Box McGraw-Hill/Irwin 2.24 © The McGraw-Hill Companies, Inc., 2008 The Optimal Solution McGraw-Hill/Irwin 2.25 © The McGraw-Hill Companies, Inc., 2008 The Profit & Gambit Co. • Management has decided to undertake a major advertising campaign that will focus on the following three key products: – A spray prewash stain remover. – A liquid laundry detergent. – A powder laundry detergent. • The campaign will use both television and print media • The general goal is to increase sales of these products. • Management has set the following goals for the campaign: – Sales of the stain remover should increase by at least 3%. – Sales of the liquid detergent should increase by at least 18%. – Sales of the powder detergent should increase by at least 4%. Question: how much should they advertise in each medium to meet the sales goals at a minimum total cost? McGraw-Hill/Irwin 2.26 © The McGraw-Hill Companies, Inc., 2008 Profit & Gambit Co. Spreadsheet Model B 4 C D Television 3 Unit Cost ($millions) E F G Print Media 1 2 5 Increased Sales 3% 18% 6 7 8 9 10 Stain Remover Liquid Detergent Powder Detergent Increase in Sales per Unit of Advertising 0% 1% 3% 2% -1% 4% 8% >= >= Minimum Increase 3% 18% >= 4% 11 12 Television 13 14 Advertising Units McGraw-Hill/Irwin Print Media 4 3 2.27 Total Cost ($millions) 10 © The McGraw-Hill Companies, Inc., 2008 Algebraic Model for Profit & Gambit Let TV = the number of units of advertising on television PM = the number of units of advertising in the print media Minimize Cost = TV + 2PM (in millions of dollars) subject to Stain remover increased sales: PM ≥ 3 Liquid detergent increased sales: 3TV + 2PM ≥ 18 Powder detergent increased sales: –TV + 4PM ≥ 4 and TV ≥ 0, PM ≥ 0. McGraw-Hill/Irwin 2.28 © The McGraw-Hill Companies, Inc., 2008 Applying the Graphical Method Amount of print media advertising PM Feasible 10 region 8 6 4 PM = 3 2 -TV + 4 PM = 4 -4 -2 0 2 3 TV + 2 PM = 18 4 6 8 10 TV Amount of TV advertising McGraw-Hill/Irwin 2.29 © The McGraw-Hill Companies, Inc., 2008 The Optimal Solution PM 10 Cost = 15 = TV Cost = 10 = TV Fe as ib le re gi o n + 2 PM + 2 PM 4 (4,3) optimal solution 0 5 10 15 TV A m ou nt o f TV adv erti s ing McGraw-Hill/Irwin 2.30 © The McGraw-Hill Companies, Inc., 2008 Summary of the Graphical Method • Draw the constraint boundary line for each constraint. Use the origin (or any point not on the line) to determine which side of the line is permitted by the constraint. • Find the feasible region by determining where all constraints are satisfied simultaneously. • Determine the slope of one objective function line. All other objective function lines will have the same slope. • Move a straight edge with this slope through the feasible region in the direction of improving values of the objective function. Stop at the last instant that the straight edge still passes through a point in the feasible region. This line given by the straight edge is the optimal objective function line. • A feasible point on the optimal objective function line is an optimal solution. McGraw-Hill/Irwin 2.31 © The McGraw-Hill Companies, Inc., 2008 A Production Problem Weekly supply of raw materials: 8 Small Bricks 6 Large Bricks Products: Table Profit = $20 / Table McGraw-Hill/Irwin Chair Profit = $15 / Chair 2.32 © The McGraw-Hill Companies, Inc., 2008 Linear Programming • Linear programming uses a mathematical model to find the best allocation of scarce resources to various activities so as to maximize profit or minimize cost. Let T = Number of tables to produce C = Number of chairs to produce Maximize Profit = ($20)T + ($15)C subject to 2T + C ≤ 6 large bricks 2T + 2C ≤ 8 small bricks and T ≥ 0, C ≥ 0. McGraw-Hill/Irwin 2.33 © The McGraw-Hill Companies, Inc., 2008 Graphical Representation McGraw-Hill/Irwin 2.34 © The McGraw-Hill Companies, Inc., 2008 Components of a Linear Program • Data Cells • Changing Cells (“Decision Variables”) • Target Cell (“Objective Function”) • Constraints McGraw-Hill/Irwin 2.35 © The McGraw-Hill Companies, Inc., 2008 Four Assumptions of Linear Programming • Linearity • Divisibility • Certainty • Nonnegativity McGraw-Hill/Irwin 2.36 © The McGraw-Hill Companies, Inc., 2008 When is a Spreadsheet Model Linear? • All equations (output cells) must be of the form = ax + by + cz + … where a, b, c are constants (data cells) and x, y, z are changing cells. • Suppose C1:C6 are changing cells and D1:D6 are data cells. Which of the following can be part of an LP? – – – – – – – – – SUMPRODUCT(D1:D6, C1:C6) SUM(C1:C6) C1 * SUM(C4:C6) SUMPRODUCT(C1:C3, C4:C6) IF(C1 > 3, 2*C3 + C4, 3*C3 + C5) IF(D1 > 3, C1, C2) MIN(C1, C2) MIN(D1, D2) * C1 ROUND(C1) McGraw-Hill/Irwin 2.37 © The McGraw-Hill Companies, Inc., 2008 Why Use Linear Programming? • Linear programs are easy (efficient) to solve • The best (optimal) solution is guaranteed to be found (if it exists) • Useful sensitivity analysis information is generated • Many problems are essentially linear McGraw-Hill/Irwin 2.38 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #1: Data Cells – Enter all of the data for the problem on the spreadsheet. – Make consistent use of rows and columns. – It is a good idea to color code these “data cells” (e.g., light blue). B 3 4 C D Tables Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Available 7 Large Bricks 2 1 6 8 Small Bricks 2 2 8 McGraw-Hill/Irwin 2.39 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #2: Changing Cells – Add a cell in the spreadsheet for every decision that needs to be made. – If you don’t have any particular initial values, just enter 0 in each. – It is a good idea to color code these “changing cells” (e.g., yellow with border). B 3 C D Tables 4 Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Available 7 Large Bricks 2 1 6 8 Small Bricks 2 2 8 Tables Chairs 0 0 9 10 11 Production Quantity: McGraw-Hill/Irwin 2.40 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #3: Target Cell – Develop an equation that defines the objective of the model. – Typically this equation involves the data cells and the changing cells in order to determine a quantity of interest (e.g., total profit or total cost). – It is a good idea to color code this cell (e.g., orange with heavy border). B 3 4 C D Tables Profit E F G Chairs $20.00 $15.00 5 6 Bill of Materials Available 7 Large Bricks 2 1 6 8 Small Bricks 2 2 8 Tables Chairs Total Profit 1 0 $20.00 9 10 11 Production Quantity: G 10 11 McGraw-Hill/Irwin Total Profit =SUMPRODUCT(C4:D4,C11:D11) 2.41 © The McGraw-Hill Companies, Inc., 2008 Developing a Spreadsheet Model • Step #4: Constraints – For any resource that is restricted, calculate the amount of that resource used in a cell on the spreadsheet (an output cell). – Define the constraint in three consecutive cells. For example, if Quantity A ≤ Quantity B, put these three items (Quantity A, ≤, Quantity B) in consecutive cells. – Note the use of relative and absolute addressing to make it easy to copy formulas in column E. B 3 4 C D Tables Profit E F G Chairs $20.00 $15.00 5 6 Bill of Materials Total Us ed Available 7 Large Bricks 2 1 3 <= 6 8 Small Bricks 2 2 4 <= 8 Tables Chairs Total Profit 1 1 $35.00 9 10 11 Production Quantity: E 6 McGraw-Hill/Irwin 2.42 Total Used 7 =SUMPRODUCT(C7:D7,$C$11:$D$11) 8 =SUMPRODUCT(C8:D8,$C$11:$D$11) © The McGraw-Hill Companies, Inc., 2008 Defining the Target Cell • • • Choose the “Solver” from the Tools menu. Select the cell you wish to optimize in the “Set Target Cell” window. Choose “Max” or “Min” depending on whether you want to maximize or minimize the target cell. B C 3 4 D Tables Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Total Us ed Available 7 Large Bricks 2 1 3 <= 6 8 Small Bricks 2 2 4 <= 8 Tables Chairs Total Profit 1 1 $35.00 9 10 11 McGraw-Hill/Irwin Production Quantity: 2.43 © The McGraw-Hill Companies, Inc., 2008 Identifying the Changing Cells • Enter all the changing cells in the “By Changing Cells” window. – You may either drag the cursor across the cells or type the addresses. – If there are multiple sets of changing cells, separate them by typing a comma. B 3 4 C D Tables Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Total Us ed Available 7 Large Bricks 2 1 3 <= 6 8 Small Bricks 2 2 4 <= 8 Tables Chairs Total Profit 1 1 $35.00 9 10 11 Production Quantity: McGraw-Hill/Irwin 2.44 © The McGraw-Hill Companies, Inc., 2008 Adding Constraints • • To begin entering constraints, click the “Add” button to the right of the constraints window. Fill in the entries in the resulting Add Constraint dialogue box. B 3 4 C D Tables Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Total Us ed Available 7 Large Bricks 2 1 3 <= 6 8 Small Bricks 2 2 4 <= 8 Tables Chairs Total Profit 1 1 $35.00 9 10 11 McGraw-Hill/Irwin Production Quantity: 2.45 © The McGraw-Hill Companies, Inc., 2008 Some Important Options • Click on the “Options” button, and click in both the “Assume Linear Model” and the “Assume Non-Negative” box. – “Assume Linear Model” tells the Solver that this is a linear programming model. – “Assume Non-Negative” adds nonnegativity constraints to all the changing cells. McGraw-Hill/Irwin 2.46 © The McGraw-Hill Companies, Inc., 2008 The Solution • After clicking “Solve”, you will receive one of four messages: – “Solver found a solution. All constraints and optimality conditions are satisfied.” – “Set cell values did not converge.” – “Solver could not find a feasible solution.” – “Conditions for Assume Linear Model are not satisfied.” B 3 C D Tables 4 Profit $20.00 E F G Chairs $15.00 5 6 Bill of Materials Total Us ed Available 7 Large Bricks 2 1 6 <= 6 8 Small Bricks 2 2 8 <= 8 Tables Chairs Total Profit 2 2 $70.00 9 10 11 Production Quantity: McGraw-Hill/Irwin 2.47 © The McGraw-Hill Companies, Inc., 2008 The Graphical Method for Solving LP’s • Formulate the problem as a linear program • Plot the constraints • Identify the feasible region • Draw an imaginary line parallel to the objective function (Z = a) • Find the optimal solution McGraw-Hill/Irwin 2.48 © The McGraw-Hill Companies, Inc., 2008 Example #1 Maximize Z = 3x1 + 5x2 subject to x1 ≤ 4 2x2 ≤ 12 3x1 + 2x2 ≤ 18 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.49 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 Example #2 Minimize Z = 15x1 + 20x2 subject to x1 +2x2 ≥ 10 2x1 – 3x2 ≤ 6 x1 + x2 ≥ 6 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.50 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 Example #3 Maximize Z = x1 + x2 subject to x1 +2x2 = 8 x1 – x2 ≤ 0 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.51 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 Properties of Linear Programming Solutions • An optimal solution must lie on the boundary of the feasible region. • There are exactly four possible outcomes of linear programming: – – – – A unique optimal solution is found. An infinite number of optimal solutions exist. No feasible solutions exist. The objective function is unbounded (there is no optimal solution). • If an LP model has one optimal solution, it must be at a corner point. • If an LP model has many optimal solutions, at least two of these optimal solutions are at corner points. McGraw-Hill/Irwin 2.52 © The McGraw-Hill Companies, Inc., 2008 Example #4 (Multiple Optimal Solutions) Minimize Z = 6x1 + 4x2 subject to x1 ≤ 4 2x2 ≤ 12 3x1 + 2x2 ≤ 18 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.53 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 Example #5 (No Feasible Solution) Maximize Z = 3x1 + 5x2 subject to x1 ≥ 5 x2 ≥ 4 3x1 + 2x2 ≤ 18 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.54 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 Example #6 (Unbounded Solution) Maximize Z = 5x1 + 12x2 subject to x1 ≤ 5 2x1 –x2 ≤ 2 and x1 ≥ 0, x2 ≥ 0. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2.55 2 3 4 5 6 7 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008 The Simplex Method Algorithm 1. Start at a feasible corner point (often the origin). 2. Check if adjacent corner points improve the objective function: a) If so, move to adjacent corner and repeat step 2. b) If not, current corner point is optimal. Stop. x2 10 9 8 7 6 5 4 3 2 1 1 McGraw-Hill/Irwin 2 3 4 5 6 7 2.56 8 9 10 x1 © The McGraw-Hill Companies, Inc., 2008