Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовая методичка по ТПР13.02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.35 Mб
Скачать

3.5 Пример решения задачи коммивояжера

Задача. Решить задачу коммивояжера с матрицей расстояний

.

Решение.

1. Вычисление оценки . Выполним операцию приведения матрицы С.

Отсюда находим

.

2. Выбор дуги для ветвления. Для всех нулей приведенной матрицы C вычислим :

Максимальное значение равно 6 и достигается на дугах (1,2) и (4,3). Выберем для ветвления, например, дугу (1,2), потому что .

3. Ветвление. Множество D разбиваем на два подмножества и . Верхний индекс указывает на номер итерации, а нижний – на наличие выбранной дуги в маршрутах данных множеств. Множество состоит из всех маршрутов коммивояжера, не содержащих дугу (1,2). Весь процесс решения данной задачи изображен на рис. 6. Рядом с каждой вершиной указано значение оценки целевой функции для соответствующего множества маршрутов.

4. Вычисление оценки . Выполним операцию приведения матрицы, соответствующей . Она получается из приведенной матрицы C заменой элемента (1,2) на ∞.

Получаем

Замечаем, что . Значит оценку для можно вычислить проще, а именно .

5. Вычисление оценки . Матрица, соответствующая , получается из приведенной матрицы С вычеркиванием 1-й строки, 2-го столбца и запрещением элемента (2,1).

Итак, .

Рис. 6

6. Выбор множества для ветвления. Так как , то ветвим множество .

7. Выбор дуги ветвления. Для приведенной матрицы из п. 5 вычислим

Максимальное значение достигается на дугах (3,4) и (4,1). Выберем для ветвления дугу (3,4).

8. Ветвление. Множество разбиваем на два подмножества и . Множество состоит из всех маршрутов множества , не содержащих дугу (3,4), а – из всех маршрутов множества , содержащих дугу (3,4) (см. рис. 6).

9. Вычисление оценки .

.

10. Вычисление оценки . Матрица, соответствующая , получается из приведенной матрицы, найденной в п. 5, вычеркиванием 3-й строки, 4-го столбца и запрещением элемента (4,3).

.

Значит, .

11. Допустимое решение задачи. В п. 10 получена матрица размером 2×2 с двумя незапрещенными элементами (2,3) и (4,1). Это означает, что множество состоит из единственного маршрута, который содержит дуги (2,1), (3,4), (2,3), (4,1). Его длина равна 23, т.е. .

12. Отсев неперспективных множеств. Так как , то множество не содержит оптимального решения и выбывает из числа кандидатов на ветвление.

11. Выбор множества для ветвления. Кандидатом на ветвление является только множество .

12. Выбор дуги ветвления. Для приведенной матрицы из п. 4 вычислим

.

Выберем для ветвления дугу (2,1).

13. Ветвление. Множество разбиваем на два подмножества и .

14. Вычисление оценки .

.

Так как , то объявляется неперспективным.

15. Вычисление оценки . Матрица, соответствующая , получается из приведенной матрицы, найденной в п. 4, вычеркиванием 2-й строки, 1-го столбца и запрещением элемента (1,2).

.

Итак, .

16. Выбор множества для ветвления. Единственным кандидатом на ветвление является .

17. Выбор дуги ветвления. Для приведенной матрицы из п. 15 вычислим . Выберем для ветвления дугу (1,3).

18. Ветвление. Множество разбивается на и .

19. Вычисление оценки .

.

20. Вычисление оценки . Матрица, соответствующая , получается из приведенной матрицы, найденной в п. 15, вычеркиванием 1-й строки, 3-го столбца и запрещением элемента (3,2) (исключаем подцикл (2,1,3,2)).

.

Значит, .

21. Выбор множества для ветвления. Кандидатами на ветвление являются и . Так как для обоих множеств нижняя оценка больше рекорда целевой функции, то они являются неперспективными. Других кандидатов на ветвление нет. Следовательно, процесс решения задачи окончен. Оптимальным решением является маршрут (1,2,3,4,1), его длина равна 23.