Изложение модифицированного симплекс-метода.
Модифицированный симплекс-метод (МСМ) непосредственно применяется к решению КЗЛП и осуществляет целенаправленное перебирание ДБР, к множеству которых принадлежит оптимальное решение, если он существует; или определяет, что ЗЛП не имеет оптимального решения.
В МСМ в отличие от СМ симплекс-превращение применяются только к базисной части матрицы условий А.
Признак оптимума и условия отсутствия оптимального решения ЗЛП для МСМ и СМ одинаковые.
Алгоритм модифицированного симплекс-метода.
На s-у шаге МСМ выполняются такие действия:
1. Вычисляются относительные оценки (симплекс - разницы)
Dj[s]= cj – (u[s], Aj)
где u[s]=cб[s]Воб[s]— вектор симплекс - множителей, Воб[s] — матрица, обратная к базисной, cб[s] — базисная часть вектора c. Если Dj[s]³0 для всех j=1...,n, то конец: текущее базисное решение оптимальное. Если существует j такое, что Dj[s]<0, то перейти к пункту 2.
2. Выбирается k за формулой
k=argminDj[s].
j: Dj[s]<0
Вычисляются векторы Ak[s]= Воб[s] Ak и A0[s]=Воб[s] A0.
Если Ak[s]£0, то конец: целевая функция неограниченна снизу на допустимом множестве. Если существуют и такие, что aik[s]>0, то перейти к пункту 3.
3. Вычисляются отношения qи[s]=ai0[s]/aik[s] для всех aik[s]>0 но выбирается l так, что
l=argminqи[s].
и: aik[s]>0
Вектор Ak принадлежит ввести к базису, а вектор, что является базисным в l-му непрямом ограничении, должен быть выведенным из базиса.
4. Матрица Воб[s+1] вычисляется за матрицей Воб[s] с помощью обычных симплекс - превращений с использованием ведущего элемента alk[s].Подобным образом может быть определен и вектор A0[s+1]. Для КЗЛП Воб[0] — единичная матрица размерности m´m.
Программное обеспечение.
Обучающий модуль, с помощью которого ЗЛП решается в диалоге с пользователем за выложенным алгоритмом, вызывается из раздела «ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ» главного меню пакета ПО–МО.
Задание.
Решить модифицированным симплекс-методом задачи линейного программирования, условия которых задаются модулем с помощью команды «Данные» главного меню (задачи №1–№9), а также следующие задачи.
Во всех задачах, которые предлагаются ниже, все переменные неотъемлемые.
1) | x1 – x2 + 3x4 + x5 ® min | 2) | 3 x1 + x2 + x4 + x5 ® min |
x1 + 2x2 + 3x3 + 3x4 + x5 = 15 | 2 x1 – x2 + x4 – x5 = 9 | ||
2 x1 – x2 – 3x3 + x4 – x5 = 4 | 4 x1 – x2 – x3 – x5 = 4 | ||
2 x1 – 2x2 – x3 + 2x5 = 8; | x1 – x2 – x3 – x5 = 6; |
3) | x1 – 2x2 + 2x3 + x4 + 2x5 ® max | 4) | x1 + 2x2 + x3 – x4 ® min |
–x1 + x2 – 2x3 + 3x4 + x5 = 2 | –x1 + 5x2 + x3 + x4 + x5 = 10 | ||
–x1 + 2x2 – x3 + 2x4 = 3 | 2x1 – x2 + x3 – 3x4 = 6 | ||
2x1 + 3x2 + x4 – x5 = 6; | 10x2 + x3 + 2x4 + 3x5 = 25; |
5) | x1 – x2 + x3 + x4 – x5 ® min | 6)) | x1 – x2 + x3 + 2x4 ® max |
x1 + x4 + 6 x5 = 9 | x1 + x2 + x3 + 2x4 + 3x5 = 7 | ||
3 x1 + x2 – 4 x3 + 2 x5 = 2 | x1 + 2x2 + 2x3 + 3x4 + 2x5 = 12 | ||
x1 + 2 x2 + 2 x5 = 6; | 2x1 + 3x2 + 4x3 + 4x4 – x5 = 22; |
7) | x1 + 2 x2 – x3 – x4 ® min | 8) | x1 – x2 + x3 + x4 + x5 – x6 ® min |
x1 + x2 + 2 x3 – x4 = 2 | 4x1 + x2 – 4x3 + x4 + 8x6 = 15 | ||
x1 + 2 x2 – 3 x3 + x4 = 6 | 4x1 + x2 – 2x3 + x5 + 4x6 = 8 | ||
x1 + x2 + x3 + x4 = 7; | 5x1 + x2 – 2x3 + x4 + x5 + 10x6 = 21; |
9) | x1 + 2x2 + 3x3 + x4 + x5 ® max | 10)) | x1 – x2 + x3 – 3x4 + 2x5 ® min |
x1 + x2 + 4x3 – x4 + x5 = 1 | x1 +2x2 – x3 + 2x4 + x5 ³ 8 | ||
x1 + x2 – 2x3 + x4 + x5 = 1 | –x1 – x2 + x3 – 3x4 – 2x5 = 10 | ||
–x1 + x2 – 6x3 + x4 + x5 = 1; | 2x1 – x2 + 3x3 – x4 + 2x5 £ 4. |
Ответы:
1) x* = (5.11; 3.67; 0; 0; 2.56), L(x*)= 4.
2) Решения нет ( D = Æ ).
3) Решения нет (целевая функция неограниченна сверху на допустимом множестве).
4) x* = (1; 0; 4; 0; 7), L(x*)= 5.
5) x* = (0; 1.5; 0.63; 0; 1.5), L(x*)= -2.38.
6) x* = (1; 0; 4; 1; 0), L(x*)= 7.
7) x* = (4.13; 0; 1.25; 2.62), L(x*)= 1.25.
8) x* = (0; 1; 0.83; 0; 0; 2.17), L(x*)= -2.33.
9) x* = (0; 1; 0; 0; 0), L(x*)= 2.
10) Решения нет ( D = Æ ).
Лабораторная работа 4.