
- •Симплекс-метод.
- •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.3.Алгоритм модифицированного симплекс-метода.
Шаг 1. Определение включаемого
вектора
.Вычислить
.
Для каждого небазисного вектора
найти
(2.26)
В задаче максимизации (минимизации) в
качестве включаемого в базис вектора
выбирается тот, которому соответствует
наибольшая по абсолютной величине
отрицательная (положительная) величина
(при наличии альтернатив выбор делается
произвольно). Если
для всехj, то полученное
решение
(2.27)
является оптимальным. В противном случае осуществляется переход к Шагу 2.
Шаг 2. Определение исключаемого
вектора
.При известном исключаемом векторе
вычислить:
значения текущих базисных переменных, то есть
;
коэффициенты ограничений при включаемой в базис переменной, то есть
. В качестве исключаемого вектора (как в задаче максимизации, так и в задаче минимизации) должен выбираться такой вектор
, которому соответствует
(2.28)
где
и
-k-е элементы
и
.
Случай , когда все
,
свидетельствует о неограниченности
решения.
Шаг 3. Определение нового
базиса. По известной обратной матрицетекущего базиса найти обратную матрицу
для нового базиса
,
используя формулу
.
Затем положить
и перейти к Шагу 1.
Таблица 2.43
Базисные переменные |
|
|
|
|
|
|
Решение |
z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На шаге 1 вычисляются коэффициенты
z-строки и определяется
включаемая в базис переменная.
Затем на Шаге 2 путём вычисления элементов
правой части таблицы (=
)
и коэффициентов ограничений при вводимой
в базис переменной (
)
определяется исключаемая переменная.
Замечание. Проводя вычисления по схеме модифицированного симплекс-метода, сначала целесообразно записывать получаемые результаты на шагах 1 и 2 в таблице, аналогично приведённой выше.
Пример 2.15:
Максимизировать
при ограничениях
Начальное решение
Первая итерация
Шаг 1. Вычисление
для небазисных векторов
и
.
В соответствии с правилами составления симплекс-таблиц результаты, выполненные на данной стадии вычислений, представляются в следующем виде:
Таблица 2.44
Базисные переменные |
|
|
|
|
|
|
Решение |
z |
-3 |
-2 |
0 |
0 |
0 |
0 |
|
(Заметим, что
автоматически обращаются в нуль для
всех базисных переменных.) В соответствии
с полученными результатами в качестве
включаемого в базис вектора выбирается
.
Шаг 2. Определение исключаемого
вектора при условии введения в базис
вектора
.
Результаты вычислений на шагах 1 и 2 можно представить в виде следующей таблицы:
Таблица 2.45
Базисные переменные |
|
|
|
|
|
|
Решение |
z |
-3 |
-2 |
0 |
0 |
0 |
0 |
0 |
|
1 |
|
|
|
|
|
6 |
|
2 |
|
|
|
|
|
8 |
|
-1 |
|
|
|
|
|
1 |
|
0 |
|
|
|
|
|
2 |
Отсюда следует, что
Соответствует переменной
.
Таким образом, исключению из базиса
подлежит вектор
.
Шаг 3. Определение обратной матрицы, соответствующей новому базису.
Так как вместо вектора
в базис вводится вектор
и
,
то
Новому базису соответствуют векторы
Вторая итерация
Шаг 1. Вычисление
для небазисных векторов
и
.
Следовательно, включению в базис подлежит
вектор
.
Шаг 2. Определение исключаемого
вектора при условии ввода в базис вектора
.
Результаты вычислений на шагах 1 и 2 алгоритма можно представить в виде следующей таблицы:
Таблица 2.46
Базисные переменные |
|
|
|
|
|
|
Решение |
z |
0 |
-1/2 |
0 |
3/2 |
0 |
0 |
|
|
|
3/2 |
|
|
|
|
2 |
|
|
1/2 |
|
|
|
|
4 |
|
|
3/2 |
|
|
|
|
5 |
|
|
1 |
|
|
|
|
2 |
Отсюда следует, что
Соответствует переменной
.
Таким образом, исключению из базиса
подлежит вектор
.
Шаг 3. Определение новой обратной матрицы.
Так как в базис вместо вектора
вводится вектор
и
,
то
Новому базису соответствуют векторы
Третья итерация
Шаг 1. Вычисление
для векторов
и
.
Так как
для всехj, полученный
базис соответствует оптимальному
решению.
Оптимальное решение