- •Теория принятия решений
- •1. Элементы теории игр
- •1.1 Основные понятия
- •1.2 Матричные игры
- •1.3 Принцип минимакса. Седловые точки
- •1.4 Смешанные стратегии
- •1.5 Пример полного решения матричной игры
- •1.6 Задания по теории игр
- •2. Задача о назначениях
- •2.1 Содержательная постановка
- •2.2 Математическая модель
- •2.3 Венгерский метод для задачи о назначениях
- •2.4 Алгоритм венгерского метода
- •2.5 Пример решения задачи о назначениях венгерским методом
- •2.6 Задания по задаче о назначениях
- •3. Задача о коммивояжере
- •3.1 Постановка задачи
- •3.2 Математическая модель
- •3.3 Метод ветвей и границ
- •3.4 Метод ветвей и границ для решения задачи коммивояжера
- •3.5 Пример решения задачи коммивояжера
- •3.6 Задания по задаче о коммивояжере
- •4. Динамическое программирование
- •4.1 Построение модели дп
- •4.2 Построение вычислительной схемы дп
- •4.3 Несколько замечаний к методу дп
- •4.4 Задача о распределении ресурсов
- •4.5 Пример решения задачи о распределении ресурсов
- •4.6 Задания по задаче о распределении ресурсов
- •4.7 Задача о замене оборудования
- •4.8 Пример решения задачи о замене оборудования
- •4.9 Задания по задаче о замене оборудования
- •Библиографический список
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.
