You are on page 1of 26

Dr.

Bishram

Topics

Integer Programming (IP) Models

Integer Programming Graphical Solution


Computer Solution of Integer Programming
Problems With Excel

0-1 Integer Programming Modeling Examples

1
Integer Programming Models
Types of Models

Total Integer All decision variables required to have


Model: integer solution values.

0-1 Integer Model: All decision variables required to have


integer values of zero or one.

Mixed Integer Some of the decision variables (but not


Model: all) required to have integer values.

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 budget, 200 sq. ft. floor space.
■ Machine purchase prices and space requirements:

Required
Machine Floor Space (ft.2) Purchase Price

Press 15 $8,000

Lathe 30 4,000

2
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

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).

Expected Usage Land Requirement


Recreation
(people/day) Cost ($) (acres)
Facility
Swimming pool 300 35,000 4
Tennis Center 90 10,000 2
Athletic field 400 25,000 7
Gymnasium 150 90,000 3

3
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
x1 = construction of a swimming pool
x2 = construction of a tennis center
x3 = construction of an athletic field
x4 = construction of a gymnasium

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.

4
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

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 non-integer


solution values but may result in a less than optimal (sub-optimal)
solution.

10

5
Integer Programming Example
Graphical Solution of Machine Shop 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

11

Computer Solution of IP Problems


Total Integer Model with Excel (1 of 5)

Integer Programming Model of Machine Shop:

Maximize Z = $100x1 + $150x2


subject to:
8,000x1 + 4,000x2 ≤ $40,000
15x1 + 30x2 ≤ 200 ft2
x1, x2 ≥ 0 and integer

12

6
Computer Solution of IP Problems
Total Integer Model with Excel (2 of 5)

13

Computer Solution of IP Problems


Total Integer Model with Excel (4 of 5)

14

7
Computer Solution of IP Problems
Total Integer Model with Excel (3 of 5)

15

Computer Solution of IP Problems


Total Integer Model with Excel (5 of 5)

16

8
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

17

Computer Solution of IP Problems


0 – 1 Model with Excel (2 of 5)

18

9
Computer Solution of IP Problems
0 – 1 Model with Excel (3 of 5)

19

Computer Solution of IP Problems


0 – 1 Model with Excel (4 of 5)

20

10
Computer Solution of IP Problems
0 – 1 Model with Excel (5 of 5)

21

Computer Solution of IP Problems


Mixed Integer Model with Excel (1 of 3)

Integer Programming Model for Investments Problem:


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

22

11
Computer Solution of IP Problems
Total Integer Model with Excel (2 of 3)

23

Computer Solution of IP Problems


Solution of Total Integer Model with Excel (3 of 3)

24

12
25

Solving IPs – Cutting Plane Algorithm


General Idea:
Begin by solving the LP relaxation of the IP problem. If the LP
relaxation results in an integer solution, then done. Else, add a
constraint that “cuts” off the optimal solution obtained from the
relaxed problem. Solve this new LP problem. If the new solution is
integer, then stop. Else keep repeating this process until an integer
solution is obtained.

Issue: What constraint can be added such that no feasible integer


solutions are cut off when the new constraint is added, but which
also eliminates the optimal solution of the relaxed problem from the
feasible region.

13
Solving IPs – Cutting Plane Algorithm
Example: Max z = 8x1 + 5x2
s.t. x1 + x2 <= 6
9x1 + 5x2 <= 45
x1, x2 >= 0; x1, x2 are integer

Simplex tableau for the optimal solution to the LP problem.

z x1 x2 s1 s2 rhs

1 0 0 1.25 0.75 41.25

0 0 1 2.25 -0.25 2.25

0 1 0 -1.25 0.25 3.75

What is the optimal solution to the LP problem?

Solving IPs – Cutting Plane Algorithm


LP Solution: z = 41.25
x1 = 2.25
x2 = 3.75

Both x1 and x2 are non-integer.


Therefore, choose row from simplex tableau where basic variable
has the larger fractional component.

Choosing row 2: x1 + 0x2 -1.25s1 +.25s2 = 3.75

Rewrite row with integer and fractional components where the


integer is the largest integer less than the coefficient:
x1 - 2s1 + .75s1 + 0s2 + .25s2 = 3 + .75
or
x1 – 2s1 – 3 = -.75s1 - .25s2 + .75

14
Solving IPs – Cutting Plane Algorithm

The cutting plane algorithm suggests that the equation where the
fractional components are set <= 0 be used as a new constraint to
the original problem.

Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75

Add constraint: -.75s1 - .25s2 + .75 <= 0

Knowing that: s1 = 6 – x1 – x2
and s2 = 45 – 9x1 – 5x2,

Equivalent to adding constraint:


3x1 + x2 <= 15

Solving IPs – Cutting Plane Algorithm


Since, Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75

How does adding the constraint:


-.75s1 - .25s2 + .75 <= 0
satisfy the desire not to eliminate any feasible integer solutions, while eliminating
the optimal solution to the LP?

Any feasible solution to original problem satisfies Row 2 above. Also, any
feasible solution must have s1 and s2 >= 0 (non-negativity constraint). Thus, the
rhs of row 2 <= .75 < 1. Also because all decision variables are integer, then the
lhs of row 2 is integer. Thus the rhs must also be an integer that is less than 1.
This implies that point that is feasible for the IP satisfies the constraint:
-.75s1 - .25s2 + .75 <= 0

15
Solving IPs – Cutting Plane Algorithm
Since, Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75

Likewise how does adding the constraint:


-.75s1 - .25s2 + .75 <= 0
satisfy the desire to eliminate the optimal solution of the LP?

The current optimal solution to the LP is:


z = 41.25, x1 = 2.25, x2 = 3.75, s1 and s2 = 0.

Thus: -.75s1 - .25s2 + .75 <= 0, so the current optimal solution is not in the
feasible region when this constraint is added.

Solving IPs – Cutting Plane Algorithm

Adding the new constraint to the final simplex tableau of the LP


problem: -.75s1 - .25s2 + .75 <= 0

z x1 x2 s1 s2 s3 rhs

Z 1 0 0 1.25 0.75 0 41.25

x2 0 0 1 2.25 -0.25 0 2.25

x1 0 1 0 -1.25 0.25 0 3.75

s3 0 0 0 -0.75 -0.25 1 -0.75

Note: slack variable s3 added.

Is this tableau optimal?

16
Solving IPs – Cutting Plane Algorithm

Using the dual simplex method the leaving basic variable is s3


(because of negative rhs) and the entering non-basic variable is s1
(min ratio test).

z x1 x2 s1 s2 s3 rhs

z 1 0 0 0 0.33 1.67 40

x2 0 0 1 0 -1 3 0

x1 0 1 0 0 0.67 -1.67 5

s1 0 0 0 1 0.33 -1.33 1

Note: all original variable are integer. Therefore integer solution


to original IP.

Dr. Bishram

17
Branch and Bound Method
■ Traditional approach to solving integer programming problems.
 Feasible solutions can be partitioned into smaller subsets
 Smaller subsets evaluated until best solution is found.
 Method is a tedious and complex mathematical process.

■ Excel

35

Branch & Bound Method


Max z = 8x1 + 5x2
ST
x1 + 2x2 <= 10
5x1 + 2x2 <= 20
X1, x2 >=0

X1 2.50
X2 3.75 A
Z= 38.75

X2 <= 3 X2 >= 4

X1=2.8 X1 = 2
X2 = 3 X2 = 4
Z=37.4 Z = 36

B C

18
Branch & Bound - Continued
X1=2.8
X2 = 3
Z=37.4

X1 <= 2 X1 >= 3

X1=2 X1=3
X2 = 3 X2 = 2.5
D E
Z=31 Z=36.5

X2 <= 2 X2 >= 3

X1=3.2
X2 = 2 Infeasible Solution
F G
Z=35.6

 Since Z value in F is lower than Z value


in F, we need not carry out further

The solution is

X1 = 2
X2 = 4
Z = 36

19
Additional Computer Solution

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.

NPV Return Project Costs per Year ($1000)


Project
($1,000s) 1 2 3

1. Web site $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

40

20
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

41

0 – 1 Integer Programming Modeling Examples


Capital Budgeting Example (3 of 4)

42

21
0 – 1 Integer Programming Modeling Examples
Capital Budgeting Example (4 of 4)

43

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?
Available Plant ($/ton shipped)
Plant Capacity
(tons,1000s) Farm A B C
A 12
B 10 1 18 15 12
C 14
2 13 10 17
Farms Annual Fixed Projected Annual 3 16 14 18
Costs Harvest (tons, 1000s) 4 19 15 16
($1000)
1 405 11.2 5 17 19 12
2 390 10.5 6 14 16 12
3 450 12.8
4 368 9.3
5 520 10.8
6 465 9.6

44

22
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 (1000 tons) shipped from farm I to plant j; j = A,B,C.
Minimize Z = 18x1A+ 15x1B+ 12x1C+ 13x2A+ 10x2B+ 17x2C+ 16x3+ 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 + x3B + x4B + x5B + x6B = 10
x1C + x2C + x3C + x4C + x5C + x6C = 14

xij ≥ 0 yi = 0 or 1

45

0 – 1 Integer Programming Modeling Examples


Fixed Charge and Facility Example (3 of 4)

46

23
0 – 1 Integer Programming Modeling Examples
Fixed Charge and Facility Example (4 of 4)

47

0 – 1 Integer Programming Modeling Examples


Set Covering Example (1 of 4)
APS wants to construct the minimum set of new hubs in these 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, Indianapolis, 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

48

24
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 = 1 if 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 + x6 + 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

49

0 – 1 Integer Programming Modeling Examples


Set Covering Example (3 of 4)

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

51

Thank You

52

26