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

Управление и оптимизация / Baktolov - Zadachi raspredeleniya resursov 2002

.pdf
Скачиваний:
51
Добавлен:
02.09.2019
Размер:
720.85 Кб
Скачать

ответствуют вершины сети, а дуги отражают зависимости между операциями. Такое изображение более удобно, так как в графе ПР

 

 

 

 

А3

 

 

 

 

 

(2)

А4

(2)

 

 

 

 

(2)

(2)

 

 

х2

, 6

 

z2

 

(2)

 

(2)

 

 

 

А5

 

 

 

 

 

 

 

 

 

 

А1

(3)

А6

 

 

 

 

 

 

 

 

 

 

(4)

 

 

 

х1

, 6

 

(1)

 

(3)

z1

 

(2)

 

 

 

 

 

 

 

(6)

 

 

 

 

(3)

 

 

 

 

 

 

 

 

 

 

А2

 

А7

 

Рис. 2.2

22

А3[6]

А1[3] А4 А6[17]

А4[13]

А2[5]

А7[17]

А5[8]

Рис. 2.3

вершины также соответствуют операциям. К первому классу отно- сятся операции А1, А2, А6, А7, ко второму А3, А4, А5. Числа в скобках равны потоку ресурсов по соответствующей дуге.

В квадратах x1, x2 каждой компоненты графа ПР пишется ко- личество ресурсов N1, N2, предназначенных для выполнения опера- ций соответствующего класса (Nl =N2 = 6 на рис. 2.2). Фиктивные вершины x1, х2 могут соответствовать некоторым пунктам, в кото- рых находятся ресурсы. В свою очередь, z1, z2 могут соответство- вать пунктам, в которые нужно собрать ресурсы после выполнения комплекса. Определив некоторый поток ресурсов по графу ПР, можно найти момент окончания каждой операции и, следовательно, время выполнения всего комплекса.

Фронтом операций в момент i называется множество F(i) опе- раций, которые выполняются или могут выполняться в этот момент. Основная группа алгоритмов для решения задач распределения ре-

сурсов основана на последовательном получении решения путем

23

распределения ресурсов по операциям фронта. Для этого определя- ется некоторое правило (пли несколько правил), позволяющее в любой момент времени принимать решение о распределении ресур- сов по операциям фронта. В дальнейшем будем называть момент перераспределения ресурсов конфликтной ситуацией. Процесс раз-

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

Правило I. В первую очередь выполняются операции с. меньшим полным резервом времени (резерв времени определяется при условии достаточного количества ресурсов).

Правило II. В первую очередь выполняются операции с меньшей длительностью.

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

Отметим, что большинство правил эквивалентно заданию не- которой функции предпочтения. Например, распределение ресур-

сов, полученное по

правилу I, минимизирует функцию

å ui (t) τi (t), где R(t)

множество номеров операций фронта,

i R(t)

 

Δτi(t) – полный резерв i-й операции в момент t, ui(t) – количество ресурсов расходуемых в i-й операции. Распределение, полученное

24

по правилу II, минимизирует функцию å ui (t)τi , где τi время

i R(t)

выполнения операции и т.д.

В некоторых случаях удобно в качестве функции предпочте-

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

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

2.1.Определение моментов окончания операций при заданном потоке ресурсов по графу ПР

Рассмотрим на примере определение моментов окончания операций при заданном потоке ресурсов. Примем, что время пере- мещения ресурсов с операции на операцию равно нулю. Кроме то- го, примем, что не разрешается снимать ресурсы с операции, пока она не закончена (отказ от этих предположений несущественно ме- няет методику расчета). Пусть скорость выполнения операции пря- мо пропорциональна количеству ресурсов, т. е. примем wi = ui, i=l, 2, 3, 4, 5, 6, 7 (рис. 2.2, 2.3). Объемы операции следующие:

Номер операции

1

2

3

4

5

6

7

 

 

 

 

 

 

 

 

Wi

12

12

6

16

6

12

12

 

 

 

 

 

 

 

 

25

Определение моментов окончания операций производится последовательным просчетом сети. Пусть Ai1 , Ai2 , Ai3 опера-

ции, непосредственно предшествующие операции Ai;

t1i

,

t1i ,

t1i

 

 

 

1

 

 

2

 

3

 

моменты окончания этих операций. Тогда t

0

æ

1

, t

1

, t

1

ö

i

= maxçt

i1

i1

i1

÷

 

è

 

 

ø

 

возможный момент начала i-й oпeрации. Далее, пусть Ai4 , Ai5 ,

Ai6

 

операции, с которых перемещаются ресурсы на операцию

A

i

;

t1 ,

t1 ,

t1 моменты окончания этих операций (соответст-

 

 

i4

i5

i6

венно моменты прихода ресурсов на i-ю операцию, если времена перемещения равны нулю). Для определения момента окончания i-й операции применяем формулу (2.1), отсчитывая интервалы Dti, с момента ti0 .

На рис. 2.2 показан некоторый поток ресурсов по графу ПР. Будем обозначать Qi множество операций, непосредственно пред- шествующих операции Ai Рi—, множество операций, с которых пе- ремещаются ресурсы на операцию Ai.

1) Операция A1. Q1 =Æ,. P1=Æ, u1(t) = 4,

 

 

 

t11 =

 

W1

= 3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u1

 

 

 

 

 

2) Операция A2. Q2 = Æ, P2 = {A1}.

 

 

 

 

Применяя формулу (2 1), получаем

 

 

 

 

1

1

 

W2 - 2(t

11 - t 02 )

 

 

12 - 6

 

t 2

= t1

+

 

 

 

 

 

= 3

+

 

 

= 5

3

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

3) Операция A3. Q3= {A1}, P3 = Æ, t30 = t11 = 3 ,

26

u3(t) = 2, t13 = t30 + W23 = 6

4) Операция A4. Q4 = {A1, A2}, P4 = Æ, t04 = max(t11, t12 )= t12 = 5 , u4(t) = 2, t14 = t 04 + W24 =13 ,

5) Операция A5. Q5 = {A2}, P5 = Æ, t50 = t12 = 5 ,

 

 

u5(t) = 2, t15

= t50 +

W5

 

= 8 .

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

6) Операция A6. Q6 = {A3, A4}, P6 = {A1}, t60 = max(t13 , t14 )=13,

 

 

ì0, t < 3

 

 

t16 = t 60 +

W

 

 

u6(t) = í

 

,

 

6

=17 ,

 

 

3

 

 

î3, t ³ 3

 

 

 

 

 

7) Операция

A7.

Q7=

 

{A4,

A5},

P7 = {A2, A6},

t70 = max(t14 , t15 )=13,

 

 

 

 

 

 

 

 

 

 

Имеем t1

=t0 +Dt +

W7 −3 τ1

=17,

 

 

 

 

 

 

 

 

 

7

7

1

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Моменты окончания операции указаны в скобках на рис. 2.3.

Время выполнения комплекса T = max t1i =17 .

i

27

Теперь появляется возможность улучшить решение, изменив поток ресурсов (ресурсы с операций, имеющих большие резервы, перебрасываются на критические или близкие к ним операции). Уменьшим, например, потоки ресурсов через вершины А3, А5 графа ПР на единицу и увеличим поток через вершину А4 на две единицы (рис. 2.4). При этом время выполнения комплекса уменьшилось до Т= 14 (рис. 2.5).

 

 

 

 

А3

 

 

 

 

 

 

(1)

А4

 

(1)

 

 

 

 

(4)

(4)

 

 

 

х2

, 6

 

 

z2

 

(1)

 

 

(1)

 

 

 

А5

 

 

 

 

 

 

 

 

 

 

 

 

А1

(3)

 

А6

 

 

 

 

(4)

 

 

 

 

х1

, 6

 

(1)

 

 

(3)

z1

 

(2)

 

 

 

 

 

 

 

 

 

(6)

 

 

 

 

(3)

 

 

 

 

 

 

 

 

 

 

 

 

А2

 

 

А7

 

Рис. 2.4

28

 

А3[9]

 

 

 

 

 

 

 

 

 

 

 

А1[3]

 

А4

 

 

 

 

 

 

 

 

 

 

А6[13]

 

А4[9]

 

 

 

 

 

 

 

 

 

 

 

А2[5]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А7[14,]

 

 

 

А5[11]

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.5

 

 

 

 

 

 

 

 

 

 

 

Действительно, последовательно определяем

 

t11 =

W1

= 12

= 3

 

 

 

 

 

 

 

 

 

 

u1

4

 

 

 

 

 

 

 

 

 

 

 

t12 = t11 +

 

W - 2 × t1

 

 

 

 

 

 

2

 

 

1

= 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W3

3

 

 

 

6

 

 

 

 

 

t13 = t11 +

= 3

+

 

= 9

 

 

 

 

 

 

 

 

 

 

 

 

 

u3

 

 

1

 

 

 

 

 

t14 = max(t11; t12 )+

W4

= 5

+

 

16

= 9

u4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

t15 = t12 +

 

W5

= 5

+

6

 

= 11

 

 

 

 

 

 

 

 

 

u5

 

 

1

 

 

 

 

 

 

t16 = max(t13; t14 )+

 

W6

 

= 9

 

+

12

 

= 13

 

 

 

 

 

 

 

 

 

 

 

 

u6

 

 

 

 

 

 

3

 

 

t17 = t16 +

 

W7 - 3 × 2

=14

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

29

Иногда решение задачи должно удовлетворять дополнитель- ному условию: количество ресурсов на операции не меняется в процессе ее выполнения. Такое условие позволяет упростить про- цедуру.

Действительно, в этом случае время выполнения операции

определяется но формуле

τ = W( ) , w u

где u – поток ресурсов, входящий в соответствующую вершину.

Теперь достаточно дополнить сетевой график недостающими дугами, по которым проходит ненулевой поток, и применить обыч- ные алгоритмы определения критического пути. Для нашего приме- ра (рис. 2.2) имеем (табл. 2.1):

Таблица 2.1

Номер операции

1

2

3

4

5

6

7

 

 

 

 

 

 

 

 

ui

4

3

2

2

2

3

6

 

 

 

 

 

 

 

 

τi

3

4

3

8

3

4

2

 

 

 

 

 

 

 

 

Добавляя в сетевой график рис. 2.3 дуги (A1, A2) и (А6, А7), получаем сеть (рис. 2.6), просчитывая которую обычным способом, определяем Т=21. Увеличение времени выполнения комплекса по сравнению с предыдущим случаем (Т=17) вызвано запрещением изменять количество ресурсов в процессе выполнения операции. Определим критический путь в случае потока ресурсов, изображен- ного на рис. 2.4.

Продолжительности операций указаны в табл. 2.2.

30

 

А3[6]

А1[3]

А6[19]

А4[15]

А2[7]

 

 

А5[10]

 

 

А7[21]

 

 

 

 

Рис. 2.6

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.2

i

1

2

3

 

4

5

6

7

 

 

 

 

 

 

 

 

 

ui

4

3

1

 

4

1

3

6

 

 

 

 

 

 

 

 

 

τi

3

4

6

 

4

6

4

2

 

 

 

 

 

 

 

 

 

Сетевой график с поздними моментами окончания операций приведен на рис. 2.7.

Можно предложить также другой способ определения време- ни выполнения комплекса в случае запрещения изменять количест- во ресурсов на операции в процессе ее выполнения.

31