Вы находитесь на странице: 1из 1

Версия 1, 21.03.

2013

Метод искусственного базиса


В некоторых случаях в преобразованной к каноническому виду (все ограничения —
равенства) системе ограничений невозможно выделить «хороший» базис, содержащий
только единичные векторы-столбцы. Либо выбор такого базиса приводит к недопустимому
решению на первом шаге симплекс-метода.
При расчете с помощью симплекс-таблиц удобно пользоваться методом
искусственного базиса (М-методом), который позволяет разрешить проблему допустимости
опорного решения. Метод основан на том, что в те ограничения, которые приводят к
отрицательным компонентам базисного решения, либо не содержат «хорошей» базисной
переменной (то есть, переменной, которая входит только в это уравнение, причем с
коэффициентом 1), добавляются искусственные переменные.
Пример.
F = 4 x1 + x2 → min при ограничениях:

3 x1 + x2 = 3 3 x1 + x2 = 3
4 x + 3 x ≥ 6 4 x + 3 x − s = 6
 1 2  1 2 1
 . После канонизации получим систему:  .
 x1 + 2 x 2 ≤ 4  x1 + 2 x 2 + s 2 = 4
 x1 ≥ 0, x2 ≥ 0  x1 ≥ 0, x2 ≥ 0

В первом и втором уравнениях системы нет подходящей базисной переменной,


поэтому введем в эти равенства искусственные переменные R1 и R2. Базисной переменной в
третьем равенстве будет дополнительная переменная s2.
Искусственные переменные не имеют физического смысла, поэтому необходимо
добиться того, чтобы на последующих итерациях симплекс-метода они обратились в нуль, и
в оптимальном решении искусственных переменных не содержалось. Этого можно добиться
при помощи введения штрафов: следует включить искусственные переменные в целевую
функцию с достаточно большим (бесконечным) положительным коэффициентом, поскольку
мы решаем задачу минимизации. Ненулевое значение искусственных переменных приведет к
тому, что величина целевой функции будет бесконечно большой, поэтому можно ожидать,
что в результате итераций симплекс-метода искусственные переменные постепенно выйдут
из базиса. Очевидно, что для задачи максимизации коэффициенты перед искусственными
переменными в целевой функции следует брать отрицательными, чтобы они «бесконечно
ухудшали» решение. Итак, целевая функция преобразуется к виду:
F = 4 x1 + x2 + MR1 + MR2 = 4 x1 + x2 + M ( R1 + R2 ) → min .
    
исходная F функция штрафа

Если симплекс-таблицы вычисляются при помощи Excel, то удобнее воспользоваться


модификацией М-метода, которая называется «двухэтапным методом». Суть ее состоит в
том, что сначала требуется минимизировать штрафную функцию (назовем ее R-функция),
при этом все искусственные переменные должны либо выйти из базиса, либо, оставшись в
базисе, принять нулевые значения. На втором этапе продолжается решение исходной задачи
линейного программирования как обычно (см. пример на сайте).
В том случае, если минимум штрафной функции отличен от 0, либо остались
ненулевыми некоторые искусственные переменные, то исходная задача линейного
программирования не имеет решения, поскольку в ней либо не ограничена целевая функция,
либо ограничения противоречивы и ОДР пуста. Наличие ненулевой искусственной
переменной при минимальном значении штрафной функции является признаком
несовместности системы ограничений исходной задачи.