Править]Модифицированный симплекс-метод
В модифицированном методе матрица
не пересчитывается, хранится и пересчитывается только матрица . В остальном алгоритм похож на вышеописанный.
1. Вычисляем двойственные переменные
2. Проверка оптимальности. преобразуется в .
Проверка заключается в вычислении для всех столбцов . Столбец со значением < 0 можно вводить вводить в базис.
Часто выбирают минимальное значение, но для этого нужно перебрать все столбцы.
Чаще выбирают значение, меньшее некоторого заданного значения
Если такого столбца не обнаружится, за принимается максимальное найденное абсолютное значение и соответствующий столбец вводится в базис.
3. Определение выводимого.
Пусть - вводимый столбец, соответствующий переменной Базиный план - это решение системы Увеличиваем .
Умножим слева на , т.е. .
Здесь - базисный план, - разложение вводимого столбца по базису.
Находим максимальное значение , при котором все значения не отрицательны. Если может быть взято как угодно велико, решение не ограничено. В противном случае один из элементов выйдет на нулевое значение. Выводим соответствующий столбец из базиса.
4. Пересчет опорного(базисного) плана.
Вычисляем новый опорный план по уже приведенной формуле с найденным значением .
5. Пересчитываем обратную к базисной .
Пусть - выводимый столбец.
Матрица B представима в виде
где - базисная матрица без выводимого столбца.
После замены столбца базисная матрица будет иметь вид
Нам нужно найти матрицу , такую что
=> => =>
Откуда
Замечание.
При пересчете матрицы накапливаются ошибки округления. Во избежание получения больших ошибок время от времени матрица пересчитывается полностью. Этот процесс называется "повторением".
[править]Мультипликативный вариант симплекс-метода
В мультипликативном варианте матрица не хранится, хранятся лишь множители
При решении экономических задач часто матрица ограничений разреженная, в таком случае мультипликативный вариант получает дополнительные преимущества - можно хранить мультипликаторы в сжатом виде (не хранить нули).
[править]Другие варианты симплекс-метода
Во избежание накопления ошибок округления может использоваться LU-разложение матрицы.
При подавляющем числе ограничений типа "неравенство" может быть использован метод переменного базиса.
Метод основан на том, что базисная матрица может быть представлена в виде
Обратная к ней имеет вид
При относительно небольших размерах матрицы остальная часть матрицы может не храниться.
Таким подходом удается решить задачи с десятками миллионов строк ограничений (например, из теории игр).