Post on 24-Oct-2021
Branch and Bound
for Integer Problems
Davide M. Raimondo and Andrea Pozzi
Enumerative Approach
The branch and bound method belongs to the category of enumerative approaches for
solving linear integer problems.
It is based on the partially implicit exploration of the feasible region, which can be
subdivided in smaller subregions which result easier to be solved, following a recursive scheme.
The basic idea is that the more the number of solutions which are implicitly explored, the more
efficient is the algorithm.
The Integer Problem
Let consider a pure integer linear programming problem
With feasible region defined as
Preliminary Definition
Let define a collection of subregions π1, π2, β¦ , ππ such that:
and consider the following linear integer subproblems defined over the different subregions
Then, it is easy to prove the following expression
Branch and Bound Idea
The branch and bound algorithm aims at:
β’ exploring only the promising areas of the feasible region
β’ storing upper and lower bounds for the optimal value π§πΌβ
β’ using these bounds to decide that certain subproblems do not need to be solved.
Lower bound ππ³: corresponding to the best solution π₯πΏ (feasible for the original problem) obtainedin the previous iterations. This is also called incumbent solution.
Upper bound ππΌ(π°π): solution of the linear continuous relaxation problem πΆπ at iteration k.Note: if π§πΆπ
β β€ π§πΏ it is not useful to explicitly find π§πΌπβ since the integer solution will be for sure
worse than the available incumbent solution.
Branch and Bound Algorithm
The branch and bound algorithm is divided into the following parts:
β’ Step 1: Initialization
β’ Step 2: Stopping test
β’ Step 3: Choice of the subproblem πΌπ to be solved
β’ Step 4: Bounding
β’ Step 5: Branching
Consider L as the list of active problems to be solved, the algorithm stops when L is empty.
Branch and Bound: 1) Initialization
The initialization phase consists in
β’ Setting π§πΏ = ββ
β’ Including in the list L the original integer problem πΌ
Branch and Bound: 2) Stopping Test
If L is empty the algorithm stops. In this case, if π§πΏ = ββ the original problem πΌ is infeasible
(remember we are maximizing). Otherwise the lower bound π§πΏ is the optimal solution π§πΌβ of
the original problem.
Branch and Bound: 3) Subproblem Choice
Chose a subproblem πΌπ from the list L and solve its linear continuous relaxation πΆπ.
If πΆπ is not feasible, it is removed from the list and the algorithm proceeds with Step 2.
The criteria of choice of the subproblems (e.g. breadth first of depth first) from the list L is
independent from the correct functioning of the algorithm, however it affects its efficiency.
Branch and Bound: 4) Bounding
Compute the upper bound π§π(πΌπ) of the optimal value π§πΌπβ of subproblem πΌπ . There can be 3
different situations:
β’ π§π(πΌπ) β€ π§πΏ: proceed to Step 2 (stopping test, remember we are maximizing)
β’ π§π(πΌπ) > π§πΏ and the optimal solution π₯πΆπβ is integer: before proceeding to Step 2.
If π§πΆπβ = π§πΌπ
β > π§πΏ then set π§πΏ = π§πΌπβ and the integer solution π₯πΆπ
β = π₯πΌπβ is kept in memory as
incumbent solution.
β’ π§π(πΌπ) > π§πΏ and the optimal solution π₯πΆπβ is not integer: πΌπ is subdivided in subregions as in Step
5. Note that in this case π§π(πΌπ) represents an upper bound for problem πΌπ and its subregions.
Branch and Bound: 5) Branching
The feasible region ππ of problem πΌπ is subdivided into π subregions ππ1 , ππ2 , β¦ , πππ , which
constitute a partition of ππ . This is the branching phase.
The subproblems πΌπ1 , πΌπ2 , β¦ , πΌππ corresponding to the subregions in which ππ has been
subdivided are added to the list L and Step 2 is executed.
Branching criteria: consider a variable π₯π of ππΆπβ that is not integer (with fractionary value π).
We can divide the region ππ into ππ1 and ππ2 as follows (in this case π =2):
Advantages of Branch and Bound
A premature interruption of the branch and bound method provides a feasible approximation
of the optimal solution if an incumbent solution has been found.
This constitutes one of the most important advantages of the branch and bound with respect
to the cutting plane approach. This latter in fact, achieves the optimal solution by a succession
of non feasible approximations.
Numerical Examples
Solve the following problem with the branch and bound method.
The feasible region of the original problem and
its continuous relaxation are depicted in the figure.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
The solution for the linear relaxation is ππΆ0β = (2.5, 4.5) with optimal value π§πΆ0
β = 42.5.
Since zL = ββ , it has that π§πΆ0β > π§πΏ with a non integer ππΆ0
β , therefore π§πΆ0β represents only an upper
bound on problem πΌ0 and we need to proceed with the branching Step.
Selecting the variable π₯1 we obtain the subregions π1 and π2 (with π1 and π2 the correspondingfeasible regions of the linear relaxations). Insert in the list L the problems πΌ1 and πΌ2 and remove πΌ0.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
Select now one problem from the list L, e.g. problem πΌ2.
The choice of which problem to select first can be done by
rounding the continuous value obtained before (2.5 was rounded to 3).
In the following the depth first choice will be adopted.
The feasible region π1 and π2 (black dots) of the problems πΌ1 and πΌ2 and
their continuous relaxations π1 and π2 are depicted in the figure.
Numerical Examples
The solution for the linear relaxation is ππΆ2β = (3, 3.6) with optimal value π§πΆ2
β = 42.
Since zL = ββ , it has that π§πΆ2β > π§πΏ with a non integer ππΆ2
β , therefore one has to proceed with the
branching Step.
Selecting the variable π₯2 we obtain the subregions π3 and π4 (with π3 and π4 the correspondingfeasible regions of the linear relaxations). Insert in the list L the problems πΌ3 and πΌ4 and remove πΌ2.
Numerical Examples
Select now from the list L the problem πΌ4.
The feasible region of the problems πΌ3 and πΌ4 and
their continuous relaxations are depicted in the figure.
For πΌ4 the feasible regions π4 and π4 are empty.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
The relaxation πΆ4 is infeasible and therefore πΌ4 is removed from the list L. Then select problem πΌ3 .
The solution fo the linear relaxation is ππΆ3β = (3.33, 3) with optimal value π§πΆ3
β = 41.67.
Since zL = ββ , it has that π§πΆ3β > π§πΏ with a non integer ππΆ3
β , therefore one has to proceed with the branching Step.
Selecting the variable π₯1 we obtain the subregions π5 and π6 (with π5 and π6 the correspondingfeasible regions of the linear relaxations). Insert in the list L the problems πΌ5 and πΌ6 and remove πΌ3.
Numerical Examples
Select now from the list L the problem πΌ5.
The feasible region of the problems πΌ5 and πΌ6 and
their continuous relaxations are depicted in the figure.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
The solution for the linear relaxation is ππΆ5β = ππΌ5
β = (3, 3) with optimal value π§πΆ5β = π§πΌ5
β = 39.
Since zL = ββ , it has that π§πΆ5β > π§πΏ with an integer ππΆ5
β , therefore one has to proceed with
the updating of the lower bound zL = π§πΌ5β and the solution ππΌ5
β is stored as the best known
solution (incumbent solution).
Problem πΌ5 is removed from the list L. Proceed with Step 2.
Select now from the list L the problem πΌ6.
Numerical Examples
The solution for the linear relaxation is ππΆ6β = (4, 1.8) with optimal value π§πΆ6
β = 41.
Since zL = 39 , it has that π§πΆ6β > π§πΏ with a non integer ππΆ6
β , therefore one has to proceed with the
branching Step.
Selecting the variable π₯2 we obtain the subregions π7 and π8 (with π7 and π8 the correspondingfeasible regions of the linear relaxations). Insert in the list L the problems πΌ7 and πΌ8 and remove πΌ6.
Numerical Examples
Select now from the list L the problem πΌ8.
The feasible region of the problems πΌ7 and πΌ8 and
their continuous relaxations are depicted in the figure.
For πΌ8 the feasible region is empty.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
The relaxation πΆ8 is infeasible and therefore πΌ8 is removed from the list L. Then select problem πΌ7 .
The solution fo the linear relaxation is ππΆ7β = (4.44, 1) with optimal value π§πΆ7
β = 40.56.
Since zL = 39 , it has that π§πΆ7β > π§πΏ with a non integer ππΆ7
β , therefore one has to proceed with the branching Step.
Selecting the variable π₯1 we obtain the subregions π9 and π10 (with π9 and π10 the correspondingfeasible regions of the linear relaxations). Insert in the list L the problems πΌ9 and πΌ10 and remove πΌ8.
Numerical Examples
Select now from the list L the problem πΌ9.
The feasible region of the problems πΌ9 and πΌ10 and
their continuous relaxations are depicted in the figure.
C. Vercellis, Ottimizzazione. Teoria,
Metodi, applicazioni, 2008
Numerical Examples
The solution for the linear relaxation is ππΆ9β = ππΌ9
β = (4, 1) with π§πΆ9β = π§πΌ9
β = 37.
Since zL = 39 , it has that π§πΆ9β < π§πΏ.
Problem πΌ9 is removed from the list L. Proceed with Step 2.
Select now from the list L the problem πΌ10.
Numerical Examples
The solution for the linear relaxation is ππΆ10β = ππΌ10
β = (5, 0) with π§πΆ10β = π§πΌ10
β = 40.
Since zL = 39 , it has that π§πΆ10β > π§πΏ with an integer ππΆ10
β , therefore one has to proceed with
the updating of the lower bound zL = π§πΌ10β and the solution ππΌ10
β is stored as the best known
solution (incumbent solution).
Problem πΌ10 is removed from the list L. Proceed with Step 2.
Select now from the list L the problem πΌ1. This is the last element in the list L.
Numerical Examples
The solution for the linear relaxation is ππΆ1β = (2, 3.66) with optimal value π§πΆ2
β = 39.34.
Since zL = 40 , it has that π§πΆ1β < π§πΏ.
Problem πΌ1 is removed from the list L. Proceed with Step 2.
The list L is empty and therefore the algorithm stops. The optimal solution is
Numerical Examples
Here is depicted the tree for the branch and bound algorithm.