Смекни!
smekni.com

Симплексный метод решения ЗЛП (стр. 4 из 5)

-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+5

y2=-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 – симплекс-таблица №1
W 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 (точнее не годится в случае положительности всех коэфф целевой функции, т.к. тогда метод не сделает ни одной итерации).