Симплекс-метод

Словесный алгоритм

  1. Систему ограничений ЗЛП приводим к канонической форме и целевую функцию ЗЛП к симплексной форме (вводим столько новый неизвестных, сколько ограничений).
  2. Составим симплекс-таблицу из коэффициентов системы и целевой функции в симплексной форме. (Заносим прежде всего базис)
  3. Проверяем матрицы на выполнение критерия оптимальности; если он выполняется, то решение закончено.
  4. При невыполнении критерия оптимальности проверяем выполнение критерия отсутствия оптимальности; в случае выполнения последнего решение закончено - нет оптимального плана.
  5. В случае невыполнения обоих критериев, находим разрешающий элемент для перехода к следующей матрице, для чего:
    1. выбираем разрешающий столбец по наименьшему из отрицательных элементов целевой строки;
    2. выбираем разрешающую строку про критерию выбора разрешающего элемента; на их пересечении находится разрешающий элемент.
  6. С помощью разрешающего элемента и симплекс-преобразования переходим к следующей матрице.
    1. Выводится базис ключевой строки, уступая место переменной из ключевого столбца со своими коэффициентами
    2. Выполняется строка разрешающая путем деления соответственных элементов ...
    3. Если в главной строке есть хотя бы один нулевой элемент, то этот элемент просто переносится
    4. Если в главном столбце находится ноль, то эту строчку можно просто переносить
    5. Остальные элементы считаются по формуле прямоугольника [фото]
  7. Вновь полученную симплекс-матрицу проверяем описанным выше способом (см. п. 3)

Шаблон матрицы

[XбCбBX1X2X3X4Q1X3X4ΔK]

Пример

f=2x1+3x2max
x1+3x2300 - сколько ресурсов истратили
x1+x3150
x120

В каноническом виде:
f=2x1+3x2+0x3+0x4max
x1+3x2+x3=300
x1+x2+x4=150
x12340

X1=0
X2=0
x1=(0,0,300,150) - опорное решение
Б1(x3,x4) - базисное решение

[2300XбCбBX1X2X3X4Q1X303001[3]10100X401501101150ΔK02300]

0300+0150=0
Δ=C1aijCj
Δ1=(01+01)2=2
Qij=AbAij

[2300XбCбBX1X2X3X4Q2X23100131130300X40150[23]013175ΔK3001010]

=1113=23

[2300XбCбBX1X2X3X4Q3X2375011212X1275101232ΔK375001232]

Решения является оптимальным, так как отсутствуют отрицательные оценки
X1=75
X2=75
f=375