5 #ifndef GBMOT_KSHORTESTPATHS_H 6 #define GBMOT_KSHORTESTPATHS_H 8 #include "../graph/Definitions.h" 9 #include "../core/ObjectData.h" 10 #include "../core/Tracklet.h" 23 DirectedGraph original_graph_;
28 DirectedGraph copied_graph_;
46 std::unordered_map<Vertex, Vertex> original_to_copy_;
52 std::unordered_map<Vertex, Vertex> copy_to_original_;
58 std::vector<std::unordered_map<Vertex, double>> i_distances_;
64 std::vector<MultiPredecessorMap> i_shortest_paths_;
70 void CopyOriginalGraph();
79 void ExtendGraph(
size_t i);
82 void TransformEdgeCosts(
size_t i,
bool original);
88 double OverallCosts(
size_t i);
95 void Interlace(
size_t i);
104 void FindAndAugmentPath(
size_t i,
bool original);
111 std::vector<std::pair<std::pair<Vertex, Vertex>,
double>> edges_to_add_;
118 std::vector<std::pair<Vertex, Vertex>> edges_to_remove_;
126 void QueueRemoveEdge(Vertex source, Vertex target);
136 void QueueAddEdge(Vertex source, Vertex target,
double weight);
160 MultiPredecessorMap
Run(
size_t max_path_count);
165 #endif //GBMOT_KSHORTESTPATHS_H KShortestPaths(DirectedGraph graph, Vertex source, Vertex sink)
Definition: KShortestPaths.cpp:14
Definition: Berclaz.cpp:13
Definition: KShortestPaths.h:17
MultiPredecessorMap Run(size_t max_path_count)
Definition: KShortestPaths.cpp:19