
лекции рогов / Рогов_Лекция_ 5
.doc
Лекция 5. Метод искусственного базиса
В предыдущем разделе при решении задачи линейного программирования предполагалось, что система ограничений разрешена относительно некоторого базиса, т. е. найдено общее решение системы уравнений и свободные члены в этом решении все неотрицательны.
Пример. Найти допустимое базисное решение системы уравнений:
Ранг матрицы этой системы равен двум, поэтому базисных переменных должно быть две и свободных – тоже две. Прибавив ко второму уравнению первое, получим равносильную систему:
или
Если
теперь выбрать
и
в качестве базисных переменных, то
получим
общее решение системы:
Пусть
,
тогда
и
– допустимое базисное решение. Задача
решена.
Однако не следует думать, что в любой задаче так же легко можно найти допустимое базисное решение или обнаружить, что его нет.
В этом разделе будет определено условие существования допустимого базисного решения ЗЛП и способ его нахождения, если оно существует.
Пусть ЗЛП задана в канонической форме. Дана система линейных уравнений:
(1)
Нужно найти неотрицательное решение этой системы уравнений, которое минимизирует линейную функцию
(2)
Решим более простую задачу: выясним, имеет ли задача (1), (2) допустимое базисное решение и, если имеет, как его найти.
При этом мы будем считать, что выполняются условия:
-
все свободные члены системы уравнений (1) неотрицательны (в противном случае уравнение можно умножить на –1);
-
ранг матрицы системы уравнений (1) равен числу уравнений (т.е. все уравнения линейно независимы). В противном случае систему можно преобразовать, оставив в ней только линейно независимые уравнения.
Для решения поставленной задачи рассмотрим вспомогательную задачу: найти неотрицательное решение системы линейных уравнений
(3)
,
при котором линейная функция
(4)
принимает наименьшее значение.
Заметим,
что если вектор
– решение системы (1), то вектор
является решением системы (3) и наоборот.
Поэтому решения
и
называют соответствующими решениями
систем (1) и (3). Новые переменные
…,
в системе (3) назовем искусственными
переменными. Определитель матрицы,
составленной из коэффициентов при этих
переменных отличен от нуля, следовательно
ранг системы (3) равен r,
и искусственные переменные образуют
базис для системы (3). Его принято называть
искусственным
базисом.
Так как по условию свободные члены в
(3) все неотрицательны, то решение
является допустимым базисным решением
системы уравнений (3).
Используя
систему (3), нетрудно выразить функцию
φ через свободные переменные
:
Таким образом, для вспомогательной задачи легко найти допустимое базисное решение и, составив симплекс-таблицу, решить ее симплекс-методом.
Из
равенства (4) видно, что при любых
допустимых значениях переменных
выполняется неравенство: (5)
.
Поэтому
вспомогательная задача (3), (4) всегда
имеет оптимальное решение (т.к. невозможно
равенство min).
Оказывается,
что если min,
то исходная задача (1), (2) имеет допустимое
базисное решение. Если же min
,
то исходная задача не имеет допустимого
базисного решения, тем более не имеет
оптимального решения.
Теорема.
Задача
линейного программирования (1), (2) имеет
допустимое базисное решение тогда и
только тогда, когда вспомогательная
задача (3), (4) имеет оптимальное решение,
при котором
.
Доказательство.
-
Пусть задача (1), (2) имеет допустимое базисное решение
. Тогда вспомогательная задача имеет соответствующее допустимое базисное решение
и
. В силу неравенства (5)
. Поэтому
- оптимальное решение вспомогательной задачи и
.
-
Обратно, пусть задача (3), (4) имеет оптимальное решение
, для которого
. Тогда задача (3), (4) имеет оптимальное базисное решение
и
. Так как ранг матрицы системы уравнений (3) равен r, то решение
имеет
не более r положительных координат, и эти координаты соответствуют линейно независимым столбцам матрицы коэффициентов системы уравнений (3).
Так
как
,
то
.
Поэтому
,
- допустимое решение системы (3). Ему
соответствует допустимое решение
системы (1). Как отмечено выше, среди
чисел
не более r
положительных (остальные равны нулю) и
они соответствуют линейно независимым
столбцам матрицы коэффициентов системы
уравнений (1), поэтому
- допустимое базисное решение системы
уравнений (1). Теорема доказана.
Доказанная теорема позволяет построить допустимое базисное решение ЗЛП, если оно существует, используя вспомогательную задачу с искусственным базисом.
Сформулируем теперь правила нахождения допустимого базисного решения ЗЛП.
1.
ЗЛП запишем в виде (1), (2) так, чтобы
свободные члены
были неотрицательны. Составим
вспомогательную задачу (3), (4) и выразим
функцию φ через свободные переменные
.
Затем решим задачу (3), (4) симплекс-методом,
включая в симплекс-таблицу строку для
линейной функции f
из задачи (1), (2).
2.
Если оптимальное решение задачи (3), (4)
таково, что
,
то задача (1), (2) не имеет допустимого
решения.
3.
Если задача (3), (4) имеет оптимальное
решение, для которого
,
то, применяя симплекс-метод, добиваются,
чтобы искусственные переменные
все стали свободными. Тогда первые n
координат построенного оптимального
решения (3), (4) образуют допустимое
базисное решение исходной задачи (1),
(2).
Более
того, если из последней симплекс-таблицы
удалить строку с функцией
и столбцы коэффициентов при искусственных
переменных, то остальная часть таблицы
будет начальной симплекс-таблицей
задачи (1), (2).
Пример
1. Найти
неотрицательное решение системы линейных
уравнений
,
минимизирующее функцию
.
Очевидно, ранг матрицы данной системы уравнений равен 2 и свободные члены все положительны.
Составим
вспомогательную задачу: найти
неотрицательное решение системы:,
минимизирующее функцию
.
Переменные
и
образуют искусственный базис. Складывая
уравнения, выразим
через свободные переменные
,
,
,
:
.
Составим симплекс-таблицу для
вспомогательной задачи, включая строку
с функцией
:
Переменные Базис |
|
|
|
|
|
|
Свободные члены |
|
2 |
1 |
–1 |
1 |
1 |
0 |
14 |
|
|
–1 |
2 |
1 |
0 |
1 |
1 |
f |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
3 |
0 |
1 |
2 |
0 |
0 |
15 |
Находим
допустимое базисное решение:.
В последней cтроке
у свободной переменной
коэффициент
3>0,
.
Поэтому элемент
в первом столбце является разрешающим
элементом. После замещения в базисе
переменной
на
и удаления неиспользуемого далее столбца
с переменной
,
получим новую симплекс-таблицу:
Переменные Базис |
|
|
|
|
|
Свободные члены |
|
0 |
|
–5 |
–1 |
1 |
12 |
|
1 |
–1 |
2 |
1 |
0 |
1 |
f |
0 |
2 |
–2 |
–1 |
0 |
–1 |
|
0 |
3 |
–5 |
–1 |
0 |
12 |
Из
таблицы находим второе базисное решение
вспомогательной задачи:
.
В
последней строке таблицы имеется
положительный коэффициент 3 у свободной
переменной
.
Очевидно, элемент
3
– разрешающий элемент в строке
.
Выполним симплексное преобразование,
заменяя в базисе
на
,
получим третью симплекс-таблицу (столбец
таблицы, соответствующий вспомогательной
переменной
далее не нужен, и его можно удалить):
Переменные Базис |
|
|
|
|
Свободные члены |
|
0 |
1 |
– |
– |
4 |
|
1 |
0 |
|
|
5 |
f |
0 |
0 |
|
– |
–9 |
|
0 |
0 |
0 |
0 |
0 |
Из
таблицы находим третье базисное решение
вспомогательной задачи:
.
Это решение является оптимальным и
min
.
Ему соответствует допустимое базисное
решение исходной задачи:
.
Удалив последнюю строку из таблицы, получаем первую таблицу для исходной задачи:
Переменные Базис |
|
|
|
|
Свободные члены |
|
0 |
1 |
– |
– |
4 |
|
1 |
0 |
|
|
5 |
f |
0 |
0 |
|
– |
–9 |
В
последней строке у свободной переменной
коэффициент
.
Поэтому элемент
в столбце
является разрешающим элементом. Применив
симплексное преобразование для замены
в базисе
на
,
получим новую симплекс-таблицу:
Переменные Базис |
|
|
|
|
Свободные члены |
|
5 |
1 |
|
3 |
29 |
|
3 |
0 |
1 |
2 |
15 |
f |
–4 |
0 |
0 |
–3 |
–29 |
Так
как все коэффициенты в последней строке
неположительные, то
– оптимальное базисное решение и
.
Пример 2. На множестве неотрицательных решений системы линейных уравнений
,
где
,
найти минимальное значение функции
.
Перепишем систему уравнений так, чтобы все свободные члены были неотрицательными и введем искусственные переменные. Тогда получим вспомогательную задачу:
найти
неотрицательное решение системы линейных
уравнений
,
минимизирующее функцию
.
Составим
симплекс-таблицу, учитывая, что
и
.
Переменные Базис |
|
|
|
|
|
Свободные члены |
|
–2 |
1 |
1 |
1 |
0 |
4 |
|
1 |
–2 |
–1 |
0 |
1 |
1 |
f |
0 |
1 |
1 |
1 |
0 |
0 |
|
–1 |
–1 |
0 |
0 |
0 |
5 |