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 не имеет допустимых решений. Наилучшее решение из полученных в прозондированных вершинах представляет собой оптимальное решение исходной задачи.
< Предыдущая | Следующая > |
---|