|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Стратегии перебора с отсечениями
Примером очень сильной стратегии перебора с отсечениями является метод ветвей и границ. Можно также указать (a - b) - процедуру Нильсона. Метод ветвей и границ Метод ветвей и границ разработан Литлом, Мерти, Суини и Карелом. Рассмотрим основные идеи этого метода. Прежде всего, этот метод связан с некоторой общей схемой допущения и оценки альтернатив. Схема построения альтернативных предположений в общем виде может быть представлена, как это показано на рис. 3.9. Вершины на рис. 3.9 соответствуют, как и ранее, состояниям задачи. Из каждой вершины выходит только два альтернативных направления, что, впрочем, не ограничивает общности рассмотрения. Направления отмечены буквами П с индексами. Идентификатор R(bi) есть некоторая числовая оценка, приписываемая вершине bi. Вообще говоря, не имеется ограничений на глубину построения дерева, хотя ясно, что нужно стремиться к минимальной глубине. Этим, в частности, обосновывается выбор того или иного предположения Пm: сначала следует стремиться доказать предположение, достоверность которого в наибольшей степени сомнительна, или наоборот, попытаться опровергнуть предположение, достоверность которого в наибольшей степени правдоподобна, т.е. действовать по принципу reductio ad absurdum, поскольку вероятность получения противоречия здесь наибольшая, это позволяет отсечь соответствующую альтернативу у ее " истоков", вместо того, чтобы строить новые альтернативные предположения. Пусть ищется состояние b*, в котором R(b*) минимально. Допустим далее, что известно некоторое текущее решение bx с текущим рекордом R(bx). Тогда ясно, что любое состояние bi, в котором наилучшее достижимое значение R(bi) ³ R(bx), может быть удалено (соответствующая часть дерева поиска отмечена, как показано с помощью заштрихованной области на рис. 3.9).
Рис. 3.9 Рассмотрим задачу коммивояжера в следующей частной постановке. Пусть дано множество N из 4 городов, соединенных дорогами. Будем интерпретировать N сетью, в которой вершины соответствуют городам, причем дугам, соединяющим вершины, приписаны веса сij, учитывающие затраты на переход коммивояжера из города i в город j (рис. 3.10а).
Полагаем сij ³ 0 и сii = ¥ , причем необязательно, чтобы сij = сji. Будем кодировать задачу матрицей затрат С = [сij], показанной на рис. 3.10, б.
а) б)
Рис. 3.10 В задаче коммивояжера требуется найти цикл с минимальной суммой затрат образующих его дуг, который обходит каждую вершину не более одного раза, за исключением одной вершины, из которой цикл " стартует" и в которой он же " заканчивается". Рассмотрим решение этой задачи методом ветвей и границ. Решающими оказываются следующие два обстоятельства. А1) Решению задачи коммивояжера соответствует выбор ровно одного элемента в каждой строке матрицы затрат С и ровно одного элемента в каждом столбце этой матрицы, причем сумма выбранных элементов минимальна и они образуют цикл. Последнее замечание существенно. Например, элементы (1, 2), (2, 3), (3, 1), (4, 4) не образуют цикл. А2) Если из любой строки (столбца) вычесть (добавить) одну и ту же константу D, то результирующее значение С* суммарных затрат в оптимальном цикле Ц* уменьшится (увеличится) ровно на эту величину D. Воспользуемся свойством А2. Выпишем минимальные элементы hj в каждом столбце j, после чего вычтем их из элементов соответствующих столбцов. Затем в полученной матрице выпишем минимальные элементы hi в строках i. Получим приведенную матрицу на рис. 2.11, а. Вычтем из каждой строки соответствующее значение hi (рис. 3.11, б). Из матрицы на рис. 3.11, б легко устанавливается, что минимально возможное значение С* (которое обозначим
Теперь будем строить предположения для приведенной матрицы затрат на рис. 3.11, б. Сделаем допущение, что дуга Для матрицы на рис. 2.12, б находим
определено из матрицы на рис. 2.12, б.
а) б) Рис. 3.11
а) б) Рис. 3.12 В то же время длина цикла Допустим теперь, что дуга В результате в столбце 4 матрицы на рис. 3.10, б останется единственный допустимый элемент с2, 4 = 2. Полагаем, Допустим, что дуга
с суммарными затратами, равными 2 + 3 + 2 + 5 = 12.
Рис. 3.13 Рис. 3.14 Рис. 3.15 Проверим теперь другую альтернативу:
Таким образом, эта альтернатива отсекается, и мы получаем оптимальный цикл
суммарной величиной затрат, равной 12. Дерево поиска, которое было построено в ходе решения задачи, изображено на рис. 3.16.
Рис. 3.16 Символом “ Х ” обозначены отсекаемые направления, раскрытие которых гарантированно не улучшает рекорд. Отметим, что в этой задаче был сразу использован в качестве текущего рекорда оптимальный цикл, что, впрочем не снижает общности рассуждений, однако сокращает размеры построения дерева решения. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1072; Нарушение авторского права страницы