
- •Часть I: линейная задача оптимизации и ее приложения. Глава II специальные задачи линейного программирования.
- •Задачи для самостоятельного решения
- •II.4. Метод ветвей и границ в задачах целочисленного программирования.
- •II. 4.1. Алгоритм метода ветвей и границ.
- •II. 4.2. Правила ветвления.
- •II. 4.3. Два правила выбора вершины задачи лп для дальнейшего ветвления.
- •II. 4.4. Некоторые рекомендации по формулировке и решению задач цлп.
II. 4.1. Алгоритм метода ветвей и границ.
Рассмотрим частично целочисленную задачу вида:
при
ограничениях:
целые
для
Здесь
множество
индексов целочисленных переменных.
Шаг
I:
решить сформулированную задачу как
задачу ЛП, рассматривая все ее переменные
как непрерывные. Отбрасывая условия
целочисленности переменных, прийти к
задаче ЛП I, оптимальное решение которой
дает значение целевой функции:
тогда
считается
верхней границей значений функции
,
если при этом какая-либо из переменных
принимает дробное значение.
Шаг II: ветвление по одной из целочисленных переменных, имеющих дробное значение в оптимальном решении ЛП I.
II. 4.2. Правила ветвления.
Выбор целочисленной переменной, значение которой в оптимальном решении ЛП I имеет наибольшее дробное значение.
2. Приписывание целочисленным переменным приоритетов и ветвление по переменной с наибольшим приоритетом. Важность целочисленной переменной может определяться следующими соображениями:
данная переменная представляет важное решение, принимаемое в рамках рассматриваемой модели;
ее коэффициент стоимости или прибыли в целевой функции существенно превосходит остальные;
значение данной переменной играет ключевую роль для модели;
произвольные правила: например, с наименьшим номером.
Шаг
III:
ветвление происходит по переменной
,
дробное значение которой в оптимальном
решении ЛП I равно
.
Далее рассматриваются две новых задачи
ЛП II и ЛП III, которые получаются путем
введения дополнительного ограничения:
наибольшее
целое
и
наименьшее
целое
Шаг IV: ветвление в ЛП II или ЛП III и так далее.
II. 4.3. Два правила выбора вершины задачи лп для дальнейшего ветвления.
Здесь мы приведем два основных правила выбора вершины задачи ЛП для дальнейшего ветвления.
10. Использование оптимального значения целевой функции. Следует выбирать вершину, соответствующую оптимальному значению целевой функции. Обоснованием служит то соображение, что допустимая область задачи ЛП с наибольшим значением целевой функции может содержать и хорошее целочисленное решение.
20. “Последним пришел - первым обслужен”. Для дальнейшего ветвления выбирается задача ЛП, решавшаяся последней.
II. 4.4. Некоторые рекомендации по формулировке и решению задач цлп.
Количество целочисленных переменных следует уменьшить на сколько это возможно.
По возможности получить “близкие” друг другу верхнюю и нижнюю границы.
Чем больше ограничений, тем меньше время обработки задачи и ее решения.
Можно допускать погрешность:
5. Ветвление в порядке приоритетов.
В качестве упражнений, выполните задания п. II.2. Заметим, что эти задачи ввиду своей малой размерности позволяют выполнить вычисления вручную. Однако мы рекомендуем для расчетов дополнительно использовать вычислительную технику, например, вычислительные средства пакета прикладных программ “научного менеджмента” QSB.
1 Для удобства записи, здесь симплекс-таблицы записываются в несколько ином виде, что принципиально несущественно.
2 Здесь умышленно рассматривается случай двух переменных, для того чтобы не обременять решение задачи излишними математическими выкладками, связанными с применением симплекс-метода.
3
В
самом деле, целочисленная точка является
внутренней точкой ОДР исходной задачи
и для того, чтобы попасть в нее необходимо
осуществить движение в направлении
обратном
,
что приведет к уменьшению значения
целевой функции.