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

Мат_модели

.pdf
Скачиваний:
13
Добавлен:
13.03.2015
Размер:
734.08 Кб
Скачать

3x1 + 2x2 + x3 = 4, 21. z = 2x1 2x2 x3 x5 13 min при x 0 и 5x1 3x2 x4 = −25,

2x1 3x2 + x5 = 6.

 

 

 

 

 

2x

2x

+ x

=1,

 

z = 3x2

+ x4

 

 

 

1

 

2

3

 

22.

+8 max

при

x 0 и 3x1 2x2 4,

 

 

 

 

 

 

x

 

+ x

+ x

=1.

 

 

 

 

 

 

1

 

2

4

 

23.

z = −x1

x3

10 min при x 0 и 2x1 2x3 +3x4 12,

 

 

 

 

 

x1 + x2 + 2x3 x4 =1.

 

 

 

 

 

4x1

+3x2 12,

24.

z = 2x2

x4

+12 max при x 0 и 4x1

+ x2 + x3 = 8,

 

 

 

 

 

4x

 

x

+ x

= 8.

 

 

 

 

 

 

1

2

4

 

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

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

Пусть исходная система нетривиальных ограничений задана в общем виде

a x

+a x

2

+K+a

x

n

= b

,

 

11 1

12

 

1n

 

 

1

 

 

a21x1 +a22 x2 +K+a2n xn = b2 ,

 

........................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

+a

m2

x

2

+K+a

mn

x

n

= b

,

 

m1 1

 

 

 

 

 

m

 

где bi 0,i =1,K, m. Выполнения последнего условия всегда можно до-

биться, умножив уравнения на 1. Введем в систему новые (искусственные) переменные y1, y2 ,K, ym

a x

+a x

2

+K+a

 

x

n

+ y = b ,

 

11 1

12

 

1n

 

 

1

 

1

 

a21x1 +a22 x2 +K+a2n xn + y2 = b2 ,

 

........................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

+a

m2

x

2

+K+a

mn

x

n

+ y

m

= b

,

 

m1 1

 

 

 

 

 

m

 

20

так что новая система имеет допустимое базисное решение (0,0,K,0;b1,b2 ,K,bm ) Rn+m . Рассмотрим вспомогательную целевую функ-

цию F(x1, x2 ,K, xn ; y1, y2 ,K, ym )= y1 + y2 +K+ ym

и решим симплекс-методом

задачу

 

 

 

 

 

 

 

 

 

 

F = y1 + y2 +K+ ym min

 

 

a x

+ a x

+K+ a x

+ y = b ,

11 1

12

2

1n

n

1

 

1

 

 

+ a22 x2 +K+ a2n xn + y2 = b2 ,

a21x1

........................................

 

 

 

 

x

+ a

x

+K+ a

x

+ y

 

= b .

a

m

 

m1 1

 

m2 2

 

mn n

 

m

Если последняя задача имеет решение, то возможны два случая:

1. Если min F > 0 , то система ограничений не имеет допустимого базиса и задача не имеет решений.

2. Если min F = 0 , то система ограничений имеет неотрицательное базисное решение. Чтобы получить систему ограничений, эквивалентную исходной, но с выделенным допустимым базисом, необходимо, чтобы в заключительной симплекс-таблице все искусственные переменные были свободными.

Пример 9. Рассмотрим задачу из примера 6 § 3:

z = 3x1 x2 2x3 + 6x4 10 min

x1 +3x2 + 7x3 x4 = 6,x1 x2 x3 +3x4 = 2,

x 0.

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

F

= y1 + y2 min

 

 

 

+3x2 +7x3 x4 + y1 = 6,

x1

x

x

2

x +3x

4

+ y

2

= 2.

1

 

3

 

 

В системе выделен допустимый (искусственный) базис y1, y2 , поэтому выражаем из уравнений базисные переменные

21

y1 = 6 x1 3x2 7x3 + x4 ,y2 = 2 x1 + x2 + x3 3x4

и подставляем в выражение для F : F = y1 + y2

=8 2x1 2x2 6x3 2x4 . Пере-

писываем это равенство

в виде

F +2x1 +2x2 +6x3 +2x4 =8 и формируем

симплекс-таблицу

 

 

 

 

 

 

 

базис

bi

x1

x2

x3

x4

y1

y2

y1

6

1

3

7

1 1

0

y2

2 1 1 1 3 0 1 .

F

8

2

2

6

2

0

0

Выводим из базиса переменную y2 и вводим в базис x1 . Получим

базис

bi

x1

x2

x3

x4

y1

y2

y1

4 0 4 8 4 1 1

x

2 1 1 1 3

0 1 .

1

 

 

 

 

 

 

 

F

4

0

4

8

4

0

2

Далее, выводим из базиса переменную y1

и вводим в базис x2 . Для этого

делим первую строку на 4 , получаем таблицу

 

 

базис

bi

x1

x2

x3

x4

y1

y2

y1

1 0 1

2 1 1/ 4 1/ 4

x1

2 1 1 1 3

0

1

F

4

0

4

8

4

0

2

и делаем шаг симплекс-метода

 

 

 

 

 

 

базис

bi

x1

x2

x3

x4

y1

y2

x2

1 0 1 2 1 1/ 4 1/ 4

x

3 1 0 1 2 1/ 4 3/ 4 .

1

 

 

 

 

 

 

 

F

0

0

0

0

0

1

1

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

базис

bi

x1

x2

x3

x4

 

 

 

x2

1

0

1

2

1 x2

+2x3 x4

=1,

x1

3

1

0

1

2

x1 + x3 +2x4 = 3,

 

 

 

22

т.е. получаем систему ограничений с выделенным допустимым базисным решением, которая равносильна исходной системе ограничений и совпадает с системой, полученной (другим способом) в примере 6 §3.

Пример 10. Решить задачу

z = x1 +3x2 +8 minx1 + x2 + x3 =1,

x1 +3x2 x4 =19,

3x1 + x2 + x5 = 33,

x 0

симплекс-методом.

Решение. В данной задаче допустимый базис выделен лишь частично (переменные x3 , x5 ), поэтому ограничимся лишь введением одной

искусственной переменной y

и решим следующую задачу

F = y min,

 

 

 

 

 

 

 

 

 

+ x3 =1,

 

 

 

x1 + x2

 

 

 

x +3x

2

x

4

+ y =19,

 

 

 

1

 

 

 

 

 

 

 

 

3x

+ x

2

+ x

 

= 33

 

 

 

 

1

 

 

5

 

 

 

 

 

Так как F = y =19 x1 3x2 + x4 ,

 

 

то

 

F + x1 +3x2 x4 =19 . Аналогично,

z = x1 +3x2 +10 z x1 3x2 =10 и мы,

 

решая задачу для функции F , внесем

в таблицу строку для функции z ,

одновременно преобразуя и ее. Полу-

чим

 

 

 

 

 

 

 

 

 

 

 

базис

bi

x1

 

x2

x3

x4

x5

y

x3

1

1

 

1

 

1

0

0

0

y

19

1

 

 

3

0

1

0

1

x5

33

3

 

 

1

 

0

0

1

0

z

8

1

3

0

0

0

0

F

19

1

 

 

3

0

1

0

0

Сделаем шаг симплекс-метода с выделенным разрешающим элементом

23

базис

bi

x1

x2

x3

x4

x5

y

x2

1

1

1

1

0

0

0

y

16

4

0

3

1

0

1

x5

32

4

0

1

0

1

0

z

11

4

0

3

0

0

0

F

16

4

0

3

1

0

0

 

базис

bi

x1

x2

x3

x4

x5

y

 

x2

1

1

1

1

0

0

0

 

y

4

1

0

3 / 4 1/ 4 0 1/ 4

 

x

32

4

0

1

0

1

0

 

5

 

 

 

 

 

 

 

 

z

11

4

0

3

0

0

0

 

F

16

4

0

3

1

0

0

Выводим из базиса переменную y и вводим в базис x1 .

базис

bi

x1

x2

x3

x4

x5

y

x2

5

0

1

1/ 4 1/ 4 0 1/ 4

x1

4

1

0

3/ 4 1/ 4 0

1/ 4

x5

16

0

0

2

1

1

 

1

z

27

0

0

0

1

0

 

1

F

0

0

0

0

0

0

 

1

Вспомогательная задача F min решена и искусственная переменная y

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

базис

bi

x1

x2

x3

x4

x5

x2

5

0

1

1/ 4 1/ 4 0

x1

4

1

0

3/ 4 1/ 4 0

x5

16

0

0

2

1

1

z

27 0

0

0

1

0

Более того, данная симплекс-таблица – заключительная, поэтому решением задачи является X1 = (4,5,0,0,16) , а так как имеется свободный стол-

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

24

базис

bi

x1

x2

x3

x4

x5

 

базис

bi

x1

x2

x3

x4

x5

x2

5

0

1

1/ 4 1/ 4 0

 

x2

3

0

1

0

3/ 8 1/ 8

x1

4

1

0

3/ 4 1/ 4 0

x1

10 1

0

0

1/ 8

3/ 8 ,

x5

8

0

0

1

1/ 2 1/ 2

x3

8

0

0

1

1/ 2

1/ 2

z

27 0

0

0

1

0

 

z

27 0

0

0

1

0

получаем альтернативное решение X 2 = (10,3,8,0,0) . Как и в примере 7

убеждаемся, что альтернатив больше нет, поэтому общее решение задачи

X = (1t)X1 +tX 2 = (1t)(4,5,0,0,16)+t(10,3,8,0,0)= (4 +6t,5 2t,8t,0,16 16t),t [0,1]. Ответ. zmin = 27 при X = (4 +6t,5 2t,8t,0,16 16t),t [0,1].

Пример 11. Решить задачу

z = x1 + 2x2 +9 maxx1 + x2 x3 = 2,

x1 + 4x2 + x4 =1,x1 + x2 x5 = 3,

x 0.

симплекс-методом.

Решение. Вводим две искусственные переменные y1, y2 и решим следующую задачу

F = y1 + y2 minx1 + x2 x3 + y1 = 2,x1 + 4x2 + x4 =1,

x1 + x2 x5 + y2 = 3,

x 0, y 0.

Из системы

ограничений

преобразуем F = y1 + y2

= 5 2x2 + x3 + x5 , т.е.

F + 2x2 x3 x5

= 5 . Аналогично,

z x1 2x2

= 9 и мы решаем задачу для

функции F , включив при этом в таблицу строку для функции z :

 

базис

bi

x1

x2

x3

x4

x5

y1

y2

 

y1

2

1

1

1 0 0

1

0

 

x5

1

1

4

0

1

0

0

0

 

y2

3

1 1

0

0

1 0 1

 

z

9

1 2 0

0

0

0

0

 

F

5

0

2

1 0 1 0

0

25

В строке оценок есть единственный положительный элемент, поэтому вводим в базис x2 и выводим из базиса x5 :

базис

bi

x1

x2

 

x3

x4

 

x5

y1

y2

 

y1

2

1

1

 

1 0

 

0

1 0

 

x5

1/ 4

1/ 4

1

 

0

1/ 4

0

 

0

0

 

y2

3

1 1

 

0

0 1 0 1

z

9

1 2 0

0

 

0

0 0

 

F

5

0

2

 

1 0 1 0 0

 

базис

bi

x1

 

x2

 

x3

 

x4

 

x5

y1

y2

y1

7 / 4

3 / .4

 

0

1 1/ 4

0

1

0

x2

1/ 4

1/ 4

 

1

 

0

1/ 4

 

0

0

0

y2

11/ 4

5 / 4

0

 

0

1/ 4

1

0

1

z

19 / 2 1/ 2 0

 

0

1/ 2

 

0

0

0

F

9 / 2 1/ 2 0 1 1/ 2 1 0

0

Все элементы строки оценок для задачи F min отрицательны, поэтому симплекс-таблица – заключительная, но, так как min F = 9 / 2 > 0 , то исходная задача не имеет ни одного допустимого базиса и решений не имеет.

Задачи для самостоятельного решения

Решить задачи линейного программирования, используя метод искусственного базиса

25.

z = −x1

+3x2 +5x3 + x4 7 min при x 0 и 2x1 +11x2 +12x3 +3x4 =14,

 

 

 

 

9x2 +12x3 +3x4 =12.

 

 

 

3x1 x2 + x3 + 6x4 + x5 = 6,

26.

z = 6x2

+ x3 x4

+13 max при x 0 и x1 +5x3 + x4 7x5

= 6,

 

 

 

x

+ 2x +

3x

+ x

+ x = 6.

 

 

 

1

2

 

3

4

5

 

 

 

 

4x1 + x2 + x3 + 2x4 + x5 = 8,

27.

z = 6x1

x3 + x4

+ 2x5 8 max при x 0 и 2x1 x2 + x4 = 2,

 

 

 

 

x + x

2

+ x = 2.

 

 

 

 

1

 

5

 

26

 

3x

 

+

4x

2

+ x

=12,

28. z = −5x1 3x2 2x3 + x4 x5 8 min при

 

1

 

 

3

 

x 0 и 3x1

+

2x2

+ x3

+ x4 + x5 =16,

 

x

 

3x

+ x = 3.

 

1

 

 

2

 

5

 

x1 + x2 + x3 = 2, 29. z = 7x1 + 2x3 x4 + x5 + 24 max при x 0 и 3x1 x2 + x4 = 3,

5x1 + 2x2 + x3 + x4 + x5 =11.

x1 + 2x2 + x3 = 2,

30. z = 7x2 + x3 x4 x5 +17 min при x 0 и 9x1 + x2 + x3 + x4 + 2x5 = 26,

3x1 2x2 + x5 = 3.

x1 x2 + x3 =1, 31. z = x1 + x3 + x4 + x5 + 29 max при x 0 и 3x1 + x2 + x5 = 7.

5x1 + 2x2 + 2x3 + x4 +3x5 =17.

27

ВЗАИМНО ДВОЙСТВЕННЫЕ ЗАДАЧИ

§1. Основные определения и теоремы

Рассмотрим пару двойственных задач линейного программирова-

ния

AX B,

 

 

 

AtY C,

 

~

0,

 

 

 

и

~

0,

 

 

X

 

 

 

Y

 

 

 

 

t

X

+ c0

max

 

 

t

Y + c0

min

z = C

 

 

T

= B

где A =

 

 

 

aij

 

 

 

 

m ×n

матрица,

X = (x1 , x2 ,K, xn )t ,

Y = (y1 , y2 ,K, ym )t ,

 

 

 

 

B = (b1 ,b2 ,K,bm )t ,

C = (c1 , c2 ,K, cn )t

векторы-столбцы

соответствующей

размерности,

а вектора

~

 

t

~

t

с индексами

X = (xi1 , xi2

,K, xik ),

Y = (y j1 , y j2 ,K, y jl )

1 i1 i2 ≤K≤ ik n , 1 j1 j2 ≤K≤ jk m – части векторов X ,Y

(то есть три-

виальные ограничения налагаются лишь на часть координат векторов X ,Y ). Нетривиальные ограничения в обеих задачах могут быть как типа неравенств (со знаком « » или « »), так и типа уравнений. Чтобы понять связь между этими задачами, построим расширенные матрицы

 

a11

a12

K a1n

 

 

b1

 

 

 

 

 

a

21

a

22

K

a

2n

 

=

 

b

 

 

 

 

 

 

 

 

 

 

 

2

 

~

K

K

K K

 

K

 

K

A = a

m1

a

m2

K

a

mn

 

 

b

 

 

 

 

 

 

 

 

 

 

m

 

 

~

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

K

c

 

 

 

 

c

 

c

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

n

 

 

 

0

max

 

 

 

 

 

 

 

 

 

 

 

и

28

 

a11

a21

K am1

 

 

c1

 

 

 

 

 

a

a

22

K

a

m2

 

=

 

c

2

 

 

 

12

 

 

 

 

 

 

 

 

~

K

K

K K

 

K

 

K

A′ =

a

a

 

K

a

 

 

 

c

 

 

 

 

2n

mn

 

 

n

 

 

1n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

K

b

 

 

 

c

 

 

b

 

 

 

 

 

 

 

1

 

2

 

 

m

 

 

 

 

0

min

 

 

 

 

 

 

 

 

обеих задач. Таким образом,

1.Матрица нетривиальных ограничений двойственной задачи получается из соответствующей матрицы исходной задачи транспонированием.

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

3.Если исходная задача является задачей на максимум (на минимум), то двойственная задача будет задачей на минимум (на максимум),

истрока тривиальных ограничений переходит в столбец нетривиальных ограничений без изменения знака неравенства с « » на « » и наоборот (соответственно, с изменением знака). Если на переменную в исходной задаче тривиальное ограничение отсутствует, то соответствующее ограничение в двойственной задаче будет типа уравнения; иными словами, «~» переходит в «=». Столбец нетривиальных ограничений переходит в строку тривиальных ограничений с изменением знака неравенства с « » на « » и наоборот (соответственно, без изменения знака), а «=» переходит в «~».

Пример 1. Для задачи

z = 4x1 5x2 +8x3 10x4 + x5 +14 min

x

2x

+ 7x x 37,

 

1

2

 

3

5

 

 

 

 

 

 

 

 

4x1 7x2 + 4x4 9x5 ≥ −28,

2x + 6x

4x

+ x =

48,

 

 

1

3

4

5

0.

x

1, x

 

0, x

0, x

 

1

2

 

3

4

 

29