You are on page 1of 22

Integer Programming

Introduction
Integer programming is the extension of LP that solves problems requiring integer solutions. Solution values must be whole numbers in integer programming . There are three types of integer programs: pure integer programming; mixed-integer programming; 01 integer programming.

Integer Programming
(continued)
1. The Pure Integer Programming problems are cases in which all variables are required to have integer values. 2. The Mixed-Integer Programming problems are cases in which some, but not all, of the decision variables are required to have integer values. 3. The ZeroOne Integer Programming problems are special cases in which all the decision variables must have integer solution values of 0 or 1.

Integer Programming Example: Harrison Electric Company


The Company produces two products popular with home renovators: oldfashioned chandeliers and ceiling fans. Both the chandeliers and fans require a two-step production process involving wiring and assembly. It takes about 2 hours to wire each chandelier and 3 hours to wire a ceiling fan. Final assembly of the chandeliers and fans requires 6 and 5 hours, respectively. The production capability is such that only 12 hours of wiring time and 30 hours of assembly time are available.

Integer Programming: Example (continued)


If each chandelier produced nets the firm $7 and each fan $6, Harrisons production mix decision can be formulated using LP as follows:
maximize profit = $7X1 + $6X2
subject to: 2X1 + 3X2 12 (wiring hours) 6X1 + 5X2 30 (assembly hours) X1, X2 0 (nonnegative) X1 = number of chandeliers produced X2 = number of ceiling fans produced

Integer Programming: Example (continued)


With only two variables and two constraints, the graphical LP approach to generate the optimal solution is given below:

6X1 + 5X2 30 + = Possible Integer Solution Optimal LP Solution (X1 = 33/4, X2 = 11/2, Profit = $35.25 2X1 + 3X2 12

Integer Solution to Harrison Electric Co.

Optimal solution

Solution if rounding off

Integer Solution to Harrison Electric Co.


(continued) Rounding off is one way to reach integer solution values, but it often does not yield the best solution. An important concept to understand is that an integer programming solution can never be better than the solution to the same LP problem. The integer problem is usually worse in terms of higher cost or lower profit.

Branch and Bound Method


Branch and Bound break the feasible
solution region into sub-problems until an optimal solution is found. There are Six Steps in Solving Integer Programming Maximization Problems by Branch and Bound. The steps are given over the next several slides.

Branch and Bound Method: The Six Steps


1. Solve the original problem using LP. If the answer satisfies the integer constraints, it is done. If not, this value provides an initial upper bound. 2. Find any feasible solution that meets the integer constraints for use as a lower bound. Usually, rounding down each variable will accomplish this.

Branch and Bound Method Steps: (continued)


3. Branch on one variable from Step 1 that does not have an integer value.
Split the problem into two subproblems based on integer values that are immediately above and below the non-integer value. For example, if X2 = 3.75 was in the final LP solution, introduce the constraint X2 4 in the first subproblem and X2 3 in the second sub-problem.

4. Create nodes at the top of these new branches by solving the new problems.

Branch and Bound Method Steps: (continued)


5. a) If a branch yields a solution to the LP problem that is not feasible, terminate the branch. If a branch yields a solution to the LP problem that is feasible, but not an integer solution, go to step 6. If the branch yields a feasible integer solution, examine the value of the objective function. If this value equals the upper bound, an optimal solution has been reached. If it is not equal to the upper bound, but exceeds the lower bound, set it as the new lower bound and go to step 6. Finally, if it is less than the lower bound, terminate this branch.

b)

c)

Branch and Bound Method Steps: (continued)


6. Examine both branches again and set the upper bound equal to the maximum value of the objective function at all final nodes.
If the upper bound equals the lower bound, stop. If not, go back to step 3.

Minimization problems involve reversing the roles of the upper and lower bounds.

Harrison Electric Co: Revisited


Figure 11.1 shows graphically that the optimal, non-integer solution is X1 = 3.75 chandeliers X2 = 1.5 ceiling fans profit = $35.25 Since X1 and X2 are not integers, this solution is not valid. The profit value of $35.25 will provide as an initial upper bound. Note that rounding down gives X1 = 3, X2 = 1, profit = $27, which is feasible and can be used as a lower bound.

Integer Solution: Creating Sub-problems


The problem is now divided into two sub-problems: A and B. Consider branching on either variable that does not have an integer solution; pick X1 this time.
Subproblem A maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 4 Subproblem B maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 3

Optimal Solution for Sub-problems


Optimal solutions are: Sub-problem A: X1 = 4; X2 = 1.2, profit=$35.20 Sub-problem B: X1=3, X2=2, profit=$33.00 (see figure on next slide) Stop searching on the Subproblem B branch because it has an all-integer feasible solution. The $33 profit becomes the lower bound. Subproblem As branch is searched further since it has a non-integer solution. The second upper bound becomes $35.20, replacing $35.25 from the first node.

Optimal Solution for Sub-problem

To accompany Quantitative Analysis for Management, 9e by Render/Stair/Hanna

11-17

2006 by Prentice Hall, Inc. Upper Saddle River, NJ 07458

Sub-problems C and D
Subproblem As branching Subproblems C and D. yields

Subproblem C maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 4 X2 2 Subproblem D maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 4 X2 1

Sub-problems C and D
(continued)
Subproblem C has no feasible solution at all because the first two constraints are violated if the X1 4 and X2 2 constraints are observed. Terminate this branch and do not consider its solution. Subproblem Ds optimal solution is X1 = 4 , X2 = 1, profit = $35.16. This non-integer solution yields a new upper bound of $35.16, replacing the original $35.20. Subproblems C and D, as well as the final branches for the problem, are shown in the figure on the next slide.

Harrison Electrics Full Branch and Bound Solution

Subproblems E and F
Finally, create subproblems E and F and solve for X1 and X2 with the added constraints X1 4 and X1 5. The subproblems and their solutions are:
Subproblem E maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 4 X1 4 X2 1 Optimal solution for E: X1 = 4, X2 = 1, profit = $34

Subproblems E and F
(continued)
Subproblem F maximize profit = $7X1 + $6X2 Subject to: 2X1 + 3X2 12 6X1 + 5X2 30 X1 4 X1 5 X2 1 Optimal solution for F: X1 = 5, X2 = 0, profit = $35

You might also like