Смекни!
smekni.com

Графический метод и симплекс-метод решения задач линейного программирования (стр. 3 из 5)

· шаг 0. Определение начального базиса

и соответствующей ему начальной угловой точки (базисного плана)
.

· шаг 1. Проверка текущего базисного плана на оптимальность. Если критерий оптимальности выполнен,топлан оптимален и решение закончено. Иначе переход на шаг 2.

· шаг 2. Нахождение переменной, вводимой в состав базисных. (Из условия увеличения целевой функции).

· шаг 3. Нахождение переменной, исключаемой из состава базисных переменных (Из условия сохранения ограничений задачи).

· шаг4. Нахождение координат нового базисного плана (смежной угловой точки). Переход на шаг 1.

Повторяющиеся шаги 1–4 образуют одну итерацию симплекс-метода.

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

Определение. Будем говорить, что каноническая задача ЛП имеет "предпочтительный вид", если

1. правые части уравнений

,
.

2. матрица условий

содержит единичную подматрицу размера

.

Другими словами, в любом уравнении есть переменная с коэффициентом равным единице, отсутствующая в остальных уравнениях. Первое условие не является обременительным, так как в случае отрицательной правой части некоторого уравнения, достаточно умножить его на (–1). В задаче предпочтительного вида начальный базисный план находится очень просто.

Пример 2.1.

Матрица условий A и вектор правых частей ограничений b имеют вид

,
,

а целевой вектор с = (1, -3, 0, 4, 2).

Сразу очевидна одна базисная матрица:

с единичными векторами условий.

Следовательно, выбирая в качестве базисных переменных x1, x3,x5, и полагая в системе уравнений x2 = x4 = 0 (небазисные переменные), немедленно находим x1 =10,x3 = 20,x5 = 8, так что начальный базисный план x0 = (10, 0, 20, 0, 8).Видим, что значения базисных переменных равны правым частям ограничений. Из этого понятно требование положительности правых частей bi.

В дальнейшем, базисные переменные будем объединять в вектор xБ.

Таким образом, в канонической задаче предпочтительного вида в качестве начальной базисной матрицы берется единичная подматрица AБ = E, а соответствующие ей базисные переменные равны правым частям ограничений:

xБ = b.

Для базисного плана такого вида может быть сформулирован достаточно простой для проверки критерий оптимальности. Введем величины

j = < сБ, Aj > – cj, j = 1,...,n, (2.1)

где сБ – вектор из коэффициентов целевой функции при базисных переменных xБ, Ajj-йстолбец матрицы условий, cjj-й коэффициент целевой функции. Разности j называются симплексными разностями или симплексными оценками.

Критерий оптимальности базисного плана. Если для базисного плана с единичной базисной матрицей все симплексные оценки неотрицательны, то этот план оптимален.

Применим данный критерий для проверки на оптимальность базисного плана x0 = (10, 0, 20, 0, 8) из примера 2.1.

Так как в этом плане вектор базисных переменных xБ =(x1, x3,x5), то сБ = (c1, c3,c5) = (1, 0, 2).

.

Следовательно,

1 = < сБ, A1 > – c1 =1∙1 + 0∙0 + 2∙0 – 1= 0,


2 = < сБ, A2 > – c2 =1∙3 + 0∙1 + 2∙2 – (-3) = 10,

3 = < сБ, A3 > – c3 =1∙0 + 0∙1 + 2∙0 – 0= 0,

4 = < сБ, A4 > – c4 =1∙(-1) + 0∙5 + 2∙1 – 4= -3,

5 = < сБ, A5 > – c5 =1∙0 + 0∙0 + 2∙1 – 2= 0.

Так как оценка 4 < 0, то базисный план x0 не оптимален. Заметим, что симплексные оценки, соответствующие базисным переменным, всегда равны нулю, так что достаточно проверять только небазисные оценки.

2.2 Реализация симплекс-метода на примере

Продемонстрируем применение симплекс-метода на примере. Рассмотрим каноническую задачу ЛП

f(x) = x1+ 2x2+0 x3+ 0 x4→max (2.2)
x1+ 2x2+ x3 = 4, (2.3)
3 x1+2x2 + x4 = 12, (2.4)
xj≥ 0, j = 1,2,3,4. (2.5)

Матрица условий A = (A1, A2, A3, A4), где

Целевой вектор c =(c1, c2, c3, c4) = (1, 2, 0, 0); вектор правых частей b=(b1, b2) = (4, 12).

Шаг 0. Нахождение начальной угловой точки (базисного плана).

Задача имеет предпочтительный вид, так как правые части уравнений положительны, а столбцы матрицы условий A3,A4 образуют единичную подматрицу. Значит начальная базисная матрица

= (A3, A4);x3иx4базисные переменные,x1иx2 - небазисные переменные, cБ= (c3,c4) = = (0, 0).

Начальный базисный план имеет вид x0 = (0, 0, x3, x4) = (0, 0, 4, 12); f(xo)= 0.

Шаг 1. Проверка базисного плана на оптимальность.

Подсчитаем симплексные оценки для небазисных переменных по формуле (5.1)

1 = < cБ, A1 > – c1 = 0 ·(–1) + 0 ·3 – 1 = –1.

2 = < cБ, A2 > – c2 = 0 ·2 + 0 · 2 – 2 = –2.

Так как оценки отрицательны, то план x – не оптимален. Будем искать новый базисный план (смежную угловую точку) с большим значением целевой функции.

Шаг 2. Нахождение переменной вводимой в базис.

Целевую функцию можно увеличить, если ввести в состав базисных переменных (сделать положительной) одну из небазисных переменных x1илиx2, поскольку обе оценки j< 0. Обычно в состав базисных вводят небазисную переменную с наибольшей по модулю отрицательной оценкой, поэтому будем вводить в базис переменную x2.

Шаг 3. Определение переменной выводимой из базиса.

После ввода в базис переменной x2новый план будет иметь вид

x' = (0, x2,x3, x4).

Этот план не является базисным, так как он содержит только одну нулевую координату, значит надо сделать нулевой (исключить из базиса) одну из переменных x3или x4. Подставим координаты плана x' = (0, x2,x3, x4) в ограничения задачи. Получим


2x2+ x3 = 4,

2x2 + x4 = 12.

Выразим отсюда базисные переменные x3и x4через переменную x2, вводимую в базис.

x3 = 4 – 2x2, (2.6)
x4 = 12 – 2x2. (2.7)

Так переменные x3и x4должны быть неотрицательны, получим систему неравенств

4 – 2x2 ≥0, (2.8)
12 – 2x2 ≥ 0. (2.9)

Чем больше значение x2, тем больше возрастает целевая функция. Найдем максимальное значение новой базисной переменной, не нарушающее ограничения задачи, то есть удовлетворяющее условиям (2.8), (2.9).

Перепишем последние неравенства в виде

2x2 ≤ 4,

2x2 ≤ 12,

откуда максимальное значение x2 = min { 4/2, 12/2 } = 2. Подставляя это значение в выражения (2.6), (2.7) для x3и x4,получаем x3 = 0.Следовательно x3 выводится из базиса.

Шаг 4. Определение координат нового базисного плана.

Новый базисный план (смежная угловая точка) имеет вид

x' = (0, x2, 0, x4)

Базис этой точки состоит из столбцов A2 и A4, так что

= (A2,A4). Этот базис не является единичным, так как вектор A2 = (2,2),и следовательно задача (2.2)–(2.5) не имеет предпочтительного вида относительно нового базиса. Преобразуем условия задачи (2.3), (2.4) таким образом, чтобы она приняла предпочтительный вид относительно новых базисных переменных x2, x4, то есть чтобы переменная x2входила в первое уравнение с коэффициентом, равным единице, и не присутствовала во втором уравнении. Перепишем уравнения задачи