Branch and Bound
Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees that do not contain an answer node. However branch and Bound differs from backtracking in two important manners:
1. It has a branching function, which can be a depth first search, breadth first search or based on bounding function.
2. It has a bounding function, which goes far beyond the feasibility test as a mean to prune efficiently the search tree.
Amity School of Engineering & Technology
Amity School of Engineering & Technology
Three types of searching strategies used in Branch & Bound:-
Amity School of Engineering & Technology
FIFO (First In First Out) Branch &Bound Search�
Delete() Removes the head of the Queue� Add() Adds the node to the end of the Queue
Amity School of Engineering & Technology
Amity School of Engineering & Technology
LIFO (Last In First Out) Branch &Bound Search�
Amity School of Engineering & Technology
Amity School of Engineering & Technology
LC(Least Cost) Branch &Bound Search�
Amity School of Engineering & Technology
Amity School of Engineering & Technology
Each node X in search tree is associated with a cost of : Ĉ(X)�C = the cost of the reaching current node, X(E-node) form root + The cost of reaching an answer node form X.�Ĉ=g(X)+H(X).
Amity School of Engineering & Technology