Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000414.doc
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
3.59 Mб
Скачать

1.4. Базисное решение злп

Рассмотрим ЗЛП в каноническом виде.

(1.4.1)

, где , .

Будем считать, что , то есть матрица А имеет m линейно независимых столбцов. Допустимое решение , называется базисным решением или опорным планом, если положительным значениям соответствуют линейно независимые столбцы матрицы А.

Базисное решение имеет не больше, чем m положительных компонент. Если число положительных компонент равно m, то решение называется невырожденным, и соответствующие столбцы матрицы А образуют базис в m-мерном пространстве. Если число положительных компонент меньше m, то решение называется вырожденным. Тогда, чтобы получить базис, к тем столбцам, которые соответствуют положительным компонентам, надо добавить столбцы с нулевыми компонентами.

Сформулируем без доказательства.

Утверждение 1: Если ЗЛП разрешима, то для нахождения оптимального решения достаточно перебрать только базисные решения, число которых конечно и не превосходит .

Рассмотрим сначала способ перестроения базисного решения системы без условия неотрицательности.

Пусть матрица А имеет вид

,

где Е – единичная матрица.

Обозначим через множество номеров единичных столбцов матрицы А и через множество остальных номеров столбцов. Вектор X представим в виде , где и Вектор представим в виде . Тогда система примет вид

.

Если положить , то получим базисное решение .

Будем получать новое базисное решение, заменяя один из базисных столбцов на столбец, ранее принадлежащий . Это можно сделать с помощью алгоритма Жордана-Гаусса.

Пусть выбрано (номер столбца, который будет вводиться в базис) и - направляющий элемент.

Шаг 1: l-строка делится на направляющий элемент.

В новой итерации эта строка будет иметь номер k.

,

,

.

Шаг 2: Для

,

.

Шаг 3: ,

.

1.5. Перестроение базисного решения злп

Алгоритм Жордана-Гаусса не учитывает условия неотрицательности переменных. Для того чтобы это условие было учтено, надо выбирать k, а также так, чтобы условие неотрицательности сохранилось.

Так как ЗЛП рассматривается в канонической форме, то начальное базисное решение - неотрицательно.

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

Кроме того, как следует из алгоритма Жордана-Гаусса, для . Следовательно, необходимо выбрать таким образом, чтобы выполнилось условие: для всех .

Если , то для любого .

Если , то существует максимальное , при котором . Его можно найти по правилу .

Алгоритм перестроения базисного решения ЗЛП

Пусть определен столбец с номером k, подлежащий введению в базис.

Шаг 1: Определить l (номер выводимого столбца) по правилу

.

Шаг 2: Переход к алгоритму Жордана-Гаусса.

Шаг 3: Вычислить значение целевой функции по формуле .

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

Пример 1.4. Дана ЗЛП в канонической форме. Требуется найти оптимальное решение с помощью перебора базисных решений.

,

.

Решение. Оформим решение задачи в виде таблицы (табл. 1.4.). В первом столбце поместим текущие базисные переменные, во втором - их коэффициенты в целевой функции, в третьем - базисные координаты текущей точки . Далее переписываем элементы матрицы , помещая над каждым столбцом коэффициент соответствующей переменной в целевой функции. Последний столбец предназначается для определения значения . В последней строке под записывается значение целевой функции, остальные клетки этой строки пока не заполнены.

Таблица 1.4

5

2

-1

-2

1

Базисное решение

-2

3

2

1

-1

1

0

3

1

5

1

1

2

0

1

5

-1

˅

2

3

2

1

-1

1

0

1

2

-1

0

3

-1

1

8

2

1

0

-1

0

1

-2

0

1

-1

1

0

5

˅

5

1

0

-1

0

1

˅

5

1

0

1

0

1

11

Перебраны все базисные точки, и оптимальной точкой является со значением .