-x1+x3+x4≤5; (2.5)
-3x1+5x4≤7.
Требуется минимизировать линейную функцию
Z=5x1-2x3
Приводя неравенства к стандартному виду (≥0) и вводя добавочные переменныеy1,y2,y3переходим к условиям-равенствам:
y1=5x1+x2-2x3+2
y2=x1-x3-x4+5 (2.5)
y3=3x1-5x4+7
Число переменных (n = 7) на 4 превышает число уравнений (т = 3). Значит, четыре переменные могут быть выбраны в качестве свободных.
Пусть в качестве свободных переменных выступаютx1,x2,x3,x4. Положим их равными нулю и получим опорное решение:
x1=x2=x3=x4=0;
y1=2, y2=5, y3=7.
При этих значениях переменных Z= 0.
Это решение не оптимально, поскольку в линейной функции Z коэффициент приx3отрицателен. Значит, увеличиваяx3можно уменьшить Z.
Попробуем увеличиватьx3.Из выражений (2.5) видно, что вy1и y2переменнаяx3входит с отрицательным коэффициентом, значит, при увеличенииx3соответствующие переменные могут стать отрицательными.
Определим, какая из этих переменных (y1илиy2)раньше обратится в нуль при увеличенииx3Очевидно, что этоy1она станет равной нулю приx3=1, а величинаy2— только приx3= 5.
Выбирается переменная у, и вводится в число свободных вместоx3Чтобы разрешить систему (2.5) относительноx3, y2, y3поступим следующим образом. Разрешим первое уравнение (2.5) относительно новой базисной переменнойx3:
x3=5/2*x1+1/2*x2-1/2*y1+1
Это выражение подставляется вместоx3во второе уравнение:
x3=5/2*x1+1/2*x2-1/2y1+1;y2=-3/2*x1-1/2*x2+1/2*y1-x4+4; (2.6)
y3=3x1-5x4+7.
Что касается третьего уравнения, то оно, как не содержащееx3не изменится. Система (2.2) приведена к виду со свободными переменнымиx1, x2, y1, x4и базиснымиx3, y2, y3.
Положим теперь свободные переменные равными нулю. Функция приобретает значение Z=-2, что меньше (лучше), чем прежнее значение Z= 0.
Это решение все еще не оптимально, так как коэффициент приx2в выражении (2.7) отрицателен, и переменнаяx2может быть увеличена. Это увеличение, как это видно из системы (2.6), может сделать отрицательнойy2(в первое уравнениеx2входит с положительным коэффициентом, а в третьем — отсутствует).
Поменяем местами переменныеx2 и y2— первую исключим
из числа свободных, а вторую — включим. Для этого разрешим второе уравнение (2.6) относительноx2и подставимx2в первое уравнение. Получим следующий вид системы (2.5):
x3=x1-y2-x4+5y2=-3x1-2y2+y1-2x4+8 (2.7)
y3=3x1-5x4+7
Выразим Z через новые свободные переменные:
Z=3x1+2y2-y1+2x4-8+y1-2=3x1+2y2+2x4-10 (2.8)
Полагаяx1=y1=y2=x4=0 , получим Z = -10.
Это решение является оптимальным, так как коэффициенты при всех свободных переменных в выражении (2.8) неотрицательны. Итак, оптимальное решение ОЗ найдено (2.9):
x1*=0, x2*=8, x3*=5, x4*=0, y1*=0, y2*=0, y3*=7. (2.9)
При таких значениях переменных линейная функция Z принимает минимальное значение (2.10):
Zmin=-10 (2.10)
Заметим, что в рассмотренном примере нам не пришлось искать опорное решение: оно сразу же получилось, когда мы положили свободные переменные равными нулю. Это объясняется тем, что в уравнениях (2.5) все свободные члены были неотрицательны и, значит, первое же попавшееся решение оказалось опорным. Если это окажется не так, можно будет прийти к опорному решению с помощью такой же процедуры обмена местами некоторых базисных и свободных переменных, повторно решая уравнения до тех пор, пока свободные члены не станут неотрицательными
2.4 Двойственная задача
Использование идей двойственности в сочетании с общей идеей симплекс-метода позволило разработать еще один метод решения задач ЛП - двойственный симплекс-метод. Впервые этот метод был предложен Лемке в 1954г. Решение задачи ЛП двойственным симплекс-методом сводится к отысканию оптимального плана прямой задачи последовательным переходом от одного базиса к другому.
Задача ЛП в канонической форме имеет вид:
максимизировать L(x) = сумма от j=1 до n (сjчj)
при условиях:
сумма от j=1 до n (аjXj)=bv, (v=1,2,....m)
или
сумма от j=1 до n (АjXj)=b, xj>=0, j=1,2,...n
Составим двойственную задачу по условиям прямой задачи и определим области допустимых решений ДП:
Прямая задача Двойственная задача
maxZ=x1-3x3-3x4-MR1-MR2
y1: x1+2x3-2x4+x5=4
y2: 3x1-4x3+4x4+R1=11
y3: x1+x3-x4-x6+R2=0
minW=4y1+12y2
x1: y1+3y2+y3≥1
x3: 2y1-4y2+y3≥-3
-2y1+4y2-y3≤3(1)
X4: -2y1+4y2-y3≥3 (2)
X5: y1≥0
X6: -y3≥0 => y3≤0
R1: y2≥-M
R2: y3≥-M
Итак, получено: y1≥0,y2≤≥0 ,y3≤0.
2. Приведём запись двойственной задачи к канонической форме. На основании полученных ОДР двойственных переменных введём необходимые подстановки:y2=y4-y5; y3=-ỹ3; ỹ3,y4,y5≥0
Для удобства решения свернём ограничения (1) и (2) в одно со знаком равенства, а также введем в ограничения и целевую функцию избыточные, остаточные и искусственные переменные.
minW=4y1+12y4-12y5+MR1+MR2
y1+3y4-3y5-ỹ3-y6+R1=1 (3)
-2y1+4y4-4y5+ỹ3+R2=3 (4)
3. Решим ДЗ симплекс методом:
Из (3) выразим: R1=1-y1-3y4+3y5+ỹ3+y6
Из (4) выразим:R2=3+2y1-4y4+4y5-ỹ3
W+y1(-4-M)+y4(-12+7M)+y5(12-7M)-My6=4M
Создаём симплекс-таблицы:
Таблица 2.2 – симплекс-таблица №1W | y1 | y4 | y5 | ỹ3 | y6 | R1 | R2 | ПЧ | |
W | 1 | -4-M | 7M-12 | 12-7M | 0 | -M | 0 | 0 | 4M |
R1 | 0 | 1 | 3 | -3 | -1 | -1 | 1 | 0 | 1 |
R2 | 0 | -2 | 4 | -4 | 1 | 0 | 0 | 1 | 3 |
B-1(0)=
B(0)=Таблица 2.3 – симплекс-таблица №2
W | y1 | y4 | y5 | ỹ3 | y6 | R1 | R2 | ПЧ | |
W | 1 | -10/3M | 0 | 0 | 7/3M-4 | 4/3M-4 | -7/3M+4 | 0 | 5/3M+4 |
y4 | 0 | 1/3 | 1 | -1 | -1/3 | -1/3 | 1/3 | 0 | 1/3 |
R2 | 0 | -10/3 | 0 | 0 | 7/3 | 4/3 | -4/3 | 1 | 5/3 |
B-1(1)=
B(1)=Таблица 2.4 – симплекс-таблица №3
W | y1 | y4 | ỹ5 | ỹ3 | y6 | R1 | R2 | ПЧ | |
W | 1 | -40/7 | 0 | 0 | 0 | -12/7 | -7/3M+4 | -M+12/7 | 48/7 |
y4 | 0 | -1/7 | 1 | -1 | 0 | -1/7 | 1/3 | 1/7 | 4/7 |
ỹ3 | 0 | -10/7 | 0 | 0 | 1 | 4/7 | -4/3 | -3/7 | 5/7 |
Симплекс-таблица №3 – оптимальная, т. к. коэффициенты приНБП≥0
minW=48/7, maxZ=minW=48/7,
y1*=0, y2*=y4*-y5*=4/7, y3*=-5/7
Двухфазовый симплекс метод, иначе называют методом искусственного базиса:
Если в условии задачи линейного программирования не все ограничения представлены неравенствами типа «≤», то далеко не всегда нулевой вектор будет допустимым решением. Однако каждая итерация симплекс-метода является переходом от одной вершины к другой, и если неизвестно ни одной вершины, алгоритм вообще не может быть начат.
Процесс нахождения исходной вершины не сильно отличается от однофазного симплекс-метода, однако может в итоге оказаться сложнее, чем дальнейшая оптимизация. Из изложенного выше не прозвучало отчетливо почему если ограничения отличается от <= не всякий 0-вектор будет допустимым решением. В самом деле пусть i - уравнение имеет вид Ai1X1+...AinXn>=Bi но просто можно изменить знаки записав -Ai1X1- ... AinXn<=-Bi и тем самым привести все неравенства к канонической форме. Это было бы нельзя сделать если бы на вектор B было наложено условие неотрицательностиBi>=0 Но в формулировке выше ограничения вектор B отсутствуют. (это очевидная неточность для теоретической статьи в энциклопедии, где все предпосылки должны формулироваться полно) Если бы все было так просто и легко, непонятно зачем изобретали двухфазный метод... Кроме того по этой же причине классический симплекс метод не годится для решения задачи Min F (точнее не годится в случае положительности всех коэфф целевой функции, т.к. тогда метод не сделает ни одной итерации).