33 const std::vector<std::vector<double>>& nums);
95 void ExtendTo(std::size_t num_of_flyers);
Матрица смежности для алгоритма Литтла
Definition adjacency_matrix.h:23
AdjacencyMatrix & operator=(const AdjacencyMatrix &other)=default
Minimums FindTwoMinimums(Mins type, std::size_t index) const
Находит 2 минимума в строке или столбце
Definition adjacency_matrix.cpp:49
static AdjacencyMatrix WithExtraRowCol(const std::vector< std::vector< double > > &nums)
Создает новый экземпляр AdjacencyMatrix с добавлением строки и столбца номеров точек
Definition adjacency_matrix.cpp:9
std::size_t size_
Definition adjacency_matrix.h:99
std::pair< std::size_t, std::size_t > GetSelectedValue() const
Definition adjacency_matrix.h:70
std::pair< std::size_t, std::size_t > selected_edge_
Definition adjacency_matrix.h:114
std::vector< std::vector< double > > matrix_
Definition adjacency_matrix.h:102
double evaluation_
Definition adjacency_matrix.h:111
double GetMatrixValue(std::size_t i, std::size_t j) const
Definition adjacency_matrix.h:55
std::size_t GetSize() const
Definition adjacency_matrix.h:52
std::vector< double > min_numbers_
Definition adjacency_matrix.h:108
std::pair< std::size_t, std::size_t > selected_value_
Definition adjacency_matrix.h:117
AdjacencyMatrix Reducted()
Создает редуцированную матрицы
Definition adjacency_matrix.cpp:40
void SetMatrixValue(std::size_t i, std::size_t j, double num)
Меняет элемент матрицы
Definition adjacency_matrix.cpp:23
std::vector< std::vector< double > > reducted_matrix_
Definition adjacency_matrix.h:105
double BottomLineEvaluation()
Находит нижнюю оценку для матрицы
Definition adjacency_matrix.cpp:91
AdjacencyMatrix Minor(std::size_t i, std::size_t j)
Создает минор матрицы
Definition adjacency_matrix.cpp:28
std::pair< std::size_t, std::size_t > HighestPowerOfZero() const
Находит позицию нуля с наибольшей степенью
Definition adjacency_matrix.cpp:123
AdjacencyMatrix(const AdjacencyMatrix &other)=default
double GetBottomLineEvaluation() const
Definition adjacency_matrix.h:60
std::pair< std::size_t, std::size_t > GetSelectedEdge() const
Definition adjacency_matrix.h:64
Mins
Definition adjacency_matrix.h:35
@ Rows
Definition adjacency_matrix.h:35
@ Columns
Definition adjacency_matrix.h:35
void CalculateData()
Definition adjacency_matrix.cpp:141
void ExtendTo(std::size_t num_of_flyers)
Расширяет матрицу для нескольких коммивояжеров
Definition adjacency_matrix.cpp:148
constexpr double inf
Infinity.
Definition infinity.h:9
constexpr double precision
Definition point.h:11
Definition adjacency_matrix.cpp:7
Структура для хранения двух минимумов строки/столбца
Definition adjacency_matrix.h:17
double first
Definition adjacency_matrix.h:18
double second
Definition adjacency_matrix.h:19