Править]Модифицированный симплекс-метод

В модифицированном методе матрица

не пересчитывается, хранится и пересчитывается только матрица . В остальном алгоритм похож на вышеописанный.

1. Вычисляем двойственные переменные

2. Проверка оптимальности. преобразуется в .

Проверка заключается в вычислении для всех столбцов . Столбец со значением < 0 можно вводить вводить в базис.

Часто выбирают минимальное значение, но для этого нужно перебрать все столбцы.

Чаще выбирают значение, меньшее некоторого заданного значения

Если такого столбца не обнаружится, за принимается максимальное найденное абсолютное значение и соответствующий столбец вводится в базис.

3. Определение выводимого.

Пусть - вводимый столбец, соответствующий переменной Базиный план - это решение системы Увеличиваем .

Умножим слева на , т.е. .

Здесь - базисный план, - разложение вводимого столбца по базису.

Находим максимальное значение , при котором все значения не отрицательны. Если может быть взято как угодно велико, решение не ограничено. В противном случае один из элементов выйдет на нулевое значение. Выводим соответствующий столбец из базиса.

4. Пересчет опорного(базисного) плана.

Вычисляем новый опорный план по уже приведенной формуле с найденным значением .

5. Пересчитываем обратную к базисной .

Пусть - выводимый столбец.

Матрица B представима в виде

где - базисная матрица без выводимого столбца.

После замены столбца базисная матрица будет иметь вид

Нам нужно найти матрицу , такую что

=> => =>

Откуда

Замечание.

При пересчете матрицы накапливаются ошибки округления. Во избежание получения больших ошибок время от времени матрица пересчитывается полностью. Этот процесс называется "повторением".

[править]Мультипликативный вариант симплекс-метода

В мультипликативном варианте матрица не хранится, хранятся лишь множители

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

[править]Другие варианты симплекс-метода

Во избежание накопления ошибок округления может использоваться LU-разложение матрицы.

При подавляющем числе ограничений типа "неравенство" может быть использован метод переменного базиса.

Метод основан на том, что базисная матрица может быть представлена в виде

Обратная к ней имеет вид

При относительно небольших размерах матрицы остальная часть матрицы может не храниться.

Таким подходом удается решить задачи с десятками миллионов строк ограничений (например, из теории игр).