- •Симплекс-метод.
- •2.1. Основные операции и теоремы линейного программирования
- •Понятие о симплекс-методе
- •Алгоритм симплекс-метода
- •2.4. Вырожденность в задачах линейного программирования. Проблема зацикливания
- •2.4.1.Симплекс метод (метод последовательного улучшения плана)
- •2.4.2.Алгоритм симплекс метода
- •2.4.3.Построение оптимального плана.
- •2.4.4.Построение опорного плана.
- •2.4.5Правила выбора разрешающего элемента при поиске опорного плана.
- •2.4.6.Вырожденность в задачах линейного программирования
- •2.5. Анализ линейных моделей на чувствительность. Двойственный симплекс-метод.
- •2.6. Использование искусственной переменной в программировании симплекс-методом.
- •2.7. Модифицированный симплекс - метод
- •2.7.1. Теоретические сведения
- •2.7.2. Мультипликативное представление обратной матрицы
- •2.7.3.Алгоритм модифицированного симплекс-метода.
- •2.7.4.Выводы
- •2.8. Целочисленное линейное программирование (зцлп)
- •Методы решения зцлп
- •Метод ветвей и границ
2.7. Модифицированный симплекс - метод
2.7.1. Теоретические сведения
Основная идея модифицированного симплекс-метода заключается в использовании текущей обратной матрицы (и исходных данных задачи) при выполнении вычислений, необходимых для определения включаемой и исключаемой переменных. Представление обратной матрицы в мультипликативной форме позволяет вычислять последовательность обратных матриц непосредственно по исходным данным без использования многократных операций обращения каждого базиса. Как и в обычном симплекс-методе, в данном случае исходный базис всегда представляет собой единичную матрицуI, обратной к которой является сама эта матрица. Поэтому, если- последовательность обратных матриц, соответствующих итерациям 1, 2,…,i, а- последовательность соответствующих им матриц, то
(2.22)
Последовательность подстановок приводит к следующей формуле:
(2.23)
Следует подчеркнуть, что мультипликативное представление обратной матрицы не является необходимой процедурой для реализации вычислительной схемы модифицированного симплекс-метода, и на каждой итерации можно применять любой из способов обращения текущего базиса. При использовании модифицированного симплекс-метода важно то, что обратные матрицы вычисляются способом, позволяющим уменьшить влияние машинных ошибок округления.
Шаги алгоритма модифицированного симплекс-метода, по существу, такие же, как и в алгоритме обычного симплекс-метода. После нахождения начального базиса Iопределяется соответствующий ему вектор коэффициентов целевой функции, элементы которого формируются в зависимости от того, являются ли начальные базисные переменные остаточными (избыточными) или искусственными.
2.7.2. Мультипликативное представление обратной матрицы
При мультипликативном представлении обратной матрицы используется операция алгебры матриц, позволяющая вычислять элементы матрицы, обратной к новой матрице базисных векторов, по известной обратной матрице предыдущего базиса при условии, что два рассматриваемых базиса отличаются только одним вектор-столбцом. Такой способ представления обратной матрицы удобно использовать именно в вычислительной схеме симплекс-метода, так как базисы, соответствующие каждым двум последовательным итерациям, отличаются лишь одним столбцом (в результате замены исключаемого вектор-столбца текущего базиса новым вектор-столбцом). Другими словами, текущая базисная матрица и новая базисная матрица, соответствующая следующей итерации, отличаются только одним столбцом. При мультипликативном представлении обратной матрицы, соответствующей новому базису, она вычисляется путём умножения слева обратной текущей матрицына формируемую по определённым правилам матрицу.
Определим единичную матрицу следующим образом:
(2.24)
где - единичный вектор-столбец сi-м элементом, равным единице, и остальными элементами, равными нулю. Допустим, что известны матрицыи, и векторматрицызаменяется новым вектором; как принято при описании симплекс-метода, векторопределяется как включаемый в базис, а вектор- как исключаемый из базиса. Для упрощения записи математических соотношений используем следующее определение,при этомбудет представлять собойk-й элемент. Тогда новую обратную матрицуможно вычислить по следующей формуле:
(2.25)
при условии, что . Если, матрицыне существует. Заметим, что матрицаполучается из матрицыпутём замены еёr-го вектор-столбцастолбцом.