Задача коммивояжера Найти гамильтонов цикл наименьшей длины в орграфе с матрицей расстояний С.
ПРИМЕР 1 Решить задачу коммивояжера с матрицей расстояний .
Решение. Вычисление оценки для множества Выполним операцию приведения 1. 1 1 2 3 4 5 ∞ 30 40 15 6 2 10 ∞ 18 7 3 20 30 ∞ 9 1 5 ∞ 3 4 5 6 1 ∞ 24 34 9 0 7 2 3 2 0 10 0 4 25 10 35 ∞ 5 9 8 7 6 2 . 5 6 ∞ 11 0 3 20 30 ∞ 0 10 4 20 5 30 ∞ 5 3 2 1 0 0 ∞ 0 Константы приведения
Приведенная матрица 1 2 3 4 5 1 ∞ 22 33 9 0 2 ∞ 10 0 3 17 28 ∞ 0 10 4 17 3 29 ∞ 5 0 0 0 ∞
2. Выбор дуги для ветвления. Для всех нулей приведенной матрицы вычисляем вес дуги Дуг с максимальным весом две – (3, 4) и (5, 3). Так как , то дуга ветвления - (3, 4).
3. Ветвление
4. Вычисление оценки Матрица, соответствующая , получается из приведенной матрицы п. 1 заменой элемента (3, 4) на ∞. Выполним операцию 1 2 3 4 5 приведения полученной 1 ∞ 22 33 9 0 матрицы. 2 0 ∞ 10 0 2 3 17 28 ∞ ∞ 10 4 17 3 29 ∞ 5 0 0 0 ∞
1 2 3 4 5 1 ∞ 22 33 9 0 0 1 ∞ 22 33 9 0 2 0 2 ∞ 10 10 3 7 18 ∞ ∞ 10 0 3 17 28 ∞ 4 17 3 29 ∞ 5 0 0 0 ∞ 1 0 0 2 3 ∞ 10 0 ∞ 0 4 17 3 29 ∞ 5 0 0 0 ∞ 0 0 0
1 2 3 4 5 1 ∞ 22 33 9 0 2 3 7 18 ∞ ∞ 10 0 ∞ 0 4 17 3 29 ∞ 5 0 0 0 ∞ Заметим, что . Следовательно,
5. Вычисление оценки Матрица, соответствующая , получается из приведенной матрицы п. 1 вычеркиванием 3 -ей строки и 4–го столбца и запрещением элемента (4, 3). 1 2 3 5 1 ∞ 22 33 0 2 0 ∞ 10 2 4 17 3 5 0 0 ∞ Выполним операцию приведения полученной матрицы.
1 2 3 1 5 1 ∞ 22 33 0 0 2 0 ∞ 10 2 0 4 17 3 ∞ 0 0 5 0 0 0 ∞ 0 1 2 3 5 1 ∞ 22 33 0 2 0 ∞ 10 2 4 17 3 ∞ 0 5 0 0 ∞ 0 2 3 5 1 ∞ 22 33 0 2 0 ∞ 10 2 4 17 3 ∞ 0 5 0 0 0 ∞ 0 0
6. Выбор множества для ветвления Так как то ветвим множество , .
7. Выбор дуги для ветвления. Для всех нулей приведенной матрицы п. 5 вычисляем вес дуги 1 2 3 5 1 ∞ 22 33 0 2 0 ∞ 10 2 4 17 3 ∞ 0 5 0 0 ∞ 0 Дуга ветвления (1, 5).
8. Выбор множества для ветвления сление оценки . 9. Вычи
10. Вычисление оценки Матрица, соответствующая , получается из приведенной матрицы п. 5 вычеркиванием 1 -ой строки и 5 –го столбца и запрещением элемента (5, 1). 1 2 3 1 2 0 4 17 5 ∞ 2 3 ∞ 10 3 ∞ 0 0 1 2 0 4 17 5 ∞ 2 3 ∞ 10 0 3 ∞ 3 0 0 0 2 0 ∞ 10 4 14 0 ∞ 5 ∞ 0 0 0
11. Выбор множества для ветвления Так как то ветвим множество , .
12. Выбор дуги для ветвления. Для всех нулей приведенной матрицы п. 10 вычисляем вес дуги 1 2 0 4 14 5 ∞ 2 3 ∞ 10 0 ∞ 0 0 Дуга ветвления (2, 1).
13. Выбор множества для ветвления исление оценки . 14. Выч
15. Вычисление оценки Матрица, соответствующая , получается из приведенной матрицы п. 10 вычеркиванием 2 -ой строки и 1–го столбца и запрещением элемента (5, 2). 4 5 2 3 0 ∞ ∞ 0
16. Выбор множества для ветвления Множество состоит из дуг (3, 4), (1, 5), (2, 1), (4, 2), (5, 3). Длина этого маршрута Других кандидатов на ветвление нет.
Ответ. Оптимальным маршрутом является маршрут (1, 5, 3, 4, 2), его длина 33.