Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика № 4, 5, 6. Симплекс-метод решения задачи линейного программирования. Хасанов А. Ю.doc
Скачиваний:
43
Добавлен:
25.05.2014
Размер:
70.14 Кб
Скачать

Решение

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

z = – 2x1 – x2  min

x1 – x2 + x3 = 10

x1 + x4 = 20 (10)

xj >= 0, j = 1,2,3,4

Выберем в качестве базисных переменные x3 и x4 , а в качестве свободных переменные x1 и x2. Тогда базисные выражаются через свободные следующим образом:

х3 = - x1 + x2 + 10 (11)

x4 = - x1 + 20

Этому набору свободных и базисных переменных соответствует базисное решение: x1 = x2 = 0, x3 = 10, x4 = 20.

Это решение является допустимым базисным решением. Значение целевой функции z равно 0 для этого решения, но это решение не является оптимальным, т.к. коэффициенты при свободных переменных x1 и x2 в целевой функции, выраженной через них, являются отрицательными.

Таким образом, целевую функцию z мы можем уменьшить, увеличивая как переменную x1 , так и x2. Но надо выбрать только одну. Выберем ту, коэффициент которой в целевой функции максимален по абсолютной величине. Этот выбор обеспечивает наибольшее увеличение z при одинаковом изменении альтернативных переменных x1 и x2.

Итак, переменную x1 переведем в базисные. Тогда изменение бывших базисных переменных x3 и x4 при увеличении x1 определяется формулами

х3 = - x1 + 10

x4 = - x1 + 20

Отсюда видно, что свободной переменной вместо x1 будет x3. Тогда новые базисные переменные x1 и x4 выражаются через новые свободные x2 и x3 следующим образом:

x1 = x2 – x3 + 10

x4 = –x2 + x3 + 10 (12)

Эти формулы получены из (11), где уравнение, соответствующее x3 , разрешается относительно новой базисной переменной x1 и полученное выражение подставляется в остальные уравнения системы (11).

Целевая функция, выраженная через новые свободные переменные, имеет вид:

z = – 2x1 – x2 = –2(x2 – x3 + 10) – x2 = – 3x2 + 2x3 – 20

Этому набору свободных и базисных переменных соответствует базисное решение: x2 = x3 = 0, x1 = 4, x4 = 20, и при этом z = – 20.

Это решение не является оптимальным, ибо коэффициент в целевой функции при переменной x2 отрицательный. Следовательно, увеличивая x2 мы можем уменьшить значение целевой функции. Посмотрим, как при этом изменяются базисные переменные x1 и x4. Из системы уравнений (12) вытекает

x1 = x2 + 10

x4 = –x2 + 10

Ясно, что переменные x2иx4меняются местами, т.е. новой свободной переменной вместоx2будетx4. Из уравнения, соответствующегоx4, системы (12), найдем выражение базисной переменнойx2через новые свободныеx3иx4. Подставив это выражение в остальные уравнения системы (12), получим

х1 = –x4 + 20

x2 = x3 – x4 + 10

Целевая функция z, выраженная через новые свободные переменныеx3иx4, выглядит так:

z = – 3x2 + 2x3 – 20 = –3(x3 – x4 + 10) + 2 x3 – 20 = – x3 + 3x4 – 50

Допустимое базисное решение, соответствующее этому набору свободных и базисных переменных, имеет вид: x3 = x4 = 0, x1 = 20, x2 = 10. Но это решение, тоже, не является оптимальным, ибо коэффициент при x3 в z отрицателен. Поэтому при увеличении x3 целевая функция z будет уменьшаться. При этом базисные переменные x1 и x2 будут изменяться в соответствии с выражениями:

х1 = 20

x2 = x3 + 10

Но эти выражения показывают, что при любом увеличении переменной x3 базисные переменные x1 и x2 остаются неотрицательными, т.е. x3 можно увеличивать сколько угодно. А так при этом целевая функция z уменьшается до минус бесконечности, то, следовательно, задача оптимального решения не имеет.

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

7