Five commonly used algorithms: branch-and-gauge method

Source: Internet
Author: User

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 satisfying the constraint condition. Or in the solution of satisfying the constraint condition, find the solution that makes the value of a certain objective function reach the maximum or minimum , that is, the optimal solution in some 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-bound search algorithm the 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

Five commonly used algorithms: branch-and-gauge method

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.