21. Метод ветвей и границ решения целочисленных задач линейного программирования (ЦЗЛП)
Пример 5.1:
F() = 3x1 + 2x2 ® max
При ограничениях
X1 + x2 £ 3,5;
X1 £ 2;
X2 £ 2;
X1, х2 ³ 0, целые.
Начальный шаг решения этой задачи состоит в нахождении решения задачи ЛП, получаемой при отбрасывании условия целочисленности х1 и х2. Обозначим эту задачу через ЛП-1. На рис. 5.1 представлено графическое решение задачи ЛП-1.
Рис. 5.1. Решение задачи ЛП-1
Оптимальное решение задачи ЛП-1 имеет вид: х1 = 2, х2 = 1,5, оптимальное значение целевой функции F() = 9. Поскольку х2 принимает дробное значение, найденное решение не может быть оптимальным решением исходной задачи ЦЛП. Но найденное значение F(
) представляет собой верхнюю границу истинного оптимального целочисленного значения, поскольку при выполнении требования целочисленности х2 значение F(
) может лишь уменьшиться.
Следующий шаг метода ветвей и границ состоит в просмотре целочисленных значений х2, больших или меньших 1,5. Это делается путем добавления к задаче ЛП-1 либо ограничения x2 £ 1, х2 ³ 2. Таким образом, из задачи ЛП-1 получаются две задачи следующего вида (ЛП-2 и ЛП-3):
ЛП-2 ЛП-3
F() = 3*x1 + 2*x2 ® max F(
) = 3*x1 + 2*x2 ® max
При ограничениях при ограничениях
X1 + x2 £ 3,5 x1 + x2 £ 3,5
X1 £ 2 x1 £ 2
X2 £ 2 x2 £ 2
X2 £ 1 х2 ³ 2
X1, х2 ³ 0. x1, х2 ³ 0.
На рис. 5.2 и 5.3 изображены допустимые области задач ЛП-2 и ЛП-3 соответственно. (Заметим, что допустимая область задачи ЛП-3 представляет собой просто отрезок АВ).
Рис. 5.2. Решение задачи ЛП-2
Рис. 5.3. Решение задачи ЛП-3
Оптимальное решение задачи ЛП-2 (рис. 5.2) – точка х1 = 2, х2 = 1, где F() = 8. Таким образом, получено допустимое (целочисленное) решение исходной задачи ЦЛП. Зафиксируем это целочисленное решение. Пусть Z0 = 8. Даже если ЛП-2 имеет другие целочисленные решения, значение целевой функции в них не может быть больше 8. Таким образом, значение Z0 = 8 представляет собой текущую нижнюю границу максимального значения F
. Поскольку ранее была получена верхняя граница, равная 9, нельзя утверждать, что решение ЛП-2 оптимально для исходной задачи. Следовательно, необходимо также рассмотреть задачу ЛП-3.
Оптимальное решение задачи ЛП-3 (рис. 5.3): х1 = 1,5; х2 = 2; F() = 8,5. Для исходной задачи ЦЛП это решение недопустимо, поскольку х1 принимает дробное значение. Оптимальное значение F(
) = 8,5 задачи ЛП-3 больше ранее полученной нижней границы
= 8, поэтому необходимо проверить существование в допустимой области задачи ЛП-3 целочисленного решения, дающего значение целевой функции F
> 8. Для этого рассматриваются задачи ЛП-4 и ЛП-5, получающиеся при добавлении к ЛП-3 ограничений х1 £ 1 и х1 ³ 2 соответственно.
ЛП-4 ЛП-5
F() = 3*x1 + 2*x2 ® max F(
) = 3*x1 + 2*x2 ® max
При ограничениях при ограничениях
X1 + x2 £ 3,5 x1 + x2 £ 3,5
X1 £ 2 x1 £ 2
X2 £ 2 x2 £ 2
Х2 ³ 2 х2 ³ 2
X1 £ 1 х1 ³ 2
X1, х2 ³ 0. x1, х2 ³ 0.
Допустимая область задачи ЛП-4 состоит из отрезка ДЕ, показанного на рис. 5.4; задача ЛП-5 не имеет допустимых решений.
Рис. 5.4. Решение задачи ЛП-4
Оптимальное решение задачи ЛП-4 имеет вид: х1 = 1, х2 = 2; F() = 7, следовательно, для любого целочисленного решения в допустимой области ЛП-3 значение целевой функции не превосходит 7. Так как F(
) меньше ранее полученной нижней границы, то
= 8 не изменяется. Таким образом, точка х1 = 2, х2 = 1 (решение задачи ЛП-2) представляет собой оптимальное целочисленное решение исходной задачи; оптимальное значение целевой функции в этой точке равно
= 8.
Удобно представить последовательность задач ЛП, возникающих при использовании процедуры метода ветвей и границ, в виде сети или дерева, изображенного на рис. 5.5 – сеть или дерево состоит из множества вершин и соединяющих их дуг или ветвей.
Рис. 5.5
Каждая вершина представляет собой либо начальную, либо конечную точку некоторой ветви. Вершина 1 на рис. 5.5 соответствует задаче ЛП-1, получаемой при отбрасывании требования целочисленности переменных. Ветвление в вершине 1, определяемое целочисленной переменной х2 с помощью ограничения х2 £ 1, приводит к вершине 2 (ЛП-2). Поскольку задача ЛП-2 имеет оптимальное целочисленное решение, нет необходимости производить ветвление в вершине 2. В этом случае говорят, что рассматриваемая вершина прозондирована. Ветвление в вершине 1 по ограничению х2 ³ 2 дает ЛП-3 (вершина 3). Поскольку оптимальное решение ЛП-3 является дробным и F() >
, происходит дальнейшее ветвление в вершине 3 по целочисленной переменной х1. Таким образом, появляются вершины 4 и 5. Эти вершины являются прозондированными, поскольку ЛП-4 обладает целочисленным решением, а задача ЛП-5 не имеет допустимых решений. Наилучшее решение из полученных в прозондированных вершинах представляет собой оптимальное решение исходной задачи.
< Предыдущая | Следующая > |
---|