Introduction to Management Science 8th Edition by Bernard W. Taylor III Chapter 9 Integer Programming Chapter 9 - Integer Programming
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
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
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: Chapter 9 - Integer Programming
A Total Integer Model (2 of 2) Integer Programming Model: Maximize Z = $100x1 + $150x2 subject to: 8,000x1 + 4,000x2 $40,000 15x1 + 30x2 200 ft2 x1, x2 0 and integer x1 = number of presses x2 = number of lathes Chapter 9 - Integer Programming
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: Chapter 9 - Integer Programming
A 0–1 Integer Model (2 of 2) Integer Programming Model: Maximize Z = 300x1 + 90x2 + 400x3 + 150x4 subject to: $35,000x1 + 10,000x2 + 25,000x3 + 90,000x4 $120,000 4x1 + 2x2 + 7x3 + 3x4 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 (either do or don’t) x1 = construction of a swimming pool x2 = construction of a tennis center x3 = construction of an athletic field x4 = construction of a gymnasium Chapter 9 - Integer Programming
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
A 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 9 - Integer Programming
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
Feasible Solution Space with Integer Solution Points 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 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
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
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 + 3x4 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 Chapter 9 - Integer Programming
Computer Solution of IP Problems 0–1 Model with Excel (2 of 5) Exhibit 9.2 Chapter 9 - Integer Programming
Computer Solution of IP Problems 0–1 Model with Excel (3 of 5) Instead, one could just specify $C$12:$C$15 as “binary” (= ‘0’ or ‘1’). Exhibit 9.3 Chapter 9 - Integer Programming
To constrain a range of variables to be integers, enter: Computer Solution of IP Problems 0–1 Model with Excel (4 of 5) To constrain a range of variables to be integers, enter: Instead, one could just specify the “bin” option (= ‘0’ or ‘1’), thus avoiding the additional, “≥ 0” and “≤ 1” constraints. … and note that it doesn’t matter what you put in the right-hand side field, but it must not be empty. Exhibit 9.4 Chapter 9 - Integer Programming
Computer Solution of IP Problems 0–1 Model with Excel (5 of 5) Exhibit 9.5 Chapter 9 - Integer Programming
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 + 3x4 12 acres x1 + x2 1 facility x1, x2, x3, x4 = 0 or 1 Chapter 9 - Integer Programming
Computer Solution of IP Problems 0–1 Model with QM for Windows (2 of 3) Exhibit 9.6 Chapter 9 - Integer Programming
Computer Solution of IP Problems 0–1 Model with QM for Windows (3 of 3) Exhibit 9.7 Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (1 of 5) Integer Programming Model: Maximize Z = $100x1 + $150x2 subject to: 8,000x1 + 4,000x2 $40,000 15x1 + 30x2 200 ft2 x1, x2 0 and integer Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (2 of 5) Exhibit 9.8 Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (3 of 5) … and, again, just to note that this field will automatically fill, but Excel wants you to put something in it anyway. Exhibit 9.9 Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (4 of 5) Exhibit 9.10 Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (5 of 5) Exhibit 9.11 Chapter 9 - Integer Programming
Computer Solution of IP Problems Mixed Integer Model with Excel (1 of 3) 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 Chapter 9 - Integer Programming
Computer Solution of IP Problems Total Integer Model with Excel (2 of 3) Exhibit 9.12 Chapter 9 - Integer Programming
Computer Solution of IP Problems Solution of Total Integer Model with Excel (3 of 3) Exhibit 9.13 Chapter 9 - Integer Programming
Computer Solution of IP Problems Mixed Integer Model with QM for Windows (1 of 2) Exhibit 9.14 Chapter 9 - Integer Programming
Computer Solution of IP Problems Mixed Integer Model with QM for Windows (2 of 2) Exhibit 9.15 Chapter 9 - Integer Programming
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: Chapter 9 - Integer Programming
0–1 Integer Programming Modeling Examples Capital Budgeting Example (2 of 4) 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 9 - Integer Programming
0–1 Integer Programming Modeling Examples Capital Budgeting Example (3 of 4) Exhibit 9.16 Chapter 9 - Integer Programming
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
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: Chapter 9 - Integer Programming
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 + x1C - 11.2y1 ≤ 0 x2A + x2B + x2C -10.5y2 ≤ 0 x3A + x3B + 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 x1C + x2C + x3C+ x4C + x5C + x6C = 14 xij ≥ 0 yi = 0 or 1 The 6 farms’ capacities. The 3 plants’ capacities. Chapter 9 - Integer Programming
0–1 Integer Programming Modeling Examples Fixed Charge and Facility Example (3 of 4) Exhibit 9.18 Chapter 9 - Integer Programming
0–1 Integer Programming Modeling Examples Fixed Charge and Facility Example (4 of 4) Exhibit 9.19 Chapter 9 - Integer Programming
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
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: x1 + x3 + x8 1 Boston: x2 + x10 1 Charlotte: x1 + x3 + x11 1 Cincinnati: x4 + x5 + x8 + x10 1 Detroit: x4 + x5 + x6 + x7 + x10 1 Indianapolis: x4 + x5 + x6 + x7 + x8 + x12 1 Milwaukee: x5 + x6 + x7 1 Nashville: x1 + x4 + x6+ x8 + x12 1 New York: x2 + x9+ x11 1 Pittsburgh: x4 + x5 + x10 + x11 1 Richmond: x3 + x9 + x10 + x11 1 St Louis: x6 + x8 + x12 1 xij = 0 or 1 Chapter 9 - Integer Programming
0–1 Integer Programming Modeling Examples Set Covering Example (3 of 4) Exhibit 9.20 the decision variables Chapter 9 - Integer Programming
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
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
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 9 - Integer Programming
Total Integer Programming Modeling Example Solution with QM for Windows (3 of 3) Chapter 9 - Integer Programming
Chapter 9 - Integer Programming