Introduction to Management Science 8th Edition by Bernard W. Taylor III Chapter 5 Integer Programming Chapter 5 - Integer Programming 1 Chapter Topics Integer Programming (IP) Models Integer Programming Graphical Solution Computer Solution of Integer Programming Problems With Excel and QM for Windows Chapter 5 - Integer Programming 2 Integer Programming Models Types of Models Maximize Z = 10x1 + 15x2 subject to: 8x1 + 4x2 40 15x1 + 30x2 200 Total Integer Model: All decision variables required to have integer solution values (e.g., x1, x2 0 and integer). 0-1 Integer Model: All decision variables required to have integer values of zero or one (e.g., x1, x2 = 0 or 1). Mixed Integer Model: Some of the decision variables (but not all) required to have integer values (e.g., x1 0 and integer, x2 0 ). Chapter 5 - Integer Programming 3 Total Integer Model (1 of 2) Machine shop obtaining new presses and lathes. Marginal profitability: each press $100/day; each lathe $150/day. Resource constraints: $40,000, 200 sq. ft. floor space. Machine purchase prices and space requirements: Required Floor Space (sq. ft.) Purchase Price Press 15 $8,000 Lathe 30 4,000 Machine Chapter 5 - Integer Programming 4 Total Integer Model (2 of 2) Integer Programming Model: Define x1 = number of presses x2 = number of lathes Maximize Z = $100x1 + $150x2 subject to: 8,000x1 + 4,000x2 $40,000 15x1 + 30x2 200 ft2 x1, x2 0 and integer Chapter 5 - Integer Programming 5 0 - 1 Integer Model (1 of 2) Recreation facilities selection to maximize daily usage by residents. Resource constraints: $120,000 budget; 12 acres of land. Selection constraint: either swimming pool or tennis center (not both). Data: Recreation Facility Swimming pool Tennis Center Athletic field Gymnasium Chapter 5 - Integer Programming Expected Usage (people/day) Cost ($) Land Requirement (acres) 300 90 400 150 35,000 10,000 25,000 90,000 4 2 7 3 6 0 - 1 Integer Model (2 of 2) Integer Programming Model: Define: x1 = construction of a swimming pool x2 = construction of a tennis center x3 = construction of an athletic field x4 = construction of a gymnasium Maximize Z = 300x1 + 90x2 + 400x3 + 150x subject to: $35,000x1 + 10,000x2 + 25,000x3 + 90,000x4 $120,000 4x1 + 2x2 + 7x3 + 3x3 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 Chapter 5 - Integer Programming 7 Mixed Integer Model (1 of 2) $250,000 available for investments providing greatest return after one year. Data: Condominium cost $50,000/unit, $9,000 profit if sold after one year. Land cost $12,000/ acre, $1,500 profit if sold after one year. Municipal bond cost $8,000/bond, $1,000 profit if sold after one year. Only 4 condominiums, 15 acres of land, and 20 municipal bonds available. Chapter 5 - Integer Programming 8 Mixed Integer Model (2 of 2) Integer Programming Model: Maximize Z = $9,000x1 + 1,500x2 + 1,000x3 subject to: 50,000x1 + 12,000x2 + 8,000x3 $250,000 x1 4 condominiums x2 15 acres x3 20 bonds x2 0 x1, x3 0 and integer x1 = condominiums purchased x2 = acres of land purchased x3 = bonds purchased Chapter 5 - Integer Programming 9 Integer Programming Graphical Solution Rounding non-integer solution values up to the nearest integer value can result in an infeasible solution A feasible solution is ensured by rounding down noninteger solution values but may result in a less than optimal (sub-optimal) solution. Chapter 5 - Integer Programming 10 Integer Programming Example Graphical Solution of Maximization Model Maximize Z = $100x1 + $150x2 subject to: 8,000x1 + 4,000x2 $40,000 15x1 + 30x2 200 ft2 x1, x2 0 and integer Optimal Solution: Z = $1,055.56 x1 = 2.22 presses x2 = 5.55 lathes Figure 5.1 Feasible Solution Space with Integer Solution Points Chapter 5 - Integer Programming 11 Branch and Bound Method Traditional approach to solving integer programming problems. Based on principle that total set of feasible solutions can be partitioned into smaller subsets of solutions. Smaller subsets evaluated until best solution is found. Method is a tedious and complex mathematical process. Excel and QM for Windows used in this book. See CD-ROM Module C – “Integer Programming: the Branch and Bound Method” for detailed description of method. Chapter 5 - Integer Programming 12 Computer Solution of IP Problems 0 – 1 Model with Excel (1 of 5) Recreational Facilities Example: Maximize Z = 300x1 + 90x2 + 400x3 + 150x4 subject to: $35,000x1 + 10,000x2 + 25,000x3 + 90,000x4 $120,000 4x1 + 2x2 + 7x3 + 3x3 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 Chapter 5 - Integer Programming 13 Computer Solution of IP Problems 0 – 1 Model with Excel (2 of 5) Exhibit 5.2 Chapter 5 - Integer Programming 14 Computer Solution of IP Problems 0 – 1 Model with Excel (4 of 5) Exhibit 5.4 Chapter 5 - Integer Programming 15 Computer Solution of IP Problems 0 – 1 Model with Excel (3 of 5) Exhibit 5.3 Chapter 5 - Integer Programming 16 Computer Solution of IP Problems 0 – 1 Model with Excel (5 of 5) Exhibit 5.5 Chapter 5 - Integer Programming 17 Computer Solution of IP Problems 0 – 1 Model with QM for Windows (1 of 3) Recreational Facilities Example: Maximize Z = 300x1 + 90x2 + 400x3 + 150x4 subject to: $35,000x1 + 10,000x2 + 25,000x3 + 90,000x4 $120,000 4x1 + 2x2 + 7x3 + 3x3 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 Chapter 5 - Integer Programming 18 Computer Solution of IP Problems 0 – 1 Model with QM for Windows (2 of 3) Exhibit 5.6 Chapter 5 - Integer Programming 19 Computer Solution of IP Problems 0 – 1 Model with QM for Windows (3 of 3) Exhibit 5.7 Chapter 5 - Integer Programming 20 0 – 1 Integer Programming Modeling Examples Capital Budgeting Example (1 of 3) University bookstore expansion project. Not enough space available for both a computer department and a clothing department. Data: Project 1. Website 2. Warehouse 3. Clothing department 4. Computer department 5. ATMs Available funds per year Chapter 5 - Integer Programming NPV Return ($1000) 120 85 105 140 75 Project Costs per Year ($1000) 1 2 3 55 45 60 50 30 40 35 25 35 30 25 20 -30 -- 150 110 60 21 0 – 1 Integer Programming Modeling Examples Capital Budgeting Example (2 of 3) x1 = selection of web site project x2 = selection of warehouse project x3 = selection clothing department project x4 = selection of computer department project x5 = selection of ATM project xi = 1 if project “i” is selected, 0 if project “i” is not selected Maximize Z = $120x1 + $85x2 + $105x3 + $140x4 + $70x5 subject to: 55x1 + 45x2 + 60x3 + 50x4 + 30x5 150 40x1 + 35x2 + 25x3 + 35x4 + 30x5 110 25x1 + 20x2 + 30x4 60 x3 + x4 1 xi = 0 or 1 Chapter 5 - Integer Programming 22 0 – 1 Integer Programming Modeling Examples Capital Budgeting Example (2 of 3) What additional constraint/s are needed for the following: a) If the website is chosen, then the ATMs must be selected? b) The clothing department can be selected only if the computer department is chosen. c) If both the clothing and computer departments are chosen, then the warehouse must be built? Chapter 5 - Integer Programming 23 0 – 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (1 of 4) Which of six farms should be purchased that will meet current production capacity at minimum total cost, including annual fixed costs and shipping costs? Data: Farms 1 2 3 4 5 6 Available Capacity (tons,1000s) 12 10 14 Plant Annual Fixed Costs ($1000) 405 390 450 368 520 465 Chapter 5 - Integer Programming Projected Annual Harvest (tons, 1000s) 11.2 10.5 12.8 9.3 10.8 9.6 A B C Farm A Plant B 1 2 3 4 5 6 18 13 16 19 17 14 15 10 14 15 19 16 C 12 17 18 16 12 12 24 0 – 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (2 of 4) yi = 0 if farm i is not selected, and 1 if farm i is selected, i = 1,2,3,4,5,6 xij = potatoes (tons, 1000s) shipped from farm i, i = 1,2,3,4,5,6 to plant j, j = A,B,C. Minimize Z = 18x1A + 15x1B + 12x1C + 13x2A + 10x2B + 17x2C + 16x3A + 14x3B + 18x3C + 19x4A + 15x4b + 16x4C + 17x5A + 19x5B + 12x5C + 14x6A + 16x6B + 12x6C + 405y1 + 390y2 + 450y3 + 368y4 + 520y5 + 465y6 subject to: x1A + x1B + x1B - 11.2y1 < 0 x2A + x2B + x2C -10.5y2 < 0 x3A + x3A + x3C - 12.8y3 < 0 x4A + x4b + x4C - 9.3y4 < 0 x5A + x5B + x5B - 10.8y5 < 0 x6A + x6B + X6C - 9.6y6 < 0 x1A + x2A + x3A + x4A + x5A + x6A =12 x1B + x2B + x3A + x4b + x5B + x6B = 10 x1B + x2C + x3C+ x4C + x5B + x6C = 14 xij = 0 yi = 0 or 1 Chapter 5 - Integer Programming 25 0 – 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (3 of 4) Exhibit 5.18 Chapter 5 - Integer Programming 26 0 – 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (4 of 4) Exhibit 5.19 Chapter 5 - Integer Programming 27 0 – 1 Integer Programming Modeling Examples Set Covering Example (1 of 4) APS wants to construct the minimum set of new hubs in the following twelve cities such that there is a hub within 300 miles of every city: Cities 1. Atlanta 2. Boston 3. Charlotte 4. Cincinnati 5. Detroit 6. Indianapolis 7. Milwaukee 8. Nashville 9. New York 10. Pittsburgh 11. Richmond 12. St. Louis Cities within 300 miles Atlanta, Charlotte, Nashville Boston, New York Atlanta, Charlotte, Richmond Cincinnati, Detroit, Nashville, Pittsburgh Cincinnati, Detroit, Indianapolis, Milwaukee, Pittsburgh Cincinnati, Detroit, Indianapolis, Milwaukee, Nashville, St. Louis Detroit, Indianapolis, Milwaukee Atlanta, Cincinnati, Indianapolis, Nashville, St. Louis Boston, New York, Richmond Cincinnati, Detroit, Pittsburgh, Richmond Charlotte, New York, Pittsburgh, Richmond Indianapolis, Nashville, St. Louis Chapter 5 - Integer Programming 28 0 – 1 Integer Programming Modeling Examples Set Covering Example (2 of 4) xi = city i, i = 1 to 12, xi = 0 if city is not selected as a hub and xi = 1if it is. Minimize Z = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 subject to: Atlanta: Boston: Charlotte: Cincinnati: Detroit: Indianapolis: Milwaukee: Nashville: New York: Pittsburgh: Richmond: St Louis: Chapter 5 - Integer Programming x1 + x3 + x8 1 x2 + x10 1 x1 + x3 + x11 1 x4 + x5 + x8 + x10 1 x4 + x5 + x6 + x7 + x10 1 x4 + x5 + x6 + x7 + x8 + x12 1 x5 + x6 + x7 1 x1 + x4 + x6+ x8 + x12 1 x2 + x9+ x11 1 x4 + x5 + x10 + x11 1 x3 + x9 + x10 + x11 1 x6 + x8 + x12 1 xij = 0 or 1 29 0 – 1 Integer Programming Modeling Examples Set Covering Example (3 of 4) Exhibit 5.20 Chapter 5 - Integer Programming 30 0 – 1 Integer Programming Modeling Examples Set Covering Example (4 of 4) Exhibit 5.21 Chapter 5 - Integer Programming 31 Total Integer Programming Modeling Example Problem Statement (1 of 3) Textbook company developing two new regions. Planning to transfer some of its 10 salespeople into new regions. Average annual expenses for sales person: Region 1 - $10,000/salesperson Region 2 - $7,500/salesperson Total annual expense budget is $72,000. Sales generated each year: Region 1 - $85,000/salesperson Region 2 - $60,000/salesperson How many salespeople should be transferred into each region in order to maximize increased sales? Chapter 5 - Integer Programming 32 Total Integer Programming Modeling Example Model Formulation (2 of 3) Step 1: Formulate the Integer Programming Model Maximize Z = $85,000x1 + 60,000x2 subject to: x1 + x2 10 salespeople $10,000x1 + 7,000x2 $72,000 expense budget x1, x2 0 or integer Step 2: Solve the Model using QM for Windows Chapter 5 - Integer Programming 33 Total Integer Programming Modeling Example Solution with QM for Windows (3 of 3) Chapter 5 - Integer Programming 34