Загрузить архив: | |
Файл: ref-14167.zip (56kb [zip], Скачиваний: 71) скачать |
Министерство образования Р.Ф.
Тюменский государственный нефтегазовый университет
Институт нефти и газа
Кафедра менеджмента
В отраслях ТЭК
Контрольная работа по
Дисциплине «Экономическая математика, методы и модели»
Вариант №4
Выполнил: студент гр.
МОс2 Ваганова А.Р.
Проверил: Захаров А.В
Тюмень 2002 г.
Метод ветвей и границ. Рассмотрим задачу, состоящую в определении максимального значения функции
при условиях
Как и при решении сформулированной задачи методом Гомори, первоначально находим симплексным методом искусственного базиса оптимальный план задачи без учета целочисленности переменных. Пусть им является план X0. Если среди компонент этого плана нет дробных чисел, то тем самым найдено искомое решение задачи и
Если же компонент плана Х0 имеются дробные числа, то Х0 не удовлетворяет условию целочисленности и необходимо осуществить упорядоченный переход к новым планам, пока не будет найдено решение задачи. Покажем, как это можно сделать, предварительно отметив, что для всякого последующего плана Х.
Предполагая, что найденный оптимальный план Х0 не удовлетворяет условию целочисленности переменных, тем самым считаем, что среди его компонент есть дробные числа. Пусть например переменная приняла в плане Х0 дробное значение. Тогда в оптимальном целочисленном плане её значение будет по крайней мере либо больше, либо меньше или равно ближайшему меньшему целому числу числу
Найдем рассмотренными выше
методами решение задач линейного программирования (I) и (II). Очевидно, здесь возможен один из следующих 4:
1.
2. (I) и (II).
3. решение.
Если же значение целевой функции больше на плане, среди компонент которого есть дробные числа, то следует взять одно из таких чисел и для задачи, план которой рассматривается, необходимо построить две задачи, аналогичные (I) и (II).
4. I) и (II).
Таким образом, описанный выше интеграционный процесс может быть представлен в виде некоторого дерева, на котором исходная вершина отвечает оптимальному плану Х0задачи (32)-(34), а каждая соединенная с ней ветвью вершина отвечает оптимальным планам задач (I) и (II). Каждая из этих вершин имеет свои ветвления. При этомна каждом шаге выбирается та вершина, для которой значение является наибольшим. Если на некотором шаге будет получен план, имеющий целочисленные компоненты, и значение функции на нем окажется больше или равно, чем значение функции в других возможных для ветвления вершинах, то данный план является оптимальным планом исходной задачи целочисленного программирования и значение целевой функции на нем является максимальным.
Итак, процесс нахождения решения задачи целочисленного программирования (32)-(35) методом ветвей и границ включает следующие этапы:
10 Находят решение задачи линейного программирования (32)-(34)
20 Составляют дополнительные ограничения для одной из переменных, значение которой в оптимальном плане задачи (32)-(34) является дробным числом.
30 Находят решения задач (I) и (II), которые получаются из задачи (32)-(34) в результате присоединения дополнительных ограничений.
40 В случае необходимости составляют дополнительные ограничения для переменной, значение которой является дробным, формулируют задачи, аналогичные задачам (I) и (II), и находят их решение. Интеграционный процесс продолжают до тех пор, пока не будет найдена вершина, соответствующая целочисленному плану задачи (32)-(34) и такая, что значение в этой вершине больше или равно значению функции в других возможных для ветвления вершинах.
Описанный выше метод ветвей и границ имеет более простую логическую схему расчетов, чем рассмотренный выше метод Гомори. Поэтому в большинстве случаев для нахождения решения конкретных задач целочисленного программирования с использованием ЭВМ применяется именно этот метод. В частности в рассмотренном выше ППП «Линейное программирование в АСУ» для отыскания целочисленного решения конкретных задач используется метод ветвления и границ.
2.51 Методом ветвей и границ найти решение задачи, состоящей в определении максимальногозначения функции
при условиях
xj – целые (j=
Р е ш е н и е. Находим решение сформулированной задачи симплексным методом без учета условия целочисленности переменных. В результате устанавливаем, что такая задача имеет оптимальный план Х0= (18/5, 3/5, 0, 0, 24/5). При этом плане F= (X0)=39/5.
Так как в плане Х0 значения трех переменных являются дробными числами, то Х0 не удовлетворяет условию целочисленности, и следовательно, не является оптимальным планом исходной задачи.
Возьмемкакую-нибудь переменную, значение которой является дробным числом, например х1. Тогда эта переменная в оптимальном плане исходной задачи будет принимать значение, либо меньшее или равное трём:
Рассмотрим две задачи линейного программирования:
(I) (II)
Задача (I) имеет оптимальный план на котором значение целевой функции II) неразрешима.
Исследуем задачу (I). Так как среди компонент оптимального плана этой задачи есть дробные числа, то для одной из переменных, например x2, вводим дополнительные ограничения:
Рассмотрим теперь следующие две задачи:
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 равным некоторому числу t0, находим решение полученной задачи линейного программирования (60)-(62). При данном значении параметра t0 либо определяем оптимальный план, либо устанавливаем неразрешимость задачи. В первом случае найденный план является оптимальным для любого, где
и числа qiи pi определены компонентами оптимального плана и зависят от t0:
Если при t = t0 задача (60)-(62) неразрешима, то,либо целевая функция задачи (60) не ограничена на множестве планов, либо система уравнений не имеет неотрицательных решений. В первом случае задача неразрешима для всех
После определения промежутка, в котором задача (60)-(62) имеет один и тот же оптимальный план или неразрешима, выбираем новое значение параметра t, не принадлежащее найденному промежутку, и находим решение полученной задачи линейного программирования. При этом решение новой задачи ищем с помощью действенного симплекс-метода. Продолжая итерационный процесс, после конечного числа шагов получаем решение задачи (60)-(62).
Итак, процесс нахождения задачи (60)-(62) включает следующие основные этапы:
10. Считая значение параметра t равным некоторому числу
20. Находят значения параметра
30. Выбирают значения параметра t из оставшейся части промежутка и устанавливают возможность определения нового оптимального плана находят его двойственным симплекс-методом.
40. Определяют множество значений параметра 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-3tt0;
13+tили при Таким образом, если то
Исследуем теперь, имеет ли задача оптимальные планы при 5-3t<0 и следовательно, X=(0,5 – 3t, 7+4t, 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+2t |
0 |
2 |
1 |
0 |
½ |
2 |
Р4 |
0 |
18-2t |
0 |
1 |
0 |
1 |
1 |
3 |
Р1 |
3 |
-5+3t |
1 |
-1 |
0 |
0 |
-½ |
4 |
70-t |
0 |
9 |
0 |
0 |
5 |
Как видно из табл. 2.42, t, при которых Следовательно, если
Если t>17/2, то t есть отрицательное число. Поскольку среди элементов 1-й строки табл. 2.42 нет отрицательных при t>17/2 исходная задача неразрешима.
Исследуем теперь разрешимость задачи при t< -7/4. В этом случае Х= (0,5 -3t, 7+4t, 13+t, 0) (см. табл.2.41) не является планом задачи, так как третья компонента 7+4tесть отрицательное число. Чтобы при данном значении параметра найти оптимальный план (это можно сделать, так как в строке вектора Р3 стоит отрицательное число -1/2), нужно исключить из базиса вектор Р3 и ввести в базис вектор Р5(табл. 2.43).
Таблица 2.43
i |
Базис |
Сб |
Р0 |
3 |
-2 |
5 |
0 |
-4 |
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
||||
1 |
Р5 |
-4 |
-14-8t |
-4 |
0 |
-2 |
0 |
1 |
2 |
Р4 |
0 |
20+5t |
3 |
0 |
1 |
1 |
0 |
3 |
Р2 |
-2 |
12+t |
1 |
1 |
1 |
0 |
0 |
4 |
32+30t |
11 |
11 |
1 |
0 |
0 |
Как видно из табл. 2.43, является оптимальным планом задачи для всех значений параметра t, при которых
Таким образом, если
Из табл. 2.43 так же видно, что при t<4 задача неразрешима, поскольку в строке вектора Р4 нет отрицательных элементов.
Итак, если если если