The concept revolves around constructing a rooted tree as a solution space, beginning from a root node where no truth values have been assigned to any of the 'n' variables. Two child nodes emerge from this root, each representing one of the binary states (true or false) of a chosen variable 'Xi'. Subsequent child nodes are generated, each focusing on a different variable. This structure results in a tree of height 'n' and 2n leaf nodes, indicating a potential for exponential time complexity in the worst case of the branch and bound algorithm. However, practical scenarios often allow for substantial pruning of the tree, greatly reducing time complexity.
For bounds, in a maximization problem, the lower bound represents a feasible solution, attainable in O(n) time, based on the truth status of certain clauses. The upper bound is the total number of clauses not confirmed as false.
The efficiency of the algorithm largely depends on the ordering criteria. A suggested approach is to prioritize variables based on their 'incidence' count, which is the frequency of a variable's appearance in the clauses, adjusted by the frequency of its negation. This method significantly impacts the practical execution time of the algorithm.