
- •Теория принятия решений
- •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 Задания по задаче о замене оборудования
- •Библиографический список
- •1. Элементы теории игр 3
- •2. Задача о назначениях 14
- •3. Задача о коммивояжере 25
- •4. Динамическое программирование 35
3.3 Метод ветвей и границ
Метод ветвей и границ [3, 4, 5] относится к группе комбинаторных методов дискретного программирования. Методы этой группы исходят прежде всего из конечности множества допустимых решений задачи. Центральную идею комбинаторных методов составляет замена полного перебора всех допустимых решений их частичным направленным перебором. Впервые метод ветвей и границ был предложен в 1960 г. в работе Лэнд и Дойг для решения задачи целочисленного линейного программирования. Настоящую известность этот метод приобрел лишь после выхода в 1963 г. работы Литтла и др., в которой метод был применен к задаче коммивояжера. В этой работе было впервые предложено и общепринятое теперь название метода.
Различные методы типа ветвей и границ существенно используют специфику конкретных задач и поэтому заметно отличаются друг от друга. Однако все они основаны на последовательном разбиении допустимого множества на подмножества (ветвлении) и вычислении оценок (границ), позволяющем отбрасывать подмножества, заведомо не содержащие оптимальных решений задачи. Изложим идею метода ветвей и границ для следующей комбинаторной задачи:
(3.7)
где
– конечное множество.
Пусть
есть подмножествоD.
В зависимости от специфики задачи
выбирается некоторый способ вычисления
нижней границы (оценки) значений целевой
функцииf,
т.е. такого числа
,
что для любого
имеет место неравенство
(3.8)
По некоторому правилу
множество Dразбивается на конечное число (обычно
попарно непересекающихся) подмножеств.
Получается начальное дерево ветвления
с корнемDи листьями (висячими вершинами)(рис. 4).
Множество для
дальнейшего ветвления выбирается по
определенному правилу среди множеств
.
Обычно это подмножество с наименьшей
оценкой, так как именно в нем естественно
искать оптимальное решение в первую
очередь. Далее для подмножеств, полученных
после разбиения выбранного множества,
вычисляется множество, еще не подвергавшееся
разбиению, т.е. множество, которое
соответствует висячей вершине дерева
ветвления.
Рис. 4
Через некоторое
число шагов в результате разбиения
очередного подмножества или в ходе
вычисления оценки для одного из
подмножеств будет получено
– допустимое решение исходной задачи.
Значение
объявляется рекордом целевой функции,
.
Если для любого подмножества
,
для которого еще не выполнялось ветвление,
имеет место соотношение
,
(3.9)
то
– оптимальное решение задачи (3.7) и
процесс решения завершается. Иначе
решение задачи продолжается с некоторого
подмножества, для которого (3.9) не
выполняется. При этом подмножества, для
которых (3.9) имеет место, объявляются
неперспективными и исключаются из
последующего рассмотрения.
В дальнейшем при
получении допустимого решения, на
котором значение целевой функции меньше
,
рекорд обновляется. Оптимальным решением
задачи является лучшее из найденных
решений.
3.4 Метод ветвей и границ для решения задачи коммивояжера
Пусть
– некоторый допустимый маршрут
коммивояжера, где числа
указывают порядок обхода городов.
Переезды коммивояжера
называются дугами маршрута. ЧерезDобозначено множество всех допустимых
маршрутов коммивояжера, а черезl(x)
– длина маршрутаx,
которая равна
.
1. Вычисление оценки для множества D.
Положим
.
Тогда
для любогоjи
.
Положим
.
Тогда
для любогоiи
.
(3.10)
Матрицу
– называют приведенной, операцию ее
построения – приведением матрицыC,
а величины
– константами приведения. Таким образом,
приведенная матрица
получается вычитанием из всех элементов
каждой строки матрицыCминимального элемента этого столбца.
Отметим, что в каждой строке и в каждом
столбце матрицы
имеется хотя бы один нулевой элемент.
Положим
.
Из (3.10) следует, что
для любого допустимого маршрута
.
Очевидно, что после операции приведения
длины всех маршрутов уменьшаются на
одну и ту же величину
.
Следовательно, оптимальный маршрут,
найденный с использованием приведенной
матрицы, оптимален и для исходной задачи.
При этом длины оптимальных маршрутов
задачи с матрицейCи задачи с матрицей
связаны соотношением
.
(3.11)
2.
Выбор множества для ветвления.На первом шаге это множествоD.
Его нижняя оценка.
На остальных шагах из числа кандидатов
на ветвление (из множества висячих
вершин дерева ветвления) выбирается
множество
с наименьшей оценкой.
3. Разбиение множества
на подмножества (ветвление). ЧерезEобозначим приведенную матрицу,
соответствующую множеству
.
Описанным далее – в п. 5 способом
выбирается дуга (p,q).
Множество
разбивается на два подмножества
и
и исключается из числа кандидатов на
ветвление. Подмножество
состоит из всех маршрутов множества
,
не содержащих дугу (p,q);
подмножество
– из всех маршрутов, содержащих дугу
(p,q)
(рис. 5).
Рис. 5
4. Преобразование
матрицы стоимостей и вычисление оценок.
Матрица
,
соответствующая множеству
,
получается изEзаменой
.
Для множества
соответствующая матрица
получается изEвычеркиваниемp-й
строки иq-го
столбца. Кроме того, как правило, требуется
запрещение некоторого элемента для
исключения из
замкнутого маршрута, проходящего по
уже включенным в маршрут дугам, но не
являющегося полным (т.е. не содержащим
всеnгородов).
Оценки для вновь образованных множеств вычисляются следующим образом:
где
и
есть суммы констант приведения матриц
и
.
Легко показать, что
.
(3.12)
5. Выбор дуги для ветвления.
По-прежнему E– приведенная матрица, соответствующая
множеству.
Выбор дуги для ветвления основан на
стремлении сделать оценку
побольше для того, чтобы увеличить
вероятность выбора для дальнейшего
ветвления множества
.
Исходя из первого условия, будем
рассматривать лишь дуги (k,l),
для которых
.
(3.13)
Чтобы
выполнить второе условие, среди дуг,
удовлетворяющих (3.13), выберем дугу (p,
q), для которой значениебудет максимальным. Для этого, используя
(3.12), вычислим функцию
для
каждой дуги (k,
l) такой, что.
В качестве дуги (p,
q) выберем ту, для которой
.