Branch and bound with the Euclidean distance admissible heuristic (not considering obstacles). More...
#include <branch_and_bound_euclidean.h>
Public Member Functions | |
int | run_branch_and_bound () |
Runs the branch and bound algorithm. | |
int | set_goal_region (region_t region_goal_in) |
Sets the goal region to which the Euclidean distance will be computed. | |
int | set_root_vertex (vertex_t *root_vertex_in) |
Sets the root vertex of the planner. |
Branch and bound with the Euclidean distance admissible heuristic (not considering obstacles).
Currently, the heuristic is not computing the exact distance. The current heuristic is not even admissible. It should be employed with care.
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::run_branch_and_bound | ( | ) | [virtual] |
Runs the branch and bound algorithm.
Once this function is called, the branch and bound algorithm goes through all the vertices in the graph and deletes those that can not lead to (or unlikely to lead to) an optimal solution.
Implements smp::branch_and_bound_base< typeparams >.
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::set_goal_region | ( | region_t | region_goal_in | ) |
Sets the goal region to which the Euclidean distance will be computed.
The branch and bound with the Euclidean distance heuristic considers the Euclidean distance neglegting the obstacles. It is assumed that the goal region is a box, which can be set or modified using this function.
region_goal_in | New goal region. |
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::set_root_vertex | ( | vertex_t * | root_vertex_in | ) |
Sets the root vertex of the planner.
This function can be used to provide the heuristic with the knowledge of the root vertex. Since the heuristic is not admissible, it has the danger of deleting the root vertex, which can be avoided if a pointer to the root vertex is provided to the heuristic using this function.
root_vertex_in | A pointer to the root vertex of the incremental planner. |