Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции рогов / Рогов_Лекция_ 5

.doc
Скачиваний:
25
Добавлен:
10.02.2015
Размер:
370.18 Кб
Скачать

Лекция 5. Метод искусственного базиса

В предыдущем разделе при решении задачи линейного программирования предполагалось, что система ограничений разрешена относительно некоторого базиса, т. е. найдено общее решение системы уравнений и свободные члены в этом решении все неотрицательны.

Пример. Найти допустимое базисное решение системы уравнений:

Ранг матрицы этой системы равен двум, поэтому базисных переменных должно быть две и свободных – тоже две. Прибавив ко второму уравнению первое, получим равносильную систему:

или

Если теперь выбрать и в качестве базисных переменных, то

получим общее решение системы:

Пусть , тогда и – допустимое базисное решение. Задача решена.

Однако не следует думать, что в любой задаче так же легко можно найти допустимое базисное решение или обнаружить, что его нет.

В этом разделе будет определено условие существования допустимого базисного решения ЗЛП и способ его нахождения, если оно существует.

Пусть ЗЛП задана в канонической форме. Дана система линейных уравнений:

(1)

Нужно найти неотрицательное решение этой системы уравнений, которое минимизирует линейную функцию

(2)

Решим более простую задачу: выясним, имеет ли задача (1), (2) допустимое базисное решение и, если имеет, как его найти.

При этом мы будем считать, что выполняются условия:

  1. все свободные члены системы уравнений (1) неотрицательны (в противном случае уравнение можно умножить на –1);

  2. ранг матрицы системы уравнений (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. Пусть задача (1), (2) имеет допустимое базисное решение . Тогда вспомогательная задача имеет соответствующее допустимое базисное решение и . В силу неравенства (5) . Поэтому - оптимальное решение вспомогательной задачи и .

  2. Обратно, пусть задача (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

0

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