Мат_модели
.pdf−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 → min− x1 + 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 = (1−t)X1 +tX 2 = (1−t)(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