19 std::size_t num_of_flyers = 1);
Матрица смежности для алгоритма Литтла
Definition adjacency_matrix.h:23
Решение задачи коммивояжера
Definition travelling_salesmans_problem.h:10
std::size_t num_of_flyers_
Definition travelling_salesmans_problem.h:31
std::vector< Edge > edge_path_
Definition travelling_salesmans_problem.h:41
std::vector< std::shared_ptr< TSPNode > > paths_stack_
Definition travelling_salesmans_problem.h:35
std::vector< std::size_t > CalculateTrajectory()
Просчитывает оптимальную маршрут
Definition travelling_salesmans_problem.cpp:174
void CompleteEdgePath(std::shared_ptr< TSPNode > node)
Замыкает Гамильтонов цикл обхода контрольных точек
Definition travelling_salesmans_problem.cpp:134
void ExpandStack()
Заменяет вершину графа в path_stack_ на её детей, без нарушения порядка
Definition travelling_salesmans_problem.cpp:17
std::vector< std::size_t > GetTrajectory()
Definition travelling_salesmans_problem.h:25
std::size_t FindIndex(double eval) const
Находит место для вставки вершины для соблюдения порядка
Definition travelling_salesmans_problem.cpp:110
double paths_len_
Definition travelling_salesmans_problem.h:38
double GetTrajLength() const
Definition travelling_salesmans_problem.h:22
AdjacencyMatrix & DeleteEdge(AdjacencyMatrix &matrix, std::size_t start_num, std::size_t end_num)
Удаляет ребро из матрицы смежности
Definition travelling_salesmans_problem.cpp:93
std::vector< std::size_t > ConvertToVertexPath()
Переводит ребра, содержащихся в пути в последовательность обхода контрольных точек
Definition travelling_salesmans_problem.cpp:157
TravellingSalesmansProblem(AdjacencyMatrix &matrix, std::size_t num_of_flyers=1)
Инициализирует новый экземпляр TravellingSalesmansProblem для нескольких коммивояжеров
Definition travelling_salesmans_problem.cpp:9
Definition adjacency_matrix.cpp:7