Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подготовка Сиакод.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
24.01 Mб
Скачать
  1. Метод ветвей и границ.

Метод ветвей и границ является специальным частным случаем метода поиска с ограничением. Этот метод успешно применяется ко многим задачам, в том числе и к NP-полным. Основная идея метода такова: необходимо все огромное количество переборов разделить на классы и определить оценки для этих классов (снизу – для задач минимизации, сверху – для задач максимизации), для того чтобы иметь возможность отбрасывать возможные решения не по одному варианту, а сразу целыми классами.

Трудность этого метода заключается в том, чтобы найти такое разбиение на классы (ветви) и так определить для них оценки (границы), чтобы процедура была эффективной. По сути метод ветвей и границ представляет собой организованный перебор, в ходе выполнения которого исходная задача делится на множество подзадач, которые, в свою очередь, также делятся на подзадачи и так далее, до тех пор, пока не будет найдено решение.

Например, при применении этого метода к задаче о коммивояжере для городов данная задача разбивается на подзадачу. Первая подзадача – должна содержать траектории с ребром между городами , вторая - с ребром . Затем первое множество разбивается на подзадачи, первая из которых должна содержать траектории с ребрами , , а вторая , .

Для каждой из подзадач (ветви) вычисляются два числа – оценки (границы). Нижняя граница – это лучшее решение, верхняя граница – это худшее решение. Далее, перед следующим разбиением, на основе полученных чисел возникает возможность исключения некоторых подзадач, если полученная нижняя граница меньше верхней. В этом случае, решения для этой подзадачи не являются оптимальными для исходной задачи.

Ограничения в методе ветвей и границ основываются на предположении, что на множестве возможных и частичных решений задана некоторая функция цены и, что нужно найти решение наименьшей стоимости. Для применения этого метода функция цены должна обладать тем свойством, что стоимость частичного решения не может быть выше, чем стоимость расширения данного частичного решения.

В большинстве случаев функция цены не является отрицательной и даже удовлетворяет более сильному требованию: .

Это свойство позволяет отбрасывать те решения, стоимость которых оказалась выше, чем стоимость решения, полученного на предыдущем шаге. В этом случае в качестве кандидата на новое ветвление выбирается множество с наименьшей оценкой. На каждой итерации алгоритма и для каждого подмножества вычисляется верхняя и нижняя оценки. Нижнюю оценку получают решением задачи точным методом, верхнюю оценку - с помощью какого-либо эвристического алгоритма.

Метод ветвей и границ – это не один специальный вид алгоритмов, это целый класс алгоритмов. Его эффективное использование зависит от разработки способов разбиения пространства решение, то есть от структуры ветвления и от используемых алгоритмов для определения оценок.

ЛАСКОВЫЙ МАЙ:

Алгоритм ветвей и границ схож с алгоритм с возватом, где так же на каждом шаге алгоритма откидывается явно не оптимальные решения.

Пусть S(0) – множество маршрутов, n – множество городов, c – матрица затрат.

Данный метод основан на разбиении множества на 2 подмножества которые не пересекаются и вычислении оценок каждого из них. Далее множество с минимальной оценкой разбивается на 2 подмножества и вычисляются их оценки. И так далее в выбирается подмножество с наименьшей оценкой и разбивается на 2 подмножества. Пока не получим подмножество, содержащее один цикл стоимостью последнего(?) множества.