Sunteți pe pagina 1din 19

Integer Programming: The

Branch & Bound Method

1
The Branch and Bound Method

• is not a solution technique specifically limited to integer programming


problems
• a solution approach that can be applied to a number of different types of
problems
• is based on the principle that the total set of feasible solutions can be
partitioned into smaller subsets of solutions. These smaller subsets can
then be evaluated systematically until the best solution is found
• When the branch and bound approach is applied to an integer
programming problem, it is used in conjunction with the normal non-
integer solution approach

22
Branch & Bound Procedure

The steps of the branch and bound method for determining an optimal integer solution for a
maximization model (with ≤ constraints) can be summarized as follows:
• Find the optimal solution to the linear programming model with the integer restrictions relaxed
• At node 1 let the relaxed solution be the upper bound and the rounded-down integer solution be
the lower bound
• Select the variable with the greatest fractional part for branching. Create two new constraints for
this variable reflecting the partitioned integer values. The result will be a new ≤ constraint and a
new ≥ constraint
• Create two new nodes, one for the ≤ constraint and one for the ≥ constraint
• Solve the relaxed linear programming model with the new constraint added at each of these nodes
• The relaxed solution is the upper bound at each node, and the existing maximum integer solution
(at any node) is the lower bound
• If the process produces a feasible integer solution with the greatest upper bound value of any
ending node, the optimal integer solution has been reached. If a feasible integer solution does not
emerge, branch from the node with the greatest upper bound
• Return to step 3
For a minimization model, relaxed solutions are rounded up, and upper and lower bounds are
reversed 3
Example

• The owner of a machine shop is planning to expand by purchasing some new


machines – presses and lathes
• The owner has estimated that each press purchased will increase profit by $100
per day and each lathe will increase profit by $150 daily
• The owner has a budget of $40,000 for purchasing machines and 200 square
feet of available floor space.
• The owner wants to know how many of each type of machine to purchase to
maximize the daily increase in profit
Required Purchase
Machine Floor Space (ft2) Prices
Press 15 $8,000
Lathe 30 4,000

4
Example

x1 = number of presses
x2 = number of lathes

Maximize Z = $100x1 + $150x2


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

5
Example

• We begin the branch and bound method by first solving the problem as a
regular linear programming model without integer restrictions (i.e., the
integer restrictions are relaxed)

6
IP Example – Graphical Solution of Machine Shop
Model

8,000x1 + 4,000x2  $40,000


x1 = 0, x2 = 10
x2 = 0, x1 = 5

15x1 + 30x2  200 ft2


x1 = 0, x2 = 6.67
x2 = 0, x1 = 13.33
x2
Z = $100x1 + $150x2
x1 = 2.22, x2 = 5.55
Z = 1055.56

x1 7
Example

an upper bound - the Z value for the relaxed solution

The optimal integer


solution will be between
these two bounds.

The lower bound


is the Z value for
the rounded-down
solution
8
seeing which one is the farthest from the rounded-down integer value (i.e.,
which variable has the greatest fractional part). The 0.56 portion of 5.56 is the
greatest fractional part; thus, x2 will be the variable that we will “branch” on.
9
10
11
12
• Since we do not have an optimal and feasible integer solution yet, we
must continue to branch (i.e., partition) the model, from either node 2
or node 3.
• In general, always branch from the node with the maximum upper
bound.

13
14
15
16
17
18
19

S-ar putea să vă placă și