Introduction to Management Science (8th Edition, Bernard W. Taylor III) Chapter 9 Integer Programming Chapter 9 - Integer Programming 1
Chapter Topics Integer Programming (IP) Models Still linear programming models Variables must be integers, and so form a subset of the original, real-number models Integer Programming Graphical Solution Computer Solution of Integer Programming Problems With Excel and QM for Windows Chapter 9 - Integer Programming 2
Integer Programming Models Types of Models Total Integer Model: All decision variables required to have integer solution values. 0 1 Integer Model: All decision variables required to have integer values of zero or one. Also referred to as Boolean and True/False Mixed Integer Model: Some of the decision variables (but not all) required to have integer values. Chapter 9 - Integer Programming 3
A 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: Machine Press Lathe Required Floor Space (sq. ft.) 15 30 Purchase Price $8,000 4,000 Chapter 9 - Integer Programming 4
A Total Integer Model (2 of 2) Integer Programming Model: Maximize Z = $100x 1 + $150x 2 subject to: 8,000x 1 + 4,000x 2 $40,000 15x 1 + 30x 2 200 ft 2 x 1, x 2 0 and integer x 1 = number of presses x 2 = number of lathes Chapter 9 - Integer Programming 5
A 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 Expected Usage (people/day) Cost ($) Land Requirement (acres) Swimming pool Tennis Center Athletic field Gymnasium 300 90 400 150 35,000 10,000 25,000 90,000 4 2 7 3 Chapter 9 - Integer Programming 6
A 0 1 Integer Model (2 of 2) Integer Programming Model: Maximize Z = 300x 1 + 90x 2 + 400x 3 + 150x 4 subject to: $35,000x 1 + 10,000x 2 + 25,000x 3 + 90,000x 4 $120,000 4x 1 + 2x 2 + 7x 3 + 3x 4 12 acres x 1 + x 2 1 facility x 1, x 2, x 3, x 4 = 0 or 1 (either do or don t) 1 2 3 4 x 1 = construction of a swimming pool x 2 = construction of a tennis center x 3 = construction of an athletic field x 4 = construction of a gymnasium Chapter 9 - Integer Programming 7
A 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 9 - Integer Programming 8
A Mixed Integer Model (2 of 2) Integer Programming Model: Maximize Z = $9,000x 1 + 1,500x 2 + 1,000x 3 subject to: 50,000x 1 + 12,000x 2 + 8,000x 3 $250,000 x 1 4 condominiums x 2 15 acres x 3 20 bonds x 2 0 x 1, x 3 0 and integer x 1 = condominiums purchased x 2 = acres of land purchased x 3 = bonds purchased Chapter 9 - Integer Programming 9
Integer Programming Graphical Solution Rounding non-integer solution values up (down) to the nearest integer value can result in an infeasible solution A feasible solution may be found by rounding down (up) non-integer solution values, but may result in a less than optimal (sub-optimal) solution. Whether a variable is to be rounded up or down depends on where the corresponding point is with respect to the constraint boundaries. Chapter 9 - Integer Programming 10
Integer Programming Example Graphical Solution of Maximization Model Maximize Z = $100x 1 + $150x 2 subject to: 8,000x 1 + 4,000x 2 $40,000 15x 1 + 30x 2 200 ft 2 x 1, x 2 0 and integer Optimal Solution: Z = $1,055.56 x 1 = 2.22 presses x 2 = 5.55 lathes Both of these may be found by judicious rounding, but the value of the objective function needs to be checked for each. Figure 9.1 Feasible Solution Space with Integer Solution Points Chapter 9 - 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 9 - Integer Programming 12
Computer Solution of IP Problems 0 1 Model with Excel (1 of 5) Recreational Facilities Example: Maximize Z = 300x 1 + 90x 2 + 400x 3 + 150x 4 subject to: $35,000x 1 + 10,000x 2 + 25,000x 3 + 90,000x 4 $120,000 4x 1 + 2x 2 + 7x 3 + 3x 4 12 acres x 1 + x 2 1 facility x 1, x 2, x 3, x 4 = 0 or 1 Chapter 9 - Integer Programming 13
Computer Solution of IP Problems 0 1 Model with Excel (2 of 5) Exhibit 9.2 Chapter 9 - Integer Programming 14
Computer Solution of IP Problems 0 1 Model with Excel (3 of 5) Exhibit 9.3 Instead, one could just specify $C$12:$C$15 as binary (= 0 or 1 ). Chapter 9 - Integer Programming 15
Computer Solution of IP Problems 0 1 Model with Excel (4 of 5) To constrain a range of variables to be integers, enter: Exhibit 9.4 and note that it doesn t matter what you put in the right-hand side field, but it must not be empty. Instead, one could just specify the bin option (= 0 or 1 ), thus avoiding the additional, 0 and 1 constraints. Chapter 9 - Integer Programming 16
Computer Solution of IP Problems 0 1 Model with Excel (5 of 5) Exhibit 9.5 Chapter 9 - Integer Programming 17
Computer Solution of IP Problems 0 1 Model with QM for Windows (1 of 3) Recreational Facilities Example: Maximize Z = 300x 1 + 90x 2 + 400x 3 + 150x 4 subject to: $35,000x 1 + 10,000x 2 + 25,000x 3 + 90,000x 4 $120,000 4x 1 + 2x 2 + 7x 3 + 3x 4 12 acres x 1 + x 2 1 facility x 1, x 2, x 3, x 4 = 0 or 1 Chapter 9 - Integer Programming 18
Computer Solution of IP Problems 0 1 Model with QM for Windows (2 of 3) Exhibit 9.6 Chapter 9 - Integer Programming 19
Computer Solution of IP Problems 0 1 Model with QM for Windows (3 of 3) Exhibit 9.7 Chapter 9 - Integer Programming 20
Computer Solution of IP Problems Total Integer Model with Excel (1 of 5) Integer Programming Model: Maximize Z = $100x 1 + $150x 2 subject to: 8,000x 1 + 4,000x 2 $40,000 15x 1 + 30x 2 200 ft 2 x 1, x 2 0 and integer Chapter 9 - Integer Programming 21
Computer Solution of IP Problems Total Integer Model with Excel (2 of 5) Exhibit 9.8 Chapter 9 - Integer Programming 22
Computer Solution of IP Problems Total Integer Model with Excel (3 of 5) Exhibit 9.9 and, again, just to note that this field will automatically fill, but Excel wants you to put something in it anyway. Chapter 9 - Integer Programming 23
Computer Solution of IP Problems Total Integer Model with Excel (4 of 5) Exhibit 9.10 Chapter 9 - Integer Programming 24
Computer Solution of IP Problems Total Integer Model with Excel (5 of 5) Exhibit 9.11 Chapter 9 - Integer Programming 25
Computer Solution of IP Problems Mixed Integer Model with Excel (1 of 3) Integer Programming Model: Maximize Z = $9,000x 1 + 1,500x 2 + 1,000x 3 subject to: 50,000x 1 + 12,000x 2 + 8,000x 3 $250,000 x 1 4 condominiums x 2 15 acres x 3 20 bonds x 2 0 x 1, x 3 0 and integer Chapter 9 - Integer Programming 26
Computer Solution of IP Problems Total Integer Model with Excel (2 of 3) Exhibit 9.12 Chapter 9 - Integer Programming 27
Computer Solution of IP Problems Solution of Total Integer Model with Excel (3 of 3) Exhibit 9.13 Chapter 9 - Integer Programming 28
Computer Solution of IP Problems Mixed Integer Model with QM for Windows (1 of 2) Exhibit 9.14 Chapter 9 - Integer Programming 29
Computer Solution of IP Problems Mixed Integer Model with QM for Windows (2 of 2) Exhibit 9.15 Chapter 9 - Integer Programming 30
0 1 Integer Programming Modeling Examples Capital Budgeting Example (1 of 4) University bookstore expansion project. Not enough space available for both a computer department and a clothing department. Data: Project NPV Return ($1000) Project Costs per Year ($1000) 1 2 3 1. Website 120 55 40 25 2. Warehouse 85 45 35 20 3. Clothing department 105 60 25 -- 4. Computer department 140 50 35 30 5. ATMs 75 30 30 -- Available funds per year 150 110 60 Chapter 9 - Integer Programming 31
0 1 Integer Programming Modeling Examples Capital Budgeting Example (2 of 4) x 1 = selection of web site project x 2 = selection of warehouse project x 3 = selection clothing department project x 4 = selection of computer department project x 5 = selection of ATM project x i = 1 if project i is selected, 0 if project i is not selected Maximize Z = $120x 1 + $85x 2 + $105x 3 + $140x 4 + $70x 5 subject to: 55x 1 + 45x 2 + 60x 3 + 50x 4 + 30x 5 150 40x 1 + 35x 2 + 25x 3 + 35x 4 + 30x 5 110 25x 1 + 20x 2 + 30x 4 60 x 3 + x 4 1 x i = 0 or 1 Chapter 9 - Integer Programming 32
0 1 Integer Programming Modeling Examples Capital Budgeting Example (3 of 4) Exhibit 9.16 Chapter 9 - Integer Programming 33
0 1 Integer Programming Modeling Examples Capital Budgeting Example (4 of 4) Could have chosen bin (= 0 or 1 ) instead! Exhibit 9.17 Chapter 9 - Integer Programming 34
0 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (1 of 4) Which of the 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 Annual Fixed Costs ($1000) 405 390 450 368 520 465 Projected Annual Harvest (tons, 1000s) Plant A B C Available Capacity (tons,1000s) 12 10 14 11.2 10.5 Plant 12.8 Farm A B C 9.3 10.8 9.6 Chapter 9 - Integer Programming 35 1 2 3 4 5 6 18 15 12 13 10 17 16 14 18 19 15 16 17 19 12 14 16 12
0 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (2 of 4) y i = 0 if farm i is not selected, and 1 if farm i is selected, i = 1,2,3,4,5,6 x ij = potatoes (tons, 1000s) shipped from farm i, i = 1,2,3,4,5,6 to plant j, j = A,B,C. Minimize Z = 18x 1A + 15x 1B + 12x 1C + 13x 2A + 10x 2B + 17x 2C + 16x 3A + 14x 3B + 18x 3C + 19x 4A + 15x 4B + 16x 4C + 17x 5A + 19x 5B + 12x 5C + 14x 6A + 16x 6B + 12x 6C + 405y 1 + 390y 2 + 450y 3 + 368y 4 + 520y 5 + 465y 6 subject to: x 1A + x 1B + x 1C - 11.2y 1 0 x 2A + x 2B + x 2C -10.5y 2 0 x 3A + x 3B + x 3C - 12.8y 3 0 x 4A + x 4B + x 4C - 9.3y 4 0 x 5A + x 5B + x 5B - 10.8y 5 0 x 6A + x 6B + X 6C - 9.6y 6 0 x 1A + x 2A + x 3A + x 4A + x 5A + x 6A =12 x 1B + x 2B + x 3A + x 4B + x 5B + x 6B = 10 x 1C + x 2C + x 3C + x 4C + x 5C + x 6C = 14 The 3 plants capacities. x ij 0 y i = 0 or 1 The 6 farms capacities. Chapter 9 - Integer Programming 36
0 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (3 of 4) Exhibit 9.18 Chapter 9 - Integer Programming 37
0 1 Integer Programming Modeling Examples Fixed Charge and Facility Example (4 of 4) Exhibit 9.19 Chapter 9 - Integer Programming 38
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 Cities within 300 miles 1. Atlanta Atlanta, Charlotte, Nashville 2. Boston Boston, New York 3. Charlotte Atlanta, Charlotte, Richmond 4. Cincinnati Cincinnati, Detroit, Nashville, Pittsburgh 5. Detroit Cincinnati, Detroit, Indianapolis, Milwaukee, Pittsburgh 6. Indianapolis Cincinnati, Detroit, Indianapolis, Milwaukee, Nashville, St. Louis 7. Milwaukee Detroit, Indianapolis, Milwaukee 8. Nashville Atlanta, Cincinnati, Indianapolis, Nashville, St. Louis 9. New York Boston, New York, Richmond 10. Pittsburgh Cincinnati, Detroit, Pittsburgh, Richmond 11. Richmond Charlotte, New York, Pittsburgh, Richmond 12. St. Louis Indianapolis, Nashville, St. Louis Chapter 9 - Integer Programming 39
0 1 Integer Programming Modeling Examples Set Covering Example (2 of 4) x i = city i, i = 1 to 12, x i = 0 if city is not selected as a hub and x i = 1if it is. Minimize Z = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 + x 8 + x 9 + x 10 + x 11 + x 12 subject to: Atlanta: x 1 + x 3 + x 8 1 Boston: x 2 + x 10 1 Charlotte: x 1 + x 3 + x 11 1 Cincinnati: x 4 + x 5 + x 8 + x 10 1 Detroit: x 4 + x 5 + x 6 + x 7 + x 10 1 Indianapolis: x 4 + x 5 + x 6 + x 7 + x 8 + x 12 1 Milwaukee: x 5 + x 6 + x 7 1 Nashville: x 1 + x 4 + x 6 + x 8 + x 12 1 New York: x 2 + x 9 + x 11 1 Pittsburgh: x 4 + x 5 + x 10 + x 11 1 Richmond: x 3 + x 9 + x 10 + x 11 1 St Louis: x 6 + x 8 + x 12 1 x ij = 0 or 1 Chapter 9 - Integer Programming 40
0 1 Integer Programming Modeling Examples Set Covering Example (3 of 4) Exhibit 9.20 the decision variables Chapter 9 - Integer Programming 41
0 1 Integer Programming Modeling Examples Set Covering Example (4 of 4) Exhibit 9.21 For N7, enter = sumproduct(b7:m7,b$20:m$20) and the down; the last constraint requires that these (hubs within 300 mi) equal at least one. Chapter 9 - Integer Programming 42
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 9 - Integer Programming 43
Total Integer Programming Modeling Example Model Formulation (2 of 3) Step 1: Formulate the Integer Programming Model Step 2: Maximize Z = $85,000x 1 + 60,000x 2 subject to: x 1 + x 2 10 salespeople $10,000x 1 + 7,000x 2 $72,000 expense budget x 1, x 2 0 or integer Solve the Model using QM for Windows Chapter 9 - Integer Programming 44
Total Integer Programming Modeling Example Solution with QM for Windows (3 of 3) Chapter 9 - Integer Programming 45
Chapter 9 - Integer Programming 46