Русская Википедия:Метод ветвей и границ

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Метод ветвей и границ (Шаблон:Lang-en) — общий алгоритмический метод для нахождения оптимальных решений различных задач оптимизации, особенно дискретной и комбинаторной оптимизации. Метод является развитием метода полного перебора, в отличие от последнего — с отсевом подмножеств допустимых решений, заведомо не содержащих оптимальных решений.

Метод ветвей и границ впервые предложен в 1960 году Алисой Лэнд и Элисон Дойг[1] для решения задач целочисленного программирования.

Общая идея метода может быть описана на примере поиска минимума функции <math>f(x)</math> на множестве допустимых значений переменной <math>x</math>. Функция <math>f</math> и переменная <math>x</math> могут быть произвольной природы. Для метода ветвей и границ необходимы две процедуры: ветвление и нахождение оценок (границ).

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

Процедура нахождения оценок заключается в поиске верхних и нижних границ для решения задачи на подобласти допустимых значений переменной <math>x</math>.

В основе метода ветвей и границ лежит следующая идея: если нижняя граница значений функции на подобласти <math>A</math> дерева поиска больше, чем верхняя граница на какой-либо ранее просмотренной подобласти <math>B</math>, то <math>A</math> может быть исключена из дальнейшего рассмотрения (правило отсева). Обычно минимальную из полученных верхних оценок записывают в глобальную переменную <math>m</math>; любой узел дерева поиска, нижняя граница которого больше значения <math>m</math>, может быть исключён из дальнейшего рассмотрения.

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

Метод используется для решения некоторых NP-полных задач, в том числе задачи коммивояжёра и задачи о ранце.

См. также

Примечания

Шаблон:ПримечанияШаблон:Алгоритмы поиска на графах Шаблон:Rq