Математическое программирование
.pdf
|
|
|
|
|
|
|
а 8 |
Х5 |
|
|
|
|
|
Х2 |
|
|
|
|
а 9 |
|
|
а 1 |
|
а 7 |
|
|
а 10 |
|
|
|
|
|
|
|
|
|
|
Х8 |
|
|
|
|
а 2 |
|
|
|
|
|
|
1 |
Х1 |
|
|
Х4 |
|
|
|
|
|
а 3 |
|
а 6 |
|
а 12 |
а 11 |
а 15 |
|||
|
|
|
|
|
|||||
|
|
|
|
|
|
а 5 |
Х6 |
а 13 |
Х9 |
|
|
Х3 |
|
|
|
|
|
||
|
|
а 4 |
|
|
|
а 14 |
|
|
|
|
|
|
|
Х7 |
|
|
|
||
|
|
|
|
|
|
|
|
|
Упорядочим вершины данной сети методом Фалкерсона. Пронумеруем вершины в произвольном порядке х1, х2, …, х9. Находим вершины, в которые не входит ни одна дуга. Это будет группа I, в которую входит лишь одна вершина х1=1.
Исключаем из рассмотрения вершину х1=1 и исходящие из неё дуги (помечаем одной чертой).
В оставшейся сети находим вершины, в которые не входит ни одна дуга. Это будут вершины х2 и х3, они образуют группу II и нумеруются в произвольном порядке, например, х2=2; х3=3.
Исключаем из рассмотрения вершины х2, х3 и дуги, из них исходящие (помечаем двумя чертами) и т.д.
Изобразим группы упорядоченных дуг с пронумерованными вершинами:
80
|
|
|
|
4 |
|
a9 2 |
|
|
|
|
|
a8 6 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
2 |
|
|
|
8 |
|
a15 6 |
|
a1 |
|
a7 9 |
|
a 3 |
|
|
|||
a 7 |
|
|
|
|
|||||
|
|
|
|
|
|||||
1 |
|
|
|
|
10 |
|
|
|
|
|
a2 5 |
5 |
|
|
|
a11 8 |
9 |
||
1 |
|
|
|
4 |
|||||
|
|
a12 |
|
9 |
|
||||
|
|
a6 5 |
|
a |
|
||||
|
9 |
3 |
|
|
|
7 |
13 |
|
|
a3 |
|
a5 |
7 |
|
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||
|
|
a4 |
4 |
|
|
a14 3 |
|
|
|
I |
|
II |
III |
6 |
|
IV |
|
V |
|
|
|
|
|
|
|
|
|
||
Задание 2. Запишем временные характеристики событий непосредственно на сети. Для этого разобьем каждый кружок на четыре сектора:
|
i |
t p i |
tn i |
|
R i |
где i – номер события, t p i – ранний срок свершения события i , tn i – поздний срок свершения события i , R i – резерв времени события i .
I. При вычислении ранних сроков свершения событий перемещаемся по сети от начального события 1 к конечному событию 9 в порядке возрастания номеров с использованием формулы:
81
t p 1 0,
t p j max t p i t i, j
i, j
j
где j - множество работ, входящих в j-ое событие;
t p i - ранний срок свершения начального события работы (i,j);
t (i,j) – продолжительность работы (i,j). Например,
t p 2 max t p 1 7 max 0 7 7; t p 3 max t p 1 9 max 0 9 9;
t p 5 max t p 2 9;t p 1 5;t p 3 5 max 7 9;0 5;9 5 16;
и т.д.
Полученные результаты записываем в левый сектор кружка.
II. При вычислении поздних сроков свершения событий перемещаемся по сети от завершающего события 9 к начальному событию
1 в порядке убывания номеров с использованием формулы:
tn 9 t p 9 ,
tn i min tn j t i, j ,i, j i ,
|
|
– множество работ. выходящих из i-ого события; tn j – |
где |
i |
поздний срок свершения конечного события работы (i,j). Например,
tn 9 t p 9 29;
tn 8 min tn 9 6 29 6 23; tn 7 min tn 9 9 29 9 20;
tn 5 min tn 9 8;tn 8 3;tn 7 4 min 29 8;23 3;20 4 min 21;20;16 16;
и т.д.
Полученные результаты заносим в правый сектор кружка.
82
III. Разность между поздним и ранним сроками свершения собы-
тия составляет резерв R(i) времени этого события т.е.
R i tn i t p i .
Например, R 5 tn 5 t p 5 16 16 0. R 8 tn 8 t p 8 23 19 4.
Полученные результаты заносим в нижний сектор кружка.
6
2
7 7
0
7
9
1
0 |
0 |
5 |
0
9
5
n |
3 |
9 |
11 |
|
2 |
4
4 |
|
|
|
|
|
13 |
21 |
2 |
|
|
|
8 |
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
19 |
23 |
|
|
|
|
|
4 |
6 |
|
|
|
3 |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
9 |
|
|
8 |
29 |
29 |
|
16 |
16 |
|
|||
|
|
|
0 |
||
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
9 |
|
|
|
|
|
|
|
|
|
|
7 |
|
|
7 |
|
20 |
20 |
3 |
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
0 |
|
|
|
6
13 20
7
Задание 3. Так как у критических событий резерв времени равен нулю, то критический путь лежит на событиях с нулевыми резервами (указан двойной линией).
83
Если продолжительность работы принять за длину соответствующей дуги, то критическим называют путь максимальной длины от начального до завершающего события. Длина этого пути определя-
ет критическое время tкр выполнения всего комплекса работ, т.е.
tкр 7 9 4 9 29.
Задание 4.При распределении ресурсов при выполнении отдельных работ комплекса могут быть использованы такие показатели резерва времени работы (i,j), как
– полный резерв Rn i, j : максимальная задержка работы (i,j) без
нарушения критического срока
Rn i, j tn j t p i t i, j ;
|
– свободный резерв |
Rсв i, j :максимальная |
задержка работы |
||||||||||
(i,j), которая не влияет на ранние сроки последующих работ |
|
||||||||||||
|
Rсв i, j t p j t p i t i, j Rn i, j R j . |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа |
(1,5) |
(1,3) |
(3,6) |
(3,7) |
(3,5) |
(2,4) |
(4,8) |
(5,8) |
|
(5,9) |
(6,9) |
(8,9) |
|
(i,j) |
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
i, j |
16-0- |
11-0- |
20-9- |
20-9- |
16-9- |
21-7- |
23-13- |
23-16- |
|
29-16- |
29-13- |
29-19- |
n |
|
5=11 |
9=2 |
4=7 |
7=4 |
5=2 |
6=8 |
2=8 |
3=4 |
|
8=5 |
3=13 |
6=4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
i, j |
11-0=11 |
2-2=0 |
7-7=0 |
4-0=4 |
2-0=2 |
8-8=0 |
8-4=4 |
4-4=0 |
|
5-0=5 |
13-0=13 |
4-0=4 |
св |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение задания типа 71–80 |
|
|
|
|
|||||
|
На строительство четырех предприятий, производящих некото- |
||||||||||||
рую однородную продукцию, выделено 6 млн.усл.руб. По каждому
из четырех предприятий известен возможный объем выпуска про- |
||
дукции gi x |
i 1,4 |
в зависимости от капиталовложений |
x 0 x 6 , выделенных на строительство.
84
|
|
1 |
2 |
3 |
4 |
5 |
6 |
g x |
21 |
23 |
25 |
29 |
30 |
31 |
|
1 |
|
|
|
|
|
|
|
g2 |
x |
20 |
22 |
26 |
28 |
29 |
32 |
g3 |
x |
19 |
21 |
24 |
27 |
29 |
33 |
g4 |
x |
20 |
21 |
25 |
27 |
29 |
33 |
Требуется:
1.Составить математическую модель задачи распределения капиталовложений в строительство предприятий, чтобы суммарный объем выпускаемой продукции был максимальным, и найти решение этой задачи.
2.Используя полученное решение, найти:
а) оптимальное (в смысле наибольшего объема выпускаемой продукции) распределение 6 млн.усл.руб. между тремя предприятиями,
б) оптимальное распределение 4 млн.усл.руб. между тремя предприятиями.
Задание 1. Обозначим через F1 x , F2 x , F3 x , F4 x максималь-
ное значение объема выпускаемой продукции, если бы выделяемый |
||||||||||||
объем ресурса x, |
0 x 6 , |
был выделен либо одному предприя- |
||||||||||
тию F1 x , |
либо распределен между двумя предприятиями F2 x , |
|||||||||||
либо между тремя предприятиями |
F3 x , либо между четырьмя |
|||||||||||
предприятиями F4 x . |
|
|
|
|
|
|
||||||
1 |
ш а г . |
Пусть ресурс х выделяется только одному (первому) |
||||||||||
предприятию. Тогда F1 x = g1 |
x |
|
|
|
|
(1) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
х |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
6 |
|
F1 |
x |
|
21 |
|
23 |
|
25 |
|
29 |
|
30 |
31 |
2 |
ш а г . |
Пусть |
объем средств |
x, 0 x 6 |
распределяется |
|||||||
между двумя предприятиями. Если второму предприятию выделяют x2 средств, то первому предприятию остается x x2 средств и максимальный объем выпускаемой продукции будет равен
85
F2 x = max g2 x2 F1 x x2 . |
(2) |
0 x2 x |
|
Запишем вычисления значений F2 x в таблице, при этом справа |
|
будем отмечать оптимальные значения ресурса |
x2 , выделенные |
второму предприятию. Первое слагаемое в сумме будет соответствовать g2 x2 , а второе F1 x x2 = g1 x x2 .
Таблица 1
x2 |
|
|
|
|
|
|
|
|
x2 |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
F2 |
|
x |
|
|
|
|
|
|
|
|
|
1 |
0+21 |
20+0 |
|
|
|
|
|
21 |
0 |
|
=21 |
=20 |
|
|
|
|
|
|
|
2 |
0+23 |
20+21 |
22+0 |
|
|
|
|
41 |
1 |
|
=23 |
=41 |
=22 |
|
|
|
|
|
|
3 |
0+25 |
20+23 |
22+21 |
26+0 |
|
|
|
43 |
1,2 |
|
=25 |
=43 |
=43 |
=26 |
|
|
|
|
|
4 |
0+29 |
20+25 |
22+23 |
26+21 |
28+0 |
|
|
47 |
3 |
|
=29 |
=45 |
=45 |
=47 |
=28 |
|
|
|
|
5 |
0+30 |
20+29 |
22+25 |
26+23 |
28+21 |
29+0 |
|
49 |
1,3 |
|
=30 |
=49 |
=47 |
=49 |
=49 |
=29 |
|
|
,4 |
6 |
0+31 |
20+30 |
22+29 |
26+25 |
28+23 |
29+21 |
32+0 |
51 |
2,3 |
|
=31 |
=50 |
=51 |
=51 |
=51 |
=50 |
=32 |
|
,4 |
Поясним вычисления в табл. 1. |
|
|
|
|
|
1-я строка: |
|
|
|
|
|
x 1 , тогда x2 |
принимает значения: x2 = 0 и x2 = 1. Поэтому |
|
|||
F2 1 max g2 |
0 F1 1 , g2 1 F1 0 max 0 21, 20 0 21 |
||||
при x = 0. |
|
|
|
|
|
2 |
|
|
|
|
|
2-я строка: |
|
|
|
|
|
x 2 , тогда x2 = 0, x2 = 1 и x2 = 2. Поэтому |
|
|
|
|
|
F2 1 max g2 0 |
F1 2 , g2 1 F1 1 , g2 2 F1 |
0 |
при |
|
= 1. |
max 0 23, 20 21, 22 0 max(23,41,22) 41 |
|
x2 |
|||
|
|
|
|
||
86
3-я строка: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 3 , тогда x2 |
= 0 x2 |
= 1, x2 = 2, x2 = 3. Поэтому |
|
|
|
|
|||||||||||
F2 3 max g2 |
0 F1 |
3 , g2 1 F1 2 , g2 2 F1 1 , g2 3 F1 0 |
|||||||||||||||
max 0 25, 20 23, 22 21, 26 0 max 25,43,43,26 43 |
|
||||||||||||||||
при x2 = 1 или x2 = 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
4-я строка: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 4 , тогда |
|
x2 =0 x2 |
=1, x2 |
=2, x2 =3, x2 =4. Поэтому |
|
|
|||||||||||
|
g |
2 |
0 F |
4 , g |
2 |
1 F 3 , g |
2 |
2 F 2 , g |
2 |
3 |
F 1 , |
|
|||||
|
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
||||
F2 |
4 max g |
2 |
4 F |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
max 0 29, 20 25, 22 23, 26 21, 28 0 |
max(29,45,47,28) 47 |
||||||||||||||||
при x2 =3. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5-я строка: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 5 , тогда |
x2 =0 x2 |
=1, x2 |
=2, x2 |
=3, x2 |
=4, x2 |
=5. Поэтому |
|
||||||||||
F2 |
5 max g2 |
0 F1 |
5 , g2 |
1 F1 |
4 , g2 2 F1 |
3 , g2 3 F1 2 , |
|||||||||||
g2 |
4 F1 1 , g2 5 F1 0 |
|
|
|
|
|
|
|
|
|
|
|
|||||
max 0 30, 20 29, 22 25, 26 23, 28 21, 29 0 |
|
|
|||||||||||||||
max 30,49,47,49,49,28 49 при x =1,3,4. |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
6-я строка: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 6 , тогда |
|
x2 =0 x2 =1, |
|
x2 =2, |
x2 =3, |
x2 =4, |
x2 =5, |
x2 =6. По- |
|||||||||
этому
F2 6 max g2 0 F1 6 , g2 1 F1 5 , g2 2 F1 4 , g2 3 F1 3 ,
g2 4 F1 2 , g2 (5) F1 (1), g2 (6) F1 (0))
max 0 31, 20 30, 22 29, 26 25, 28 23, 29 21, 32 0
max 31,50,51,51,51,50,32 51 при x2 =2,3,4.
3 шаг. Пусть объем средств x 0 x 6 распределяется между тремя предприятиями. Если третьему предприятию выделяют x3
87
средств, то оставшиеся x x3 распределяют между первым и вто-
рым и максимальный объем выпускаемой продукции будет равен |
||||||||||||||||
|
F3 x = |
max g3 |
x3 F2 |
x x3 |
|
|
|
|
|
(3) |
|
|||||
|
|
|
0 x3 x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запишем вычисления значений F3 x |
в таблице, где первое сла- |
||||||||||||||
гаемое соответствует g3 x3 , а второе – |
F2 x x3 , которое берем |
|||||||||||||||
из таблицы 1. |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Таблица 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3 |
|
|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
6 |
F3 |
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0+21 |
|
19+0 |
|
|
|
|
|
|
|
|
|
21 |
|
0 |
|
|
=21 |
|
=19 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
0+41 |
|
19+21 |
|
21+0 |
|
|
|
|
|
|
|
41 |
|
0 |
|
|
=41 |
|
=40 |
|
=21 |
|
|
|
|
|
|
|
|
|
|
3 |
|
0+43 |
|
19+41 |
|
21+21 |
|
24+0 |
|
|
|
|
|
60 |
|
1 |
|
|
=43 |
|
=60 |
|
=42 |
|
=24 |
|
|
|
|
|
|
|
|
4 |
|
0+47 |
|
19+43 |
|
21+41 |
|
24+21 |
27+0 |
|
|
62 |
|
1,2 |
||
|
|
=47 |
|
=62 |
|
=62 |
|
=45 |
|
=27 |
|
|
|
|
|
|
5 |
|
0+49 |
|
19+47 |
|
21+43 |
|
24+41 |
27+21 |
29+0 |
|
66 |
|
1 |
||
|
|
=49 |
|
=66 |
|
=64 |
|
=65 |
|
=48 |
|
=29 |
|
|
|
|
6 |
|
0+51 |
|
19+49 |
|
21+47 |
|
24+43 |
27+41 |
29+21 |
33+0 |
68 |
|
1,2 |
||
|
|
=51 |
|
=68 |
|
=68 |
|
=67 |
|
=68 |
|
=50 |
=33 |
|
|
,4 |
|
4 шаг. Пусть объем средств x |
0 x 6 распределяется между |
||||||||||||||
четырьмя предприятиями. Если четвертому предприятию выделяют x4 средств, то оставшиеся x x4 распределяют между первыми
тремя и максимальный объем выпускаемой продукции будет равен |
|
F4 x = max g4 x4 F3 x x4 |
(4) |
0 x3 x |
|
Запишем вычисления значений F4 x |
в таблице, где первое сла- |
гаемое соответствует g4 x4 , а второе – |
F3 x x4 , которое берем |
из таблицы 2. Таблица 3
88
x4 |
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
F4 |
x4 |
x |
|
|
|
|
|
|
|
|
|
1 |
0+21 |
20+0 |
|
|
|
|
|
21 |
0 |
|
=21 |
=20 |
|
|
|
|
|
|
|
2 |
0+41 |
20+21 |
21+0 |
|
|
|
|
41 |
0,1 |
|
=41 |
=41 |
=21 |
|
|
|
|
|
|
3 |
0+60 |
20+41 |
21+21 |
25+0 |
|
|
|
61 |
1 |
|
=60 |
=61 |
=42 |
=25 |
|
|
|
|
|
4 |
0+62 |
20+60 |
21+41 |
25+21 |
27+0 |
|
|
80 |
1 |
|
=62 |
=80 |
=62 |
=46 |
=27 |
|
|
|
|
5 |
0+66 |
20+62 |
21+60 |
25+41 |
27+21 |
29+0 |
|
82 |
1 |
|
=66 |
=82 |
=81 |
=66 |
=48 |
=29 |
|
|
|
6 |
0+68 |
20+66 |
21+62 |
25+60 |
27+41 |
29+21 |
33+0 |
86 |
1 |
|
=68 |
=86 |
=83 |
=85 |
=68 |
=50 |
=33 |
|
|
Уравнения (1) – (4) являются уравнениями Беллмана для данной задачи. На этом этапе реализуется принцип погружения динамического программирования.
Чтобы получить максимальный объем выпускаемой продукции, необходимо в F4 x подставить x0 6 . F4 6 86 и x4 1. Следовательно, четвертому предприятию нужно выделить1 млн.усл.руб.
Оставшиеся x |
x 6 1 5 |
млн.усл.руб. распределяются между |
|||||
|
|
|
0 |
4 |
|
|
|
тремя предприятиями. F 5 66 , а |
x 1. Значит, третьему пред- |
||||||
|
|
|
|
3 |
|
3 |
|
приятию |
нужно выделить |
тоже |
1 млн.усл.руб. |
Оставшиеся |
|||
x |
x x |
6 1 1 4 млн.усл.руб. распределяются между двумя |
|||||
0 |
4 |
3 |
|
F 4 47 , а |
|
|
|
предприятиями. |
x 3 . Значит, второму предприятию |
||||||
|
|
|
|
2 |
2 |
|
|
выделяется |
|
3 |
млн.усл.руб. |
Оставшийся |
|||
x |
x x |
x |
6 1 1 3 1 млн.усл.руб. выделяется первому |
||||
0 |
4 |
3 |
2 |
|
|
|
|
предприятию.
Таким образом, оптимальное решение задачи x 1,3,1,1 и максимальный объем выпускаемой продукции zmax F4 6 86 .
89
