You are on page 1of 28

Branch and

Bound
This method was developed by AH Land
and AG Doig. Bit of
History
and it’s
It was further studied by JDC Little et. el
and other researchers. uses

This method is useful in solving all


integers, mixed-integers and zero-one
linear programming problems. m
The concept behind this method is to
divide the entire feasible solution
space of an LP problem into smaller
Introduction
parts called subproblems and then
evaluate corner (extreme) points of
each subproblem for an optimal
solution.

This approach is useful for


solving LP problems where there
is a large number of feasible
solutions and so the enumeration
becomes economically
impractical.
 The branch and bound method starts by imposing
bounds on the value of objective function that help to
determine the subproblem to be eliminated from
consideration when the optimal solution has been found.
 if the solution to a subproblem does not yield an optimal
Introduction integer solution, a new subproblem is selected for
branching.
 At a point where no more subproblem can be created, an
optimal solution is arrived at
Steps in Branch and
bound algorithm
STEP 1: INITIALIZATION

 Initialization:
Consider the following Linear programming problem,
Maximize: Z = c1x1+ c2x2+ c3x3+ ….. + cnxn
Subject to the constraints:
a11x1+ a12x2+ a13x3+ …….. a1nxn= b1
a21x1+ a22x2+ a23x3+ …….. a2nxn= b2
…………………………………………..
am1x1+ am2x1+ am3x1+ …….. amnxn= bm
and xj >=0, non negative integers.
STEP 1: INITIALIZATION

 Obtain the optimal solution of the given problem ignoring integer restriction on
the variables.
i. If the solution to an LP problem (say LP-A) is infeasible or unbounded, the
solution to the given all-integer programming problem is also infeasible or
unbounded. as the case may be.
ii. If the solution satisfies the integer restrictions, the optimal integer solution has
been obtained. If one or more basic variables do not satisfy integer requirement,
then go to Step 2. Let the optimal value of objective function of LP-A be Z t.
This value provides an initial upper bound on objective function value and is
denoted by Zu.
iii. Find a feasible solution by rounding off each variable value. The value of
objective function so obtained is used as a lower bound and is denoted by Zr.
STEP 2: BRANCHING STEP

i. Let xk be one basic variable which does not have an integer value and also has the largest
fractional value.
ii. Branch (or partition) the LP-A into two new LP subproblems (also called nodes) based on
integer values of xk; that are immediately above and below its non-integer value. That is, it
is partitioned by adding two mutually exclusive constraints:
xk≤[xk ] and xk ≥ xk +1
to the original LP problem. Here [xk] is the integer portion of the value xk. This is
obviously done to exclude the non-integer portion of the variable xk
STEP 2: BRANCHING STEP

 Thus two new LP subproblem are now as follows:

LP Problem B: LP Problem C:

Maximize: Maximize:

Subject to: Subject to:

+1
And And
STEP 3: BOUND STEP
 Obtain the optimal solution of subproblems B and C.
 Letthe optimal value of the objective function of LP-
B be Z2 and that of LP-C be Z3.
 The best integer solution value becomes the lower
bound on the integer LP problem objective function
value (Initially this is the rounded off value).
 Let the lower hound be denoted by ZL.
STEP 4: FATHOMING STEP

Examine the solution of both LP-B and LP-C


 If a subproblem yields an infeasible solution then terminate the branch.
 If a subproblem yields a feasible solution but not an integer solution then return to
Step 2
 If a subproblem yields a feasible integer solution, examine the value of the
objective function. If this value is equal to the upper bound, an optimal solution
has been reached. But if it is not equal to the upper bound but exceeds the lower
bound, this value is considered as new upper bound and return to Step 2. Finally,
if it is less than the lower bound, terminate this branch.
STEP 5: TERMINATION

 The procedure of branching and bounding continues until no further sub-problem


remains to be examined. At this stage, the integer solution corresponding to the
current lower bound is the optimal all-integer programming problem solution.
REMARKS

 The above algorithm can be represented by an enumeration tree Each node in the tree
represents a subproblem to be evaluated. Each branch of the tree creates a new constraint
that is added to the original problem
BRANCH–AND–BOUND METHOD (Cont…)
BRANCH & BOUND ALGORITHM APPLIED TO MAXIMIZATION PROBLEM:
1. Solve the given linear programming problem graphically or using iterative method. Set, the current best
lower bound ZB as ∞.
2. Check, Whether the problem has integer solution. If yes, print the current solution as the optimal solution
and stop; Otherwise go to Step–3.
3. Identify the variable Xk which has the maximum fractional part as the branching variable. (In case of tie,
select the variable which has the highest objective function coefficient.)
4. Create two more problems by including each of the following constraints to the current problem and solve
them.
a. Xk ≤ Integer part of Xk
b. Xk ≥ Next Integer of Xk
5. If any one of the new sub-problems has infeasible solution or fully integer values for the decision
variables, the corresponding node is fathomed. If a new node has integer values for the decision
variables, update the current best lower bound as the lower bound of that node if its lower bound is
greater than the previous current best lower bound.
6. Are all terminal nodes fathomed? If answer is yes, go to step–7; otherwise,
identify the node with the highest lower bound and go to step–3.
7. Select the solution of the problem with respect to the fathomed node whose lower bound is equal to the
current best lower bound as the optimal solution.
Branch and Bound
Numerical Problem
Question

Solve the following all integer programming problem using branch and bound
method:
Maximize Z=2x1+3x2
Subject to the condition that
i) 6x1+5x2≤25
ii) x1+3x2 ≤ 10
And x1,x2 ≥ 0 and integers
SOLUTION

Initially we assume that the integer constraints are not existing and also convert the inequalities in
to equations:

So the constraints take the following forms:


6x1+5x2 = 25 x1+3x2 = 10

Taking values of x1 and x2 as 0 (zero) one by one, we get the following points as

6x1+5x2 = 25 → (0,5) (4.16,0) x1+3x2 = 10 → (0, 3.33) (10, 0)


11

10

9
i) 6x1+5x2 = 25 → (0,5) (4.16,0)
i
ii) x1+3x2 = 10 → (0, 3.33) (10, 0) 8

6
Optimal Solution
 We solve this problem by graphical method and 5
C
get the following points: (0. 3.33) 4
B (1.92, 2.69)
3

 Value of Z @ O = 2x0+3x0=0 2 ii
1
 Value of Z @ A = 2x4.16+3x0=8.32
 Value of Z @ B = 2x1.92+3x2.69 = 11.91 O (0,0)
1 2 3 4 5 6 7 8 9 10
A (4.16, 0)
 Value of Z @ C = 2x0 + 3x3.33 = 9.99

 Hence the optimal value is at B Feasible Region

 And ZL =11
 Selecting variable x2 for branching we divide the problems into two sub problems:

Subproblem B Subproblem C
Maximize Z=2x1+3x2 Maximize Z=2x1+3x2
Subject to the condition that Subject to the condition that
i) 6x1+5x2≤25 i) 6x1+5x2≤25
ii) x1+3x2 ≤ 10 ii) x1+3x2 ≤ 10
iii) x2≤ 2 iii) x2≥ 3
And x1,x2 ≥ 0 and integers And x1,x2 ≥ 0 and integers
Subproblem B 11
Subproblem B
10

 Value of Z @ O = 2x0+3x0=0
i 8

7
 Value of Z @ A = 2x4.16+3x0=8.32
6
 Value of Z @ B = 2x2.5+3x2 = 11 Optimal Solution
5

 Value of Z @ C = 2x0 + 3x2 = 6 4


C 3 B (2.5, 2) iii
(0, 2)
2
 Hence the optimal value is at B & Z = 11 1

 Since value of x1 is non integer we will branch the 3 4 5 6 7


1 2 8 9 10
O (0,0)
subproblem B further A (4.16, 0)
ii

Feasible Region
Subproblem C
11
Subproblem C
 Value of Z @ B = 2x1+3x3 = 11 10
9
 Value of Z @ C = 2x0 + 3x3.33 = 9.99
i 8
 Value of Z @ D = 2x0+3x3=9 C
7

6
(0, 3.33) Optimal Solution
5

4
B (1, 3)
D
3 iii
 Hence the optimal value is at B & Z = 11 2
(0, 3)
1
 Since both the values of x are integers, we do not
need to branch subproblem C O (0,0)
1 2 3 4 5 6 7 8 9 10
A (4.16, 0)
ii

Feasible Region
A
x1=1.92, x2=2.69
Z= 11.92

B C
x1=2.5, x2=2 x1=1, x2=3
Z= 11 Z= 11
Subdividing sub problem B  Selecting the value of x1 we will further sub divide the problem
into two with new constraints as follows:

Subproblem D Subproblem E

Maximize Z=2x1+3x2 Maximize Z=2x1+3x2


Subject to the condition that Subject to the condition that
i) 6x1+5x2≤25 i) 6x1+5x2≤25
ii) x1+3x2 ≤ 10 ii) x1+3x2 ≤ 10
iii) x2≤ 2 iii) x2≤ 2
iv) x1≤2 iv) x1≥3
And x1,x2 ≥ 0 and integers And x1,x2 ≥ 0 and integers
Subproblem D 11

10
Subproblem D

i 8
iv
 Value of Z @ O = 2x0+3x0=0 7

 Value of Z @ A = 2x2+3x0=4 6
Optimal Solution
5
 Value of Z @ B = 2x2+3x2 = 10
4
 Value of Z @ C = 2x0 + 3x2 = 6 C 3 B (2, 2) iii
(0, 2)
2

1
 Hence the optimal value is at B & Z = 10
1 2 3 4 5 6 7 8 9 10
O (0,0)
A (2, 0)
ii

Feasible Region
Subproblem E
11
Subproblem E
10
 Value of Z @ A = 2x3+3x0=6 9

 Value of Z @ B = 2x3+3x1.4 = 10.2 i 8 iv


7
 Value of Z @ D = 2x4.16 + 3x0 = 8.32 6
Optimal Solution
5
4
C 3 iii
(0. 2)
2 B (3, 1.4)
1

1 2 3 4 5 6 7 8 9 10
O (0,0) D (4.16, 0)
A (3, 0)
ii

Feasible Region
A
x1=1.92, x2=2.69
Z1= 11.92
X2≤2 X2≥3

B C
x1=2.5, x2=2 x1=1, x2=3
Z2= 11 Z3= 11

X1 ≤ 2 X1≥3

D E
x1=2, x2=2 x1=1, x2=3
Z4= 10 Z5= 10.5
Conclusion A
x1=1.92, x2=2.69
Z1= 11.92

X2≤3 X2≥3
 The solution of LP sub-problem D is integer feasible but is
inferior to the best available solution of LP sub-problem E.
B C
x1=2.5, x2=2 x1=1, x2=3
 Hence the value of lower bound Z, = 11 remains unchanged Z2= 11 Z3= 11
and sub-problem D is not considered for further division.
X1 ≤ 2 X1≥3

D E
x1=2, x1=1,
x2=2 x2=3
Z4= 10 Z5= 10.5
Since the solution of sub-problem E is non-
Conclusion

integer, it can be further branched with x, as the
branching variable.
 But the value of its objective function (= 10.2) is
inferior to the lower bound and hence this does
not give a solution better than the one already
obtained.
 The sub-problem £ is also not considered for
further branching.
 Hence, the best available solution
corresponding to sub-problem C is the integer
optimal

You might also like