ПРОГРАММИРОВАНИЯ СИМПЛЕКС-МЕТОДОМ



Найти максимальное значение линейной функции

Z = x1 + 2x2

при ограничениях

 x1 + x2 £ 9

-x1 + x2 £ 3                                        (17)

x1 - x2 £ 3, x1,x2 ³ 0.

Перейдем от исходной задачи к задаче с ограничениями типа равенств. Введем вектор балансовых переменных y, размерность которого равна числу неравенств в системе ограничений: y = (x3, x4, x5). Все балансовые переменные неотрицательные, в целевой функции им соответствуют коэффициенты, равные нулю. Исходную задачу преобразовали к виду:

 

= x1 + 2×x2 + 0×x3 + 0×x4 + 0×x5 ® max

 

  x1 + x2 + x3                 = 9

‑x1  + x2       + x4      = 3                   (18)

  x1 ‑ x2                 + x5    =3

 

x1, x2, x3, x4, x5 ³ 0.

, , ,

, , , , .

Заполняем первую симплексную таблицу.

Таблица 3

Базис

CБ

1 2 0 0 0
B A1 A2 A3 A4 A5
x3 x4 x5 0 0 0 9 3 3 1 -1 1 1 1 -1 1 0 0 0 1 0 0 0 1
    Z=0 -1 -2 0 0 0

 

Переменные x3, x4, x5 образуют базис. Свободные переменные х1, х2 выбираем равными нулю. Тогда системе ограничений задачи (18) удовлетворяет вектор

 = (0,0,9,3,3)T (сравните значение базисных переменных с вектором В в симплексной таблице).

 - первая крайняя точка.

Так как x3, x4, x5 – базисные переменные, то

CБ = ( ) = (0,0,0).

Умножая скалярно вектор CБ и А1 и вычитая из произведения , находим симплексную разность D1. Аналогично, вычисляем остальные симплексные разности Dk ( ) в первой крайней точке. Полученные значения записываем в последнюю строку таблицы.

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

 = СБ В = 0

Так как для первой крайней точки имеются отрицательные симплексные разности, то она не является оптимальной. Ищем вторую крайнюю точку. По формуле  находим переменную, вводимую в базис.

, т.е. в базис надо ввести х2. Т.о. направляющий столбец с номером  2.

Определим переменную, выводимую из базиса

,

, т.е. i0 = 2.

Значит, направляющая строка имеет номер 2.

Обратите внимание, что отношение  не принималось во внимание при нахождении значения индекса i0, так как значение коэффициента a32 < 0. Переменная, выводимая из базиса х4. Т.о. направляющий элемент a22 = 1.

Используя один шаг метода Гаусса, введем в базис переменную х2 вместо переменной х4, применяя соотношение (12)-(16). Тем самым найдем координаты второй крайней точки.

 

 

Заполняем вторую симплексную таблицу.

Таблица 4

Базис

CБ

1 2 0 0 0
B A1 A2 A3 A4 A5
x3 x2 x5 0 2 0 6 3 6 2 -1 0 0 1 0 1 0 0 -1 1 1 0 0 1
    =6 -3 0 0 2 0

 

Сейчас в базисе переменные x3, x2, x5 (порядок именно такой). Свободные переменные х1=0 и х4=0. Тогда базисные переменные принимают значения x3=6, x2=3, x5=6. Вторая крайняя точка =(0,3,6,0,6)Т. Вектор СБ для этой точки имеет вид:

CБ = ( ) = (0,2,0).

Строку симплексных разностей вычисляем по формуле:

Dk = CБAk ,

D1 = ‑3, D2 = 0, D3 = 0, D4 = 2, D5 = 0.

Значение целевой функции во второй крайней точке

 = СБ В =0×6 + 2×3 + 0×6 = 6.

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

Находим очередную крайнюю точку. Переменную х1 вводим в базис, так как , т.е. направляющий столбец имеет номер 1.

, т.е. i0=1, т.е. направляющая строка имеет номер 1.

Тогда переменная х3 - выводится из базиса. Направляющий элемент a11 = 2.

Осуществляем один шаг метода Гаусса, пользуясь соотношениями (12)-(16), получаем третью симплексную таблицу.

Таблица 5

Базис

CБ

1 2 0 0 0
B A1 A2 A3 A4 A5
x1 x2 x5 1 2 0 3 6 6 1 0 0 0 1 0 0,5 0,5 0 -0,5 0,5 1 0 0 1
    Z=15 0 0 1,5 0,5 0

 

Найдена третья крайняя точка

=(3,6,0,0,6)Т,

CБ = ( )T = (1,2,0)T,

D1 = D2 = D5 = 0, D3 = , D4 = .

Так как все симплексные разности неотрицательны, то третья крайняя точка является оптимальной. Значение целевой функции в оптимальной точке равно  = CБ В = 1×3 + 2×6 + 0×6 = 15.

Таким образом, найдено оптимальное решение задачи (18). Отбросив в векторе  балансовые переменные, получим оптимальное решение исходной задачи Xопт = (3,6), Zmax = 15.

Рассмотрим геометрическую интерпретацию решения. Построим область допустимых решений задачи (17). Это многоугольник ОАВСD.

Отметим найденные крайние точки. Первая точка  совпадает с вершиной О; вторая – с вершиной А; третья оптимальная точка – вершина В.

Найдем решение двойственной задачи.

W = 9U1 + 3U2 + 3U3 ® min,

U1 ‑ U2 + U3 ³ 1

U1 + U2 ‑ U3 ³ 2

U1, U2, U3 ³ 0.

 

Решение находим по последней симплексной таблице – последние три

 

симплексные разности Uопт = (1,5; 0,5; 0)

 

 

Wmin = 15 [3].

 

 


Дата добавления: 2018-04-15; просмотров: 338; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!