Решение задачи коммивояжёра с помощью гамильтоновых циклов заключается в нахождении гамильтонова цикла минимального веса в полном взвешенном графе. learning.infoteam.msk.ru
Один из методов решения — метод ветвей и границ. habr.com portal.tpu.ru Суть идеи в том, что все перебираемые варианты разбиваются на классы. portal.tpu.ru Для каждого класса находится оценка снизу всех решений этого класса. portal.tpu.ru Если оценка превышает стоимость ранее найденного решения, все варианты класса отбрасываются. portal.tpu.ru
Алгоритм решения: learning.infoteam.msk.ru
- Построение матрицы с исходными данными. learning.infoteam.msk.ru Длины дорог, соединяющих города, представляют в виде таблицы. learning.infoteam.msk.ru
- Нахождение минимума по строкам. learning.infoteam.msk.ru В каждой строке матрицы находят минимальный элемент и вычитают его из всех элементов соответствующей строки. math.semestr.ru
- Редукция строк. learning.infoteam.msk.ru
- Нахождение минимума по столбцам. learning.infoteam.msk.ru В каждом столбце матрицы выбирают минимальный элемент и вычитают его из всех элементов соответствующего столбца. math.semestr.ru
- Редукция столбцов. learning.infoteam.msk.ru
- Вычисление оценок нулевых клеток. learning.infoteam.msk.ru
- Редукция матрицы. learning.infoteam.msk.ru
- Если полный путь ещё не найден, переходят к пункту 2, если найден — к пункту 9. learning.infoteam.msk.ru
- Вычисление итоговой длины пути и построение маршрута. learning.infoteam.msk.ru
Также для решения задачи коммивояжёра с помощью гамильтоновых циклов используют жадный алгоритм, алгоритм полного перебора и приближённые методы. habr.com portal.tpu.ru