19 Edge(std::pair<std::size_t, std::size_t> edge)
35 std::optional<std::shared_ptr<TSPNode>> prev_node = std::nullopt,
36 std::optional<Edge> new_edge = std::nullopt,
37 std::optional<std::map<std::size_t, std::size_t>> graph_chains =
42 path = (**prev_node).path;
46 chains = (**prev_node).chains;
48 if (new_edge)
path.push_back(*new_edge);
56 std::map<std::size_t, std::size_t>
chains;
Матрица смежности для алгоритма Литтла
Definition adjacency_matrix.h:23
Definition adjacency_matrix.cpp:7
Ребро между двумя контрольными точками
Definition tspgraph.h:14
std::size_t start_num
Definition tspgraph.h:21
std::size_t end_num
Definition tspgraph.h:22
Edge(std::pair< std::size_t, std::size_t > edge)
Создает новый экземпляр Edge.
Definition tspgraph.h:19
Вершина дерева с соответствующей матрицей смежности
Definition tspgraph.h:26
std::vector< Edge > path
Definition tspgraph.h:55
std::shared_ptr< TSPNode > with_edge
Definition tspgraph.h:51
std::map< std::size_t, std::size_t > chains
Definition tspgraph.h:56
AdjacencyMatrix matrix
Definition tspgraph.h:53
double evaluation
Definition tspgraph.h:54
std::shared_ptr< TSPNode > without_edge
Definition tspgraph.h:52
TSPNode(const AdjacencyMatrix &m, std::optional< std::shared_ptr< TSPNode > > prev_node=std::nullopt, std::optional< Edge > new_edge=std::nullopt, std::optional< std::map< std::size_t, std::size_t > > graph_chains=std::nullopt)
Создает новый экземпляр TSPNode.
Definition tspgraph.h:34