1.9. Решить задачу графически. , 1 2

реклама
1.9. Решить задачу графически.
x1  2 x2  1,
 3 x1  x2  1,
x1  x2  2,
x1  0, x2  0,
f ( X )  x1  x2  min .
Решение:
Выберем на плоскости систему координат с центром в точке О(0;0) и осями координат х1
и х2. Неравенствам x1  0, x2  0 соответствует первая четверть координатной плоскости.
Неравенству x1  x2  2 соответствует полуплоскость, ограниченная прямой x1  x2  2 .
x1  x2  2
x1  0 x2  2
x2  0 x1  2
Подставим в неравенство координаты т. О(0;0): 0  0  2 (верно). Неравенству x1  x2  2
удовлетворяют точки, лежащие на прямой x1  x2  2 , а также точки лежащие в одной
полуплоскости с т. О(0;0) относительно прямой.
Неравенству  3x1  x2  1 соответствует полуплоскость, ограниченная прямой
 3x1  x2  1.
 3x1  x2  1
x1  0 x2  1
x2  2 x1  1
Подставим в неравенство координаты т. О(0;0): 0  0  1 (верно). Неравенству
 3x1  x2  1 удовлетворяют точки, лежащие на прямой  3x1  x2  1, а также точки
лежащие в одной полуплоскости с т. О(0;0) относительно прямой.
Неравенству x1  2 x2  1 соответствует полуплоскость, ограниченная прямой x1  2 x2  1 .
x1  2 x2  1
x1  1 x2  0
x2  1 x1  1
Подставим в неравенство координаты т. О(0;0): 0  0  1 (неверно). Неравенству
x1  2 x2  1 удовлетворяют точки, лежащие на прямой x1  2 x2  1 , а также точки не
лежащие в одной полуплоскости с т. О(0;0) относительно прямой.
Полученную область выделим штриховкой (ABCD).
Функция f ( X )  x1  x2 достигает своего минимума в вершинах найденной области.
Найдем координаты вершин. Из чертежа видно, что А(1;0), В(0;1), D(2;0). Найдем
координаты точки С.
Точка С – точка пересечения прямых x1  x2  2 и x1  2 x2  1 .
 x1  x2  2
 x  2  x2
 x 3
 1
 1

 x1  2 x2  1  2  x2  1
 x2  1
Следовательно, С(3;-1).
Найдем значения функции в вершинах области.
f (0;1)  0  1  1 f (1;0)  1  0  1 f (2;0)  2  0  2 f (3;1)  3  1  4
Наименьшее значение функция принимает в точке В(0;1). Следовательно, В(0;1) –
решение задачи.
2.9 Для задачи линейного программирования составьте двойственную, решите ее
симплексным методом и укажите оптимальное решение исходной задачи.
 3 x1  5 x2  7 x3  8
 4 x  2 x  8 x  9
 1
2
3


 x1  0, x2  0, x3  0
x0  90 x1  100 x2  175 x3  min
а) Составить к данной задаче двойственную x0  90 x1  100 x2  175 x3  min
 3 x1  5 x2  7 x3  8
 4 x  2 x  8 x  9
 1
2
3


 x1  0, x2  0, x3  0
б) Решить двойственную задачу симплексным методом.
Решение:
составим к исходной задаче двойственную задачу:
1. столбцы свободных членов в ограничениях прямой задачи являются коэффициентами
перед переменными целевой функции в двойственной задаче;
2. коэффициенты целевой функции прямой задачи стали столбцом свободных членов в
ограничениях двойственной задачи;
3. количество переменных в двойственной задаче равно количеству ограничений в
прямой задаче;
4. количество ограничений в двойственной задаче равно количеству переменных в
прямой задаче;
5. матрица коэффициентов перед переменными в двойственной задаче есть
транспонированная матрица коэффициентов перед переменными в прямой задаче;
6. так как целевая функция в прямой задаче стремится к максимуму, то в двойственной
задаче она стремится к минимуму.
Таким образом, двойственную задачу линейного программирования для данной
исходной задачи можно записать следующим образом:
8 y1  9 y2  max
 3 y1  4 y 2  90
5 y  2 y  100
 1
2

7 y1  8 y 2  175
 y1 , y 2  0
б) Решим двойственную задачу симплексным методом.
 3 y1  4 y 2  90
5 y  2 y  100
 1
2
, 8 y1  9 y2  max

7
y

8
y
2  175
 1
 y1 , y 2  0
Приведем систему к каноническому виду:
 3 y1  4 y 2  y 3  90
5 y  2 y  y  100
 1
2
4
, z  8 y1  9 y 2  0  y3  0  y 4  0  y5  max

7
y

8
y

y
2
5  175
 1

y1 , y 2  0
Составим симплексную таблицу.
Ci
Базисные переменные
0
y3
8
y1
3
-9
y2
4
0
y3
1
0
y4
0
0
y5
0
z
bi
90
2
0
1
5
y4
7
8
0
0
y5
-8 9
0
0

есть  <=0, поэтому опорный план не является оптимальным.
 90 100 175 
min  ,
,

7 
3 5
0
1
100
175
0
0
0
0
Базисные переменные
0
y3
8
y1
0
8
y1
1
0
y5
0

0
Ci
-9
y2
14
5
2
5
26
5
61
5
0
y3
1
0
0
0
все  >0, поэтому опорный план является оптимальным.
0
y4
3

5
1
5
7

5
8
5
0
y5
0
0
1
0
z
bi
90
8
20
175
8
160
yопт  ( y1 , y 2 )  20,0
z ( y) max  160
оптимальное решение исходной задачи: z( x) min  160 .
3.9. Решить транспортную задачу. Заданы мощности поставщиков аj (j = 1, 2, 3), емкости
потребителей bj (j = 1, 2, 3) и матрица стоимостей перевозок единицы продукции от
каждого поставщика каждому потребителю. Требуется найти план перевозок, при котором
суммарные транспортные затраты будут наименьшими.
bj
25
19
21
аj
40
5
3
6
17
2
1
2
23
7
4
8
Решение:
Перепишем матрицу в более удобном для расчетов виде.
bj
b3
b1
b2
ai
5
3
6
2
1
2
7
4
8
a1
a2
a3
25
a
b
19
i
 40  17  23  80
j
 25  19  21  65
40
17
23
21
i
j
Так как
a > b
i
j
( 80  65 ), то добавим фиктивного потребителя b'4 с потребностями,
j
i
объем которых равен 15, и стоимостями равными 0. Методом наименьших стоимостей
составим первоначальный опорный план.
bj
ai
a1 (40)
b1 (25)
25
5
b2 (19)
b3 (21)
b' 4 (15)
3
6
0
2
0
2
2
a 2 (17)
a 3 (23)
13
1
17
7
4
8
8
15
0
m+n-1=4+3-1=6
План является невырожденным.
Найдем оптимальный опорный план с помощью методов потенциалов:
u i  v j  Cij
(для занятых клеток)
u i  v j  C ij  0 (для незанятых клеток)
bj
b1
ai
5
a1
b3
b2
25
2
a2
3
2
+
17
7
a3
1
-
13

4
b' 4
6
2
8
v1  5
v2  3
0
15
15
21
19
0
+
8
25
0
v3  6
40
u1  0 (начальное условие)
17
u2  2
23
u3  2
v4  2
Вычислим оценки свободных клеток:  ij  ui  v j  Cij
 21  u2  v1  C21  2  5  2  1  0
 23  u2  v3  C23  2  6  2  2  0
 31  u3  v1  C31  2  5  7  0
 32  u3  v2  C32  2  3  4  1  0
Так как  21 ,  23 ,  32  0 , то план не является оптимальным.
Составим цикл из клетки (2;3), чтобы перераспределить перевозки.
min{13;17}=13
Получим новый опорный план.
bj
b1
ai
a1
25
5

+
-
15
2
a2
b3
b2
4
6
0
2
0
8
0
+
1
7
a3
3
b' 4
4
25
19
v1  5
v2  3
13
8
21
v3  4
15
15
40
u1  0 (начальное условие)
17
u2  2
23
u3  4
v4  4
Вычислим оценки свободных клеток:
13  u1  v3  C13  0  4  6  2
 21  u2  v1  C21  2  5  2  1  0
 31  u3  v1  C31  4  5  7  2  0
 32  u3  v2  C32  4  3  4  3  0
Так как  21 ,  31 ,  32  0 , то план не является оптимальным.
Составим цикл из клетки (2;1), чтобы перераспределить перевозки.
min{25;4}=4
Получим новый опорный план.
bj
b1
ai
5
a1
21
4
2
a2

+
a3
b3
b2
19
3
1
7
4
13
8
b' 4
6
0
2
0
+
8
-
21
25
19
v1  5
v2  3
v3  5
0
15
15
40
u1  0 (начальное условие)
17
u2  3
23
u3  3
v4  3
Вычислим оценки свободных клеток:
13  u1  v3  C13  0  5  6  1
 22  u2  v2  C22  3  3 1  1
 31  u3  v1  C31  3  5  7  1  0
 32  u3  v2  C32  3  3  4  2  0
Так как  31 ,  32  0 , то план не является оптимальным.
Составим цикл из клетки (3;1), чтобы перераспределить перевозки.
min{8;4}=4
Получим новый опорный план.
bj
b3
b1
b' 4
b2
ai
a1
21
5
+
19
2
3
7
1
4 25
v1  5

0
2
0
8
0
-
a2
a3
6
4
+
19
v2  3
17
4
21
v3  6
15
15
40
u1  0 (начальное условие)
17
u2  4
23
u3  2
v4  2
Вычислим оценки свободных клеток:
13  u1  v3  C13  0  6  6  0
 21  u2  v1  C21  4  5  2  1
 22  u2  v2  C22  4  3 1  2
 32  u3  v2  C32  2  3  4  1  0
Так как  32  0 , то план не является оптимальным.
Составим цикл из клетки (3;2), чтобы перераспределить перевозки.
min{19;4}=4
Получим новый опорный план.
bj
ai
a1
b1
25
b3
b2
5
15
2
3
1
a2
7
a3
4
4
+

17
4
b' 4
6
+
2
0
8
0
-
21
25
19
v1  5
v2  3
0
v3  7
15
15
40
u1  0 (начальное условие)
17
u2  5
23
u3  1
v4  1
Вычислим оценки свободных клеток:
13  u1  v3  C13  0  7  6  1  0
 21  u2  v1  C21  5  5  2  2
 22  u2  v2  C22  5  3  1  3
 31  u3  v1  C31  1  5  7  1
Так как 13  0 , то план не является оптимальным.
Составим цикл из клетки (1;3), чтобы перераспределить перевозки.
min{15;4}=4
Получим новый опорный план.
bj
ai
a1
b1
25
b3
b2
5
11
2
3
7
1
8
6
0
2
0
8
0
4
a2
a3
b' 4
17
4
25
19
v1  5
v2  3
21
v3  6
15
15
40
u1  0 (начальное условие)
17
u2  4
23
u3  1
v4  1
Вычислим оценки свободных клеток:
 21  u2  v1  C21  4  5  2  1
 22  u2  v2  C22  4  3 1  2
 31  u3  v1  C31  1  5  7  1
 33  u3  v3  C33  1  6  8  1
Так как все оценки  0, то план является оптимальным.
 25 11 4 


X   0 0 17 
0 8 0


f опт  25  5  11 3  4  6  17  2  8  4  125  33  24  34  32  248
5.9. Найти кратчайший путь от вершины х0 до всех остальных вершин графа. Граф
описывается перечнем всех своих дуг хiхj и их длинами lij. Дуга хiхj кратко обозначается
парой чисел i, j, длина lij задается одним числом. Так, например, дуга х3х5 обозначается
парой чисел 3, 5 и т.п.
0,1 0,2 0,3 1,2 1,6 2,5
2,7 3,4 4,8 5,4 5,8 6,2 6,5 6,7 7,8
17
11
12
13
21
6
8
16
14
9
10
23
9
17
21
Решение:
Путь от вершины х0 до вершин х1, х2, х3 задан в условии задачи (см. таблицу):
 01  17
 02  11
 03  12 .
Найдем путь от вершины х0 до всех оставшихся вершин графа - х4, х5, х6, х7, х8.
Запишем наиболее кратчайшие пути до вершины х4: x04  x03  x34 , x04  x02  x25  x54 .
Найдем длину каждого пути:  04   03   34 (  04  12  16  28 ),  04   02   25   54
(  04  11  6  9  26 ). min{ 28;26}  26 . Значит, кратчайшим путем является путь
x04  x02  x25  x54 , длина которого равна 26.
Кратчайший путь до вершины х5: x05  x02  x25 , его длина -  05   02   25  11  6  17 .
Запишем наиболее кратчайшие пути до вершины х6: x06  x01  x16 , его длина  06   01   16  17  21  38 .
Кратчайший путь до вершины х7: x07  x02  x27 , его длина -  07   02   27  11  8  19 .
Запишем наиболее кратчайшие пути до вершины х8: x08  x02  x25  x58 ,
x08  x02  x27  x78 , x08  x03  x34  x48 . Найдем длину каждого пути:  08   02   25   58
(  08  11  6  10  27 ),  08   02   27   78 (  08  11  8  21  40 ),  08   03   34   48
(  08  12  16  14  42 ). min{ 27; 40;42}  27 . Значит, кратчайшим путем является путь
 08   02   25   58 , длина которого равна 27.
Скачать