Chapter 9 Integer Programming

12 downloads 184 Views 1MB Size Report
Introduction to Management Science. (8th Edition, Bernard W. Taylor III). Chapter 9. Chapter 9 - Integer Programming. 1. Integer Programming ...
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: Required Floor Space (sq. ft.)

Purchase Price

Press

15

$8,000

Lathe

30

4,000

Machine

Chapter 9 - Integer Programming

4

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

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 Swimming pool Tennis Center Athletic field Gymnasium

Chapter 9 - 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

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

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,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

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 = $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. Chapter 9 - Integer Programming

Figure 9.1 Feasible Solution Space with Integer Solution Points 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 = 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

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)

Instead, one could just specify $C$12:$C$15 as “binary” (= ‘0’ or ‘1’). Exhibit 9.3 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

Instead, specify the “bin” what optionyou (= ‘0’put or ‘1’), … and one notecould thatjust it doesn’t matter in thus the side additional, 0” and “≤ 1”not constraints. the avoiding right-hand field,“≥but it must be empty.

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 = 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

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 = $100x1 + $150x2 subject to: 8,000x1 + 4,000x2  $40,000 15x1 + 30x2  200 ft2 x1, x2  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,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

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 1. Website 2. Warehouse 3. Clothing department 4. Computer department 5. ATMs Available funds per year

Chapter 9 - 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

31

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 + x 4  1 xi = 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

Available Capacity (tons,1000s) 12 10 14

Plant

Annual Fixed Costs ($1000) 405 390 450 368 520 465

Chapter 9 - 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 35

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: x2A + x2B + x2C -10.5y2 ≤ 0 x1A + x1B + x1C - 11.2y1 ≤ 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 The 6 farms’ capacities . x1B + x2B + x3A + x4B + x5B + x6B = 10 x1C + x2C + x3C+ x4C + x5C + x6C = 14 The 3 plants’ capacities. yi = 0 or 1 xij ≥ 0 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 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 9 - Integer Programming

39

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 9 - 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 xij = 0 or 1 x6 + x8 + x12  1 40

0–1 Integer Programming Modeling Examples Set Covering Example (3 of 4)

Exhibit 9.20 Chapter 9 - Integer Programming

the decision variables 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 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

44

Total Integer Programming Modeling Example Solution with QM for Windows (3 of 3)

Chapter 9 - Integer Programming

45

Chapter 9 - Integer Programming

46