Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ по МЗЭ.doc
Скачиваний:
47
Добавлен:
01.05.2019
Размер:
19.6 Mб
Скачать

2.4. Симплекс метод решения задачи

линейного программирования

Геометрическая интерпретация при решении задач линейного программирования перестает быть пригодной для этой цели при числе свободных переменных n –m > 3, а затруднительной уже при n –m = 3.

Для нахождения задачи линейного программирования в общем случае применяются не геометрические, а вычислительные методы. Из них наиболее универсальным является так называемый с и м п л е к с – м е т о д.

Пусть в задаче имеется n переменных и m независимых линейных ограничений, заданных в форме уравнений. Известно, что оптимальное решение (если оно существует) достигается в одной из опорных точек (вершин ОДР), где по крайней мере k = n -- m из переменных равны нулю. Выберем какие-то k переменных в качестве свободных и выразим через них остальные m базисных переменных. Пусть, например, в качестве свободных выбраны первые k = n -- m переменных х12, . . . . . х k , а остальные через них:

xk+1 = α k+1,1 x 1 + α k+1,2 x 2 + . . . . .+ α k+1,k x k + β k+1 ,

xk+2 = α k+2,1 x 1 + α k+2,2 x 2 + . . . . .+ α k+2,k x k + β k+2 , (2.10)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . .. . . ..

x n = α n,1 x 1 + α n,2 x 2 + . . . . .+ α n,k x k + β n .

Попробуем, что будет, если положить все свободные переменные х12, . . . . . х k равными нулю:

х1 = 0, х2 = 0 , . . . . ., х k = 0.

При этом получим:

x k=1 = β k+1 , x k=2 = β k+2 , . . . . , x n = β n .

Это решение может быть допустимым или недопустимым. Оно допустимо, если все свободные члены неотрицательны. Предположим, что это условие выполнено. Тогда мы получили о п о р н о е р е ш е н и е. Но является ли оно оптимальным? Чтобы это проверить, выразим минимизируемую линейную функцию L через свободные переменные х12, . . . . . х k :

L = γ0 + γ1 х 1 + γ2 х 2 + . . . . + γk х k . (2.11)

Очевидно, что при х1 = х2 = . . . . .= х k = 0 L = γ0 . Посмотрим, не можем ли мы улучшить решение, т.е. уменьшить функцию L , у в е л и ч и в а я какие-нибудь из переменных х12, . . . . . х k (уменьшать мы их не можем, т.к. все они равны нулю, а отрицательные значения переменных недопустимы). Если все коэффициенты γ1, γ2, . . . . . γ k в выражении (2.11) п о л о ж и т е л ь н ы , то, увеличивая какие-то из переменных х12, . . . . . х k сверх нуля, мы не можем уменьшить L; следовательно найденное нами опорное решение является о п т и -м а л ьн ы м. Если же среди коэффициентов γ1, γ2, . . . . . γ k в выражении (2.11) есть отрицательные, то, увеличивая некоторые из переменных х12, . . . . . х k , а именно –те, коэффициенты при которых отрицательны, мы можем улучшить решение, т.е. уменьшить L.

Пример 3. Имеется задача линейного программирования с ограничениями-неравенствами:

--5х1 -- х2 + 2х3 ≤ 2,

--х1 + х3 + х4 ≤ 5 , (2.12)

--3х1 + 5 х2 ≤ 7.

Требуется минимизировать линейную функцию

L = 5х1 -- 2х3 .

Решение. Приводя неравенства к стандартному виду (≥ 0 ) и вводя добавочные переменные y1, y2 , y3, переходим к условиям-равенствам:

y1 = 5х1 + х2 -- 2х3 + 2,

у2 = х1 -- х3 -- х4 + 5 , (2.13)

у3 = 3х1 -- 5 х2 + 7.

Число переменных n = 7 на 4 превышает число уравнений m = 3. Значит, четыре переменных могут быть выбраны в качестве свободных.

Попробуем выбрать в качестве свободных переменных х1, х 2 , х 3, х4 и положить их равными нулю . При этом получим опорное решение

х1 = х 2 = х 3 = х4 = 0; у1 = 2; у2 = 5; у3 = 7.

При этих значениях переменных L = 0.

Посмотрим, является ли это решение оптимальным ? Нет ! Потому что в выражении линейной функции L коэффициент при х 3 отрицателен. Значит, увеличивая х 3 , можно уменьшить L .

Попробуем увеличивать х 3 . Проследим по по уравнениям (2.13), опасно ли это для других переменных ? Да, опасно для y1 и у2 -- в оба эти уравнения переменная х 3 с отрицательным коэффициентом, значит, при увеличении х 3 соответствующие переменные y1 и у2 могут стать отрицательными.

Посмотрим, какая из этих переменных y1 или у2 раньше обратится в нуль при увеличении х 3 . Очевидно, y1 ; она станет равной нулю при х 3 = 1, а у2 -- только при х 3 = 5.

Поэтому выбираем переменную y1 и вводим ее в число свободных вместо х 3 . Чтобы «переразрешить» систему (2.13) относительно х 3 , у2 , у3 , поступим следующим образом . Разрешим первое уравнение (2.13) относительно новой базисной переменной х 3 :

х 3 = 5/2 х1 + ½ х2 -- ½ y1 .

Это выражение вместо х 3 подставим во второе уравнение; получим

у2 = -- 3/2 х1 -- ½ х2 + ½ у1 --х4 + 4.

Что касается третьего уравнения, то оно, как не содержащее х 3 , не изменится. Итак, мы привели систему (2.13) к виду:

х 3 = 5/2 х1 + ½ х2 -- ½ y1 ,

у 2 = -- 3/2 х1 -- ½ х2 + ½ у1 -- х4 + 4 , (2.14)

у3 = 3х1 -- 5 х2 + 7

со свободными переменными х1, х2, у1, х4 и базисными х 3 , у 2 , у3.

Выразим линейную функцию L через новые свободные переменные:

L = 5х1 -- 5х1 -- х2 + у1 -- 2,

или

L = -- х2 + у1 -- 2. (2.15)

Положим теперь свободные переменные равными нулю. Линейная функция L станет равной –2. Это уже лучше, чем прежнее значение L = 0. Но является ли это решение оптимальным ? Все еще нет , т.к. коэффициент при х2 в выражении (2.15) отрицателен. Итак, будем увеличивать х2 . Посмотрим, для какой из переменных , стоящих в левых частях системы (2.14) , это может быть «опасно». Только для у 2 ( в первое уравнение х2 входит с положительным коэффициентом, а в третье совсем не входит).

Итак, обменяем местами переменные х2 и у 2 -- первую выведем из числа свободных , а вторую - введем. Для этого разрешим второе уравнение (2.14) относительно х2 и подставим это х2 в первое уравнение. Получим еще один вид системы (2.13):

х3 = х1 -- у 2 -- х4 + 5;

х2 = -- 3х1 -- 2у2 + у1 --2х4 + 8; (2.16)

у3 = 3х1 -- 5 х4 + 7.

Выразим L через новые свободные переменные:

L = 3х1 + 2у2 -- у1 + 2 х4 -- 8 + у1 -- 2,

или

L = 3х1 + 2у2 + 2х4 -- 10. (2.!?)

Полагая х1 = у1 = х4 = 0, получим

L = -- 10.

Является ли это решение оптимальным? На этот раз - да, так как коэффициенты всех свободных переменных в выражении (2.17) неотрицательны.

Итак, оптимальное решение ОЗЛП найдено:

х1* = 0, х2* = 8, х3* = 5, х4* = 0, у1* = 0, у2 = 0; у3 = 7.

При таких значениях переменных линейная функция принимает минимальное значение:

Lmin = --10.

Заметим , что в рассмотренном примере нам не пришлось искать опорного решения: оно сразу же получилось, когда мы положили свободные переменные равными нулю. Это объясняется тем, что в уравнениях (2.13) все свободные члены были неотрицательны и, значит, первое же попавшееся оказалось опорным. Если это окажется не так, можно будет прийти к опорному решению с помощью такой же процедуры обмена местами некоторых базисных и опорных переменных, переразрешая уравнения до тех пор, пока свободные члены не станут отрицательными.

При решении практических задач обычно используется обычно используется табличный алгоритм замены базисных переменных. Процедура «переразрешения» системы уравнений-ограничений ОЗЛП при этом сводится к заполнению стандартных таблиц по определенной системе правил [ Л.6,7,8].