R* tree branch and bound method

More later.

Write down the idea first:
use Dijkstra's algorithm to calculate the shortest path.
Depth search based on weights.
Record the predicted minimum value for each city to the final city.
Use all weights as the built-in function value of the priority queue.
Preprocessing: Select the city closest to the destination city and not visited each time, calculate the distance from each city to the destination city through the city in turn, and update the smaller value.
Branch and bound: Use the optimal queue to pop out an optimal lower bound path each time, select the current city to go to all cities except yourself, and enter the queue if the boundary conditions are met. Boundary condition judgment is pruning.
After reaching the destination city. All paths traversed by the city are the path values ​​of the current solution. Update the value of the optimal solution.
Path: Backtrack the path by recording the index of each node's parent in the node vector.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326303720&siteId=291194637