Метод ветвей и границ (контрольная)

Метод ветвей и границ (контрольная)

Покажем, как это можно сделать, предварительно отметив, что для всякого последующего плана Х. Предполагая, что найденный оптимальный план Х 0 не удовлетворяет условию целочисленности переменных, тем самым считаем, что среди его компонент есть дробные числа. Пусть например переменная приняла в плане Х 0 дробное значение. Тогда в оптимальном целочисленном плане её значение будет по крайней мере либо больше, либо меньше или равно ближайшему меньшему целому числу числу Найдем рассмотренными выше методами решение задач линейного программирования ( I ) и ( II ). Очевидно, здесь возможен один из следующих 4: 1. 2. ( I ) и ( II ). 3. решение. Если же значение целевой функции больше на плане, среди компонент которого есть дробные числа, то следует взять одно из таких чисел и для задачи, план которой рассматривается, необходимо построить две задачи, аналогичные ( I ) и ( II ). 4. I ) и ( II ). Таким образом, описанный выше интеграционный процесс может быть представлен в виде некоторого дерева, на котором исходная вершина отвечает оптимальному плану Х 0 задачи (32)-(34), а каждая соединенная с ней ветвью вершина отвечает оптимальным планам задач ( I ) и ( II ). Каждая из этих вершин имеет свои ветвления. При этом на каждом шаге выбирается та вершина, для которой значение является наибольшим. Если на некотором шаге будет получен план, имеющий целочисленные компоненты, и значение функции на нем окажется больше или равно, чем значение функции в других возможных для ветвления вершинах, то данный план является оптимальным планом исходной задачи целочисленного программирования и значение целевой функции на нем является максимальным. Итак, процесс нахождения решения задачи целочисленного программирования (32)-(35) методом ветвей и границ включает следующие этапы: 1 0 Находят решение задачи линейного программирования (32)-(34) 2 0 Составляют дополнительные ограничения для одной из переменных, значение которой в оптимальном плане задачи (32)-(34) является дробным числом. 3 0 Находят решения задач ( I ) и ( II ), которые получаются из задачи (32)-(34) в результате присоединения дополнительных ограничений. 4 0 В случае необходимости составляют дополнительные ограничения для переменной, значение которой является дробным, формулируют задачи, аналогичные задачам (I) и (II), и находят их решение.

Интеграционный процесс продолжают до тех пор, пока не будет найдена вершина, соответствующая целочисленному плану задачи (32)-(34) и такая, что значение в этой вершине больше или равно значению функции в других возможных для ветвления вершинах.

Описанный выше метод ветвей и границ имеет более простую логическую схему расчетов, чем рассмотренный выше метод Гомори.

Поэтому в большинстве случаев для нахождения решения конкретных задач целочисленного программирования с использованием ЭВМ применяется именно этот метод. В частности в рассмотренном выше ППП «Линейное программирование в АСУ» для отыскания целочисленного решения конкретных задач используется метод ветвления и границ. 2.51 Методом ветвей и границ найти решение задачи, состоящей в определении максимального значения функции при условиях x j – целые (j= Р е ш е н и е.

Находим решение сформулированной задачи симплексным методом без учета условия целочисленности переменных. В результате устанавливаем, что такая задача имеет оптимальный план Х 0 = (18/5, 3/5, 0, 0, 24/5). При этом плане F= ( X 0 )=39/5. Так как в плане Х 0 значения трех переменных являются дробными числами, то Х 0 не удовлетворяет условию целочисленности, и следовательно, не является оптимальным планом исходной задачи.

Возьмем какую-нибудь переменную, значение которой является дробным числом, например х 1. Тогда эта переменная в оптимальном плане исходной задачи будет принимать значение, либо меньшее или равное трём: Рассмотрим две задачи линейного программирования: ( I ) ( II ) Задача ( I ) имеет оптимальный план на котором значение целевой функции II ) неразрешима.

Исследуем задачу ( I ). Так как среди компонент оптимального плана этой задачи есть дробные числа, то для одной из переменных, например x 2 , вводим дополнительные ограничения: Рассмотрим теперь следующие две задачи: III ) (IV) Задача ( IV ) неразрешима, а задача ( III ) имеет оптимальный план Таким образом исходная задача целочисленного программирования имеет оптимальный план Х * = (3, 1, 2, 3, 3). При этом плане целевая функция принимает максимальное значение . Схему реализованного выше вычислительного процесса можно представить в виде дерева, ветвями которого являются соответствующие ограничения на переменные, а вершинами – решения соответствующих задач линейного программирования (рис 2.5). Дадим геометрическую интерпретацию решения задачи (50)-(53). На рис. 2.6 показана область допустимых решений задачи (50)-(52). Из него видно, что данная задача имеет оптимальный план не является планом задачи (50)-(53), поскольку три переменные имеют дробные значения.

Возьмем переменную х 1 и рассмотрим задачи ( I ) и (II) . Как видно из рис. 2.7задача ( I ) имеет оптимальный план II ) неразрешима.

Поскольку среди компонент плана 2 и рассмотрим задачи (III) ( IV ). Задача ( III ) имеет оптимальный план IV ) неразрешима (рис. 2.10). Итак, Х * = (3, 1, 2, 3, 3) является оптимальным планом задачи (50)-(53). При этом плане Решение задачи, правые части которых содержат параметр.

Алгоритм решения задачи (60)-(62) подобен рассмотренному выше алгоритму решения задачи (57)-(59). Полагая значение параметра t равным некоторому числу t 0 , находим решение полученной задачи линейного программирования (60)-(62). При данном значении параметра t 0 либо определяем оптимальный план, либо устанавливаем неразрешимость задачи. В первом случае найденный план является оптимальным для любого, где и числа q i и p i определены компонентами оптимального плана и зависят от t 0 : Если при t = t 0 задача (60)-(62) неразрешима, то, либо целевая функция задачи (60) не ограничена на множестве планов, либо система уравнений не имеет неотрицательных решений. В первом случае задача неразрешима для всех После определения промежутка, в котором задача (60)-(62) имеет один и тот же оптимальный план или неразрешима, выбираем новое значение параметра t, не принадлежащее найденному промежутку, и находим решение полученной задачи линейного программирования. При этом решение новой задачи ищем с помощью действенного симплекс-метода.

Продолжая итерационный процесс, после конечного числа шагов получаем решение задачи (60)-(62). Итак, процесс нахождения задачи (60)-(62) включает следующие основные этапы: 1 0 . Считая значение параметра t равным некоторому числу 2 0 . Находят значения параметра 3 0 . Выбирают значения параметра t из оставшейся части промежутка и устанавливают возможность определения нового оптимального плана находят его двойственным симплекс-методом. 4 0 . Определяют множество значений параметра t, для которых задача имеет один и тот же новый оптимальный план или неразрешима.

Вычисления проводят до тех пор, пока не будут исследованы все значения параметра 2.66. Для каждого значения параметра при условиях Р е ш е н и е . Считая значение параметра t в системе уравнений (81) равным нулю, находим решение задачи (80)-(82) (табл. 2. 41). Таблица 2.41

i Базис С б Р 0 3 -2 5 0 -4
Р 1 Р 2 Р 3 Р 4 Р 5
1 Р 3 5 12+t 1 1 1 0 0
2 Р 4 0 8+4t 2 -1 0 1 0
3 Р 5 -4 10-6t -2 2 0 0 1
4 20+29t 10 -1 0 0 0
1 Р 3 5 7+4t 2 0 1 0
2 Р 4 0 13+t 1 0 0 1 ½
3 Р 2 -2 5-3t -1 1 0 0 ½
4 25+26t 9 0 0 0 ½
Как видно из табл. 2.41, t =0 есть оптимальный план задачи.

Однако является оптимальным планом и тогда среди его компонентов не окажется отрицательных чисел, т.е. при 5-3t t 0; 13+ t или при Таким образом, если то Исследуем теперь, имеет ли задача оптимальные планы при 5-3t t , 7+4 t , 13+ t , 0) не является планом задачи.

Поэтому при нужно перейти к новому плану, который был в то же время оптимальным. Это можно сделать в том случае, когда в строке вектора Р 2 имеются отрицательные числа Р 1 и исключаем из него вектор Р 2 (табл. 2.42). Таблица 2.42

i Базис С б Р 0 3 -2 5 0 -4
Р 1 Р 2 Р 3 Р 4 Р 5
1 Р 3 5 17 + 2 t 0 2 1 0 ½
2 Р 4 0 1 8 -2 t 0 1 0 1 1
3 Р 1 3 -5+3 t 1 -1 0 0
4 70- t 0 9 0 0 5
Как видно из табл. 2.42, t , при которых Следовательно, если Если t>17/2, то t есть отрицательное число.

оценка незавершенного строительства в Москве
экспертиза оборудования в Калуге
оценка стоимости аренды помещения в Туле