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

24.3 Метод ветвей и границ.

Метод ветвей (веток) и границ относится к группе комбинаторных методов дискретного программирования и является одним из наиболее распространенных методов этой группы.

Впервые метод ветвей и границ был предложен в работе Лэнд и Дойг в 1960 г. применительно к задаче линейного целочисленного программирования. Однако эта работа не оказала заметного влияния на развитие идей дискретного программирования. Второе рождение метода связано с работой Литтла, Мурти, Суини и Кэрел, 1963 г., посвященной задаче о коммивояжере.

Рассмотрим задачу дискретного программирования в общей форме

минимизировать  z = f (x)                       (24.3.1)

при условиях

x Î G,

где G —конечное множество.

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

Вычисление нижней границы (оценки) min z. Часто удается, не решая задачу (24.3.1), найти нижнюю границу (оценку) целевой функции на множестве решений G (или на его некотором подмножестве) x (G) такую, что для всех x Î X:

f (x) ³ x (G).

Разбиение на подмножества. Реализация метода связана с постоянным разбиением множества планов G на дерево подмножеств. Разбиение происходит по следующей схеме.

Нулевой шаг. Имеется исходное множество G = G(0). Некоторым способом его разбивают на конечное число подмножеств  …, ...

k-ая итерация (k ³ 1). Пусть множества , …,  еще не подвергались  разбиению. По определенному правилу (указанному ниже), среди них выбирают множество  и разбивают его на конечное число подмножеств (рис.24.3) , …, ...

Перечисление оценок. Если G1 Ì G2,

то                            

Поэтому, разбивая в процессе решения множество на подмножества , всегда считают, что оценка для любого из них не меньше оценки для исходного множества G0, т.е. для всех множеств Gi

x (Gi) ³ x (G0)

Рис 24.3.

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

Признак оптимальности. Пусть  и некоторый план x0 Î G. Если при этом f (x0) = x (Gn) £  x (Gi) для всех i, то x0 — оптимальный план.

Оценка точности приближенного решения. Пусть , . Если x – некоторый план задачи, то . Если разность D = f (x) – x невелика, то x можно принять за приближенное решение, а D будет оценкой его точности.

Описание алгоритма метода

Н у л е в о й  ш а г. Не решая задачи (4.3.1), вычисляют оценку x (G) = x (G(0)). Если при этом удается найти такой план x0, что (x0) = x (G(0)), то x0 — оптимальный план.

Если оптимальный план x0 не найден, то некоторым способом разбивают множество G(0) на конечное число непересекающихся подмножеств , , … , , таких, что G(0) =  и переходят к первой итерации.

П е р в а я  и т е р а ц и я. Вычисляют оценки x  при i = 1, 2,  … ,  r1... Если удается найти такой план x0, что x0 Î  и  при i = 1, 2,  … ,  r1, то x0 — оптимальный план. В противном случае для дальнейшего разбиения выбирают наиболее перспективное множество  по следующему правилу:

.                           (24.3.2.)

Разбивают множество  на несколько подмножеств  =  . Еще не подвергавшиеся разбиению множества переобозначают  и переходят ко второй итерации.

k-ая  и т е р а ц и я. Вычисляют оценки x  при i = 1, 2,  … ,  rk... Если удается найти такой план x0, для которого  для всех i = 1, 2,  … ,  rk, то x0 -оптимальный план.

Если же оптимальный план не найден, то снова выбирают наиболее перспективное множество  такое, что

 .                          (24.3.3)

Далее разбивают множество  на несколько подмножеств  =  и переходят к (k+1)-й итерации.

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