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

 

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

 

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

 

Матрица условий A = (A 1, A 2, A 3, A 4), где

 

 

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

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

Задача имеет предпочтительный вид, так как правые части уравнений положительны, а столбцы матрицы условий A 3, A 4 образуют единичную подматрицу. Значит начальная базисная матрица = (A 3, A4); x 3и x 4 базисные переменные, x 1и x 2 - небазисные переменные, cБ = (c 3, c 4 ) = = (0, 0).

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

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

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

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

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

 

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

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

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

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

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

x' = (0, x 2, x 3, x 4).

 

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


2 x 2 + x 3 = 4,

2 x 2 + x 4 = 12.

 

Выразим отсюда базисные переменные x 3и x 4через переменную x 2, вводимую в базис.

 

x 3 = 4 – 2 x 2, (2.6)
x 4 = 12 – 2 x 2. (2.7)

 

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

 

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

 

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

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

2 x 2 ≤ 4,

2 x 2 ≤ 12,

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

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

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

x' = (0, x 2, 0, x 4)

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

 

x 1+ 2 x 2+ x 3 = 4, (p 1)

3 x 1 +2 x 2 + x 4 = 12. (p 2)

 

Поделим первое уравнение на коэффициент при x 2.Получим новое уравнение = p 1 / 2, эквивалентное исходному

 

– 1/2 x 1+ x 2+ 1/2 x 3 = 2. ()

 

Используем это уравнение, которое назовем разрешающим, для исключения переменной x 2из второго уравнения. Для этого надо уравнение   умножить на 2 и вычесть из p 2. Получим  = p 2 2  = p 2 – p 1:

 

4 x 1 x 3 + x 4 = 8. ()

 

В итоге получили новое "предпочтительное" представление исходной задачи относительно новых базисных переменных x 2, x 4:

f (x) = x 1 + 2 x 2 + 0 x 3 + 0 x 4 max

– 1/2 x 1+ x2+ 1/2 x 3 = 2 ()

4 x 1x 3 + x 4 = 8 ( )

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


Подставляя сюда представление нового базисного плана x 1 = (0, x 2, 0, x 4), сразу найдем его координаты, так как значения базисных переменных равны правым частям уравнений

x' = (0, 2, 0, 8); f (x 1)=4.

 

На этом завершается первая итерация простого симплекс-метода. Далее процесс решения задачи продолжается с шага 1, состоящем в проверке найденного плана на оптимальность. Решение заканчивается тогда, когда все симплексные оценки текущего базисного плана окажутся неотрицательными.

Мы не будем проводить вторую итерацию по схеме первой, поскольку все вычисления симплекс-метода удобнее проводить в табличном виде.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow