First, the basic description
Similar to the backtracking method, it is also an algorithm for searching problem solution on the solution space tree T of the problem. However, under normal circumstances, the branch-bound method and the backtracking method are different in solving the target. The goal of backtracking is to find out all the solutions that satisfy the constraints in T , while the solution target of branch-bound method is to find a solution that satisfies the constraint condition, or to find out the value of a target function in the solution satisfying the constraint condition. Maximal or minimal solution , i.e. the optimal solution in a certain sense.
(1) Branch search algorithm
The so-called "branch" is the use of breadth-first strategy, search all branches of e-node, that is, all adjacent nodes, discard the nodes that do not meet the constraints, the remaining nodes to join the Slipknot point table. Then select a node from the table as the next e-node to continue the search.
The next e-node is selected in different ways, and there are several different ways to search for branches.
1) FIFO Search
2) LIFO Search
3) Priority Queue Search
2) Branch Clearance search algorithmII. General process of branch-bound method
Because of the difference of the target, the branch-bound method and the backtracking method are different in the search method on the solution space tree T. The backtracking method searches for the solution space tree T in the depth-first way, while the branch-bound rule searches the solution space tree T in breadth or in the least-expensive way.
The search strategy for branch-bound method is: At the extension node, the husband becomes the node of all his sons (branches), and then selects the next extended pair of points from the current Slipknot point table. In order to effectively select the next extension node to speed up the search process, at each Slipknot point, calculate a function value (gauge), and according to these computed function values, select one of the most advantageous nodes from the current Slipknot point table as the extension node, and make the search move toward the branch of the solution space tree with the best solution, In order to find an optimal solution as soon as possible.
The branch-and-bound method often searches for the solution space Tree of the problem in the form of breadth preference or minimum cost (maximum benefit) preference. The solution space Tree of the problem is an ordered tree representing the solution space of the problem, and the common subset tree and the permutation tree . When searching for the solution space Tree of the problem, the branch-bound method and the backtracking method have different extension methods to the current extension nodes. In the branch-and-gauge approach, each Slipknot point has only one chance to become an extension node. Once the Slipknot point becomes an extension node, all its son nodes are generated at once. In these sons ' nodes, the knot of the sons that led to the non-optimal solution or the suboptimal solution was discarded, and the rest of the sons were added to the Slipknot point table. Thereafter, removing a node from the Slipknot point table becomes the current expansion node and repeats the above node expansion process. This process persists until you find the solution you are seeking or the Slipknot point table is empty.
some differences between the backtracking method and the branch gauge method
There are some problems in fact, whether using backtracking or branch-bound method can be well resolved, but others are not. Perhaps we need some specific analysis-when exactly when to use the branch gauge and when to use backtracking?
Some differences between backtracking and branch-gauge methods:
Methods the common application of data structure node storage characteristics in the search mode of the solution space tree is stored .
Backtracking Depth-first search stack all viable sub-nodes of the Slipknot point are traversed before being ejected from the stack to find all the solutions that satisfy the constraints
Branch-bound method breadth-first or minimum-consumption-priority search queue, priority queue each node has only one chance to become a Slipknot point. Finding the optimal solution of a solution or a specific meaning satisfying the constraint condition
(The above content to five most commonly used algorithm five: branch-bound method)
Five commonly used algorithms: branch-and-gauge method