Таким образом, поскольку в улучшенном симплекс методе нужны также обращение базиса и симплекс множители, недостатком улучшенного симплекс метода является большая потребность в машинной памяти. Большим преимуществом улучшенного симплекс метода является уменьшение количества вычислений. Таким образом, количество вычислений в задаче линейного программирования напрямую связано, скорее, с количеством ограничений, чем с количеством переменных, которые в общем случае значительно больше. Улучшенный симплекс метод непосредственно вычисляет обращение базиса и симплекс множители. Эти величины не надо извлекать из окончательной таблицы. Это может помочь при последующем устойчивости решения. Описание метода. Для решения задач линейного программирования существует множество методов. Рассмотрим один из них. Улучшенный модифицированный симплекс метод. Для начала расскажем, что такое симплекс метод. Слово. SIMPLEX в обычном смысле означает простой, несоставной, в противоположность слову COMPLEX. Данный метод получил несколько различных форм модификаций и был разработан в 1. Г. Данцигом. Сущность симплекс метода заключается в том, что если число неизвестных больше числа уравнений, то данная система неопределенная с бесчисленным множеством решений. Для решения системы все неизвестные произвольно подразделяют на базисные и свободные. Число базисных переменных определяется числом линейно независимых уравнений. Остальные неизвестные свободные. Им придают произвольные значения и подставляют в систему. Любому набору свободных неизвестных можно придать бесчисленное множество произвольных значений, которые дадут бесчисленное множество решений. Если все свободные неизвестные приравнять к нулю, то решение будет состоять из значений базисных неизвестных. Такое решение называется базисным. В теории линейного программирования существует теорема, которая утверждает, что среди базисных решений системы можно найти оптимальное, а в некоторых случаях и несколько оптимальных решений, но все они обеспечат экстремум целевой функции. Таким образом, если найти какой либо базисный план, а затем улучшить его, то получится оптимальное решение. На этом принципе и построен симплекс метод. Одним из модификаций симплекс метода является улучшенный симплекс метод. В литературе этот метод встречается также под названием метода обратной матрицы или модифицированного симплекс метода. При решении задач линейного программирования, в которых n количество переменных существенно больше m количество ограничений, улучшенный симплекс метод требует по сравнению с другими значительно меньшего количества вычислительных операций и объема памяти ЭВМ. В улучшенном симплекс методе реализуется та же основная идея, что и в обычном симплекс методе, но здесь на каждой итерации пересчитывается не вся матрица A 1, обратная матрице ограничений A, а лишь та часть, которая относится к текущему базису Ax. Рассмотрим поэтапно шаги решения задачи линейного программирования улучшенным симплекс методом 1. В начале первого цикла нам известны обратная матрица единичная матрица, базисное решение xb b. Образуем для каждой небазисной переменной характеристическую разность Dj, используя уравнение Dj cj p cj p. Pj ,Где p двойственные переменные, которые можно найти следующим образом p cx ,Где cx вектор коэффициентов целевой функции при базисных переменных. Предполагая, что используется стандартное правило выбора вводимого столбца, находим DD. Если Ds. Текущее базисное решение является оптимальным. Если Ds. Первые m столбцов результат дают матрицу, обратную новому базису. Преобразуем базисное решение xb i. Идея заключается в том, что на каждом шаге конаническую форму задачи для текущего базиса можно получить независимо от других таких форм непосредственно из исходной записи стандартной задачи ЛП. Для этого нужно 1 сохранять исходную запись задачи на протяжении всей работы метода, это та цена, которую приходится платить за больше быстродействие 2 использовать так называемые симплекс множители. Это относится к точности, скорости и требованиям к памяти. Большая часть этих преимуществ определяется тем фактором, что, как правило, матрицы больших линейных задач то есть с n m 1. Обычной является плотность 5 или менее. Улучшенная форма симплекс метода в большей степени способна использовать преимущества, вытекающие из этого факта. В этой форме характеристические разности и ведущий вектор вычисляются непосредственно по исходным данным. Поскольку исходная матрица слабозаполнена, а перемножение следует производить только тогда, когда оба сомножителя отличны от нуля, то время вычислений значительно сокращается. В дополнение к этому использование только исходных данных приводит к тому, что уменьшается возможность накопления ошибок округления. Наоборот, стандартные симплексные таблицы, даже если они первоначально являются слабозаполненными, в ходе итеративного процесса быстро заполняются ненулевыми элементами. Таким образом, время вычислений увеличивается, и, поскольку каждая таблица вычисляется из предшествующей, накопление ошибок может начать играть более серьезную роль. Учебник А.Ф. Кириллов Черчение И Рисование. Математическая постановка задачи. Задание Найти такие неотрицательные x. Графическое решение см. Вырожденность при обращении нескольких переменных в 0, базис называют вырожденным возникает, поскольку прямые, соответствующие ограничениям, пересекаются в одной точке 2,0. В нашей задаче в вершине пересекаются три прямые обычно вершина является пересечением всего двух прямых. Рисунок 1. При использовании симплекс метода первая таблица имеет следующий вид Таблица 1. Итерация. Базис. Значение. Х1. Х2. Х3. Х4. Х5. Х3. Х4. Х5. 42. 521 1 2. Целевая функция 3. Переменная х. 1 входит в базис. В столбце х. 1 коэффициенты 2 и 1 пометим звездочкой, так как в точке минимума они имеют точку совпадения 42 21. При выборе других переменных все равно итерация превращается в 0, следовательно, базис будет вырожден. Выберем переменную х. Таблица 2. Итерация. Базис. Значение. Х1. Х2. Х3. Х4. Х5. 1Х3. Х4. Х5. 20. 31. 12 32. Х1. Х4. Х2. 33. 21. Из таблицы видно что минимум функции z равен 7 при х. Если выбрать переменную х. Для продолжения решения необходимо изменить ограничения, это позволит изменить положение точки А, а так же избежать вырожденности. Для это возьмем некоторую переменную. Если вырожденности нет, то симплекс методом задача линейного программирования решается за конечное число шагов при условии что решение существует.