Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ: Методичка Забуга С.И.doc
Скачиваний:
21
Добавлен:
12.11.2018
Размер:
2.28 Mб
Скачать

1.6. Симплексный метод с искусственым базисом

Предположим, что мы имеем задачу линейного программирования в каноническом виде:

(1.6.1)

Часто встречается ситуация, когда матрица А системы ограничений не содержит m единичных столбцов, а преобразование ее методом Жордана-Гаусса весьма трудоемко. В этом случае рекомендуется ввести в левые части ограничений задачи так называемые искусственные переменные в таком количестве, чтобы, в совокупности с имеющимися, образовался базис из m единичных столбцов. Отметим важное отличие искусственных переменных от дополнительных, которые вводились в ограничения для преобразования неравенств в равенства: если дополнительные переменные не входили в целевую функцию, то искусственные входят в Z с очень большим положительным коэффициентом Р → +∞. Предположим, мы ввели к искусственных переменных, в результате мы переходим к так называемой Р-задаче:

(1.6.2)

Связь между решениями исходной задачи линейного программирования и Р- задачи определяется следующей ТЕОРЕМОЙ:

Если Х’’ = (х10, х20, …, хn0, xn+10 ,…, xn+k0) – оптимальное решение Р- задачи, то его первые n компонент Х= (х10, х20, …, хn0) будут являться оптимальным решением исходной задачи.

Доказательство данной теоремы можно найти в [1]. Практическая сторона вычислений мало отличается от алгоритма симплекс-метода. Как правило, при пересчете симплекс-таблиц искусственные переменные выводятся из базиса уже на первых шагах, так как в строке оценок присутствуют Δj, содержащие Р → +∞. После исключения из базиса всех искусственных векторов задача решается обычным симплекс-методом.

Пример 1.6.1. Проиллюстрируем данный метод следующим примером. Дана задача линейного программирования:

Z = – 2x1 – 3x2 + x3 → max;

x1 – 3x2 + x3 = 1;

3x1 + 2x2 + x3 ≤ 11;

–2x1 + x2 +3x3 ≥ 13;

xj ≥ 0, j = 1, 2, 3.

Сведем задачу к каноническому виду, заменяя задачу максимизации на задачу минимизации и вводя дополнительные переменные для преобразования ограничений-неравенств в ограничения-равенства:

Z` = –Z = 2x1 + 3x2x3 → min;

x1 – 3x2 + x3 = 1;

3x1 + 2x2 + x3 + x4 = 11;

–2x1 + x2 + 3x3x5 = 13;

xj ≥ 0, j =1, … 5.

Матрица системы ограничений

1 –3 1 0 0

А = 3 2 1 1 0

– 2 1 3 0 –1

содержит только один единичный столбец, значит, для получения начального базисного решения надо ввести две искусственные переменные х6 и х7, соответственно, в первое и третье ограничения. Эти переменные войдут в целевую функцию с коэффициентом Р → +∞. Итак, решаем Р-задачу:

Z` = 2x1 + 3x2x3 + Рх6 + Рх7 → min;

x1 – 3x2 + x3 + х6 = 1;

3x1 + 2x2 + x3 + x4 = 11;

–2x1 + x2 + 3x3x5 + х7 = 13;

xj ≥ 0, j =1, … 7.

Составляем начальную симплекс-таблицу и преобразовываем ее по изложенным выше правилам:

i

Базис

Сбаз

В

c1=2

c2=3

c3= –1

c4=0

c5=0

c6=P

c7=P

КΣ

A1

A2

A3

A4

A5

A6

A7

1

A6

P

1

1

–3

1

0

0

1

0

1

2

A4

0

11

3

2

1

1

0

0

0

18

3

A7

P

13

–2

1

3

0

–1

0

1

15

m+1

Zjcj

14P

P–2

–2P–3

4P+1

0

P

0

0

i

Базис

Сбаз

В

c1=2

c2=3

c3=–1

c4=0

c5=0

c6=P

c7=P

КΣ

A1

A2

A3

A4

A5

A6

A7

1

A3

–1

1

1

–3

1

0

0

1

0

1

2

A4

0

10

2

5

0

1

0

–1

0

17

3

A7

P

10

–5

10

0

0

–1

–3

1

12

m+1

Zj cj

10P–1

–5P–3

10P

0

0

P

–4P–1

0

i

Базис

Сбаз

В

c1=2

c2=3

c3=–1

c4=0

c5=0

c6=P

c7=P

КΣ

A1

A2

A3

A4

A5

A6

A7

1

A3

–1

4

–1/2

0

1

0

–3/10

1/10

3/10

23/5

2

A4

0

5

9/2

0

0

1

1/2

½

–1/2

11

3

A2

3

1

–1/2

1

0

0

–1/10

–3/10

1/10

6/5

m+1

Zjcj

–1

–3

0

0

0

0

–1–P

P

В последней таблице мы наблюдаем один из специальных случаев симплекс-метода: в строке оценок нет положительных чисел, однако в «небазисном» столбце А5 стоит ноль (обычно нули в строке оценок должны располагаться под базисными переменными). Эта ситуация означает, что мы достигли оптимального решения (х1 = 0; х2 = 3; х3 = 4), но оно не единственно, т. е. существует еще одна крайняя точка допустимой области L, где целевая функция достигает такого же минимального значения, именно, Z = –1. Чтобы найти координаты этой точки, надо сделать еще одно преобразование симплекс-таблицы, выбирая в качестве разрешающего столбца столбец с «небазисным» нулем, а разрешающую строку найти обычным способом. В результате получим:

i

Базис

Сбаз

В

c1=2

c2=3

c3=–1

c4=0

c5=0

c6=P

c7=P

КΣ

A1

A2

A3

A4

A5

A6

A7

1

A3

–1

7

11/5

0

1

3/5

0

2/5

0

56/5

2

A5

0

10

9

0

0

2

1

1

–1

22

3

A2

3

2

2/5

1

0

1/5

0

–1/5

0

17/5

m+1

Zj – cj

–1

–3

0

0

0

0

–1–P

P

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

Итак, мы получили два оптимальных решения:

Х(1)опт = (0; 1; 4) и Х(2)опт = (0; 2; 7). Общее решение задачи записывается как выпуклая линейная комбинация данных решений:

Хопт = λХ(1)опт + (1 – λ)Х(2)опт; 0 ≤ λ ≤1.

Замечание. Выше упоминалось, что одним из исходов вычислений по симплекс-методу является установление факта отсутствия допустимых решений у задачи линейного программирования. Этот случай хорошо прослеживается в методе искусственного базиса. Именно, если в какой-нибудь из симплекс-таблиц в последней, (m+1)-ой строке столбца В появится выражение, содержащее множитель Р, а все оценки оптимальности Δj окажутся неположительными, то это будет означать, что в базисе остался искусственный вектор, однако значение целевой функции нельзя уменьшить. Такое возможно лишь в случае, когда ограничения задачи противоречивы, т. е. L = Ø.

Пример 1.6.2. Рассмотрим задачу:

Z = –x1 + x2 → max;

x1 + 2x2 ≤ 3;

–2x1 + x2 ≥ 2;

x1 + x2 ≤ 1; x1 ≥ 0; x2 ≥ 0.

Приводим задачу к каноническому виду и вводим искусственную переменную х5:

Z`= – Z = x1x2 + Рх5 → min;

x1 + 2x2 + x3 = 3;

–2x1 + x2x4 + x5 = 2;

x1 + x2 + x6 = 1;

xj ≥ 0; j = 1, … 6.

Составляем начальную симплекс-таблицу:

i

Базис

Сбаз

В

c1=1

c2=–1

c3=0

c4=0

c5=P

c6=0

КΣ

А1

А2

А3

А4

А5

А6

1

А3

0

3

–1

2

1

0

0

0

5

2

А5

P

2

–2

1

0

–1

1

0

1

3

А6

0

1

1

1

0

0

0

1

4

m+1

Zj cj

2Р

–2Р–1

Р+1

0

P

0

0

Вводим в базис А2 и выводим А6. Пересчитываем таблицу:

i

Базис

Сбаз

В

c1=1

c2=–1

c3=0

c4=0

c5=P

c6=0

КΣ

А1

А2

А3

А4

А5

А6

1

А3

0

1

–3

0

1

0

0

–2

–3

2

А5

P

1

–3

0

0

–1

1

–1

–3

3

А2

–1

1

1

1

0

0

0

1

4

m+1

Zjcj

2Р

–2Р–1

0

0

P

0

Р–1

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

Легко видеть, что ограничения задачи несовместны, т.е. область L не имеет ни одной допустимой точки.