29. |
9 |
21 |
22 |
14 |
10 |
18 |
|
30. |
12 |
15 |
9 |
19 |
22 |
40 |
|
30 |
34 |
42 |
23 |
26 |
12 |
|
|
20 |
15 |
11 |
2 |
19 |
30 |
|
8 |
17 |
30 |
27 |
9 |
20 |
|
|
21 |
26 |
23 |
7 |
16 |
25 |
|
11 |
20 |
24 |
7 |
25 |
18 |
|
|
11 |
24 |
8 |
3 |
29 |
15 |
|
14 |
11 |
17 |
15 |
14 |
|
|
|
34 |
39 |
24 |
8 |
8 |
|
При планировании и оперативном управлении сложными комплексами работ, объединенных общностью цели, с успехом используются их графические модели – сетевые графики (сети). С математической точки зрения сетевой график – это связанный орграф без петель и контуров. В настоящее время разработаны специальные математические методы сетевого планирования и управления (СПУ). Основными понятиями СПУ являются работа и событие. Под работой понимаются любые действия (трудовые процессы), сопровождающиеся затратами ресурсов или времени и приводящие к определенным результатам. Под событием понимают результат завершения одной или несколько работ. Событие является предпосылкой для выполнения работ, следующих за ним. Поэтому любая работа на сети может быть определенна двумя событиями, между которыми она находится. Событием же может заканчиваться или начинаться сразу несколько работ. Работы на сети изображают произвольной длины направленными отрезками прямых (иногда дугами), а событие – обычно кружками, в которых указывают порядковый номер или шифр события. У каждого отрезка проставляется время выполнения работы, а иногда и другие числовые характеристики (расход ресурса, количество исполнителей и т. д.).
Сетевые графики выполняются с соблюдением определенных правил:
Они должны иметь только одно исходное событие (исток сети J) – начало работ комплекса;
Они должны иметь только одно завершающее событие (сток сети S) – окончание всех работ комплекса;
Прежде чем строить сеть, надо составить подробный список работ комплекса. В отношении каждой работы выяснить:
а) ее связи с другими работами;
б) ее место в комплексе;
в) ее конечные результаты (события).
После того, как описанный подготовительный этап будет закончен, приступают к построению сети.
Пример 29. По данным табл. 39 построить сеть.
Таблица 39
Обозначение работы |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
а7 |
а8 |
а9 |
Непосредственно предшествующие работы |
– |
– |
– |
а1 |
а1 а2 |
а1 а2 |
а3 а5 |
а4 а6 а7 |
а3 а5 |
Продолжительность работы |
3 |
6 |
4 |
5 |
1 |
9 |
6 |
8 |
5 |
Решение: работы а1, а2, а3 не имеют предшествующих, поэтому реализация комплекса начинается с этих работ и изображаем их прямыми, выходящими из одного события 1 (исток J сети) (рис. 18).
Рис. 18
Дуги а1, а2, а3 и так далее располагаются произвольно. Работе а4 предшествует работа а1. Далее надо изобразить работы а5 и а6, им предшествуют одни и те же работы а1 и а2. Во избежание путаницы на сетях не рекомендуется изображать параллельными дугами одновременно выполняемые работы. В подобных случаях вводятся дополнительные события и фиктивные работы (нулевой продолжительности), которые изображаются штриховыми линиями. Их назначение – показать, что данная работа не может быть выполнена ранее какого-либо события или работы. Учитывая это, введем фиктивную работу, соединив событие 2 работы а1 с событием 3 работы а2. После этого изобразим а5 и а6 дугами, выходящими из события 3, причем дуги а3, а5 должны прийти в одно событие (работа а7 начинается после них), такое событие уже есть – это 4, а дуги а4, а6 аналогично идут в событие 5. Так как работа а8 может быть начата только после работ а4, а6 и а7, поэтому работу а7 направим в событие 5. И, наконец, дуги а8 и а9 моделируют заключительные работы комплекса, поэтому сведем их в одно завершающее событие 6 (сток сети S).
Замечание. Правильность нумерации событий (вершин графа) можно проверить алгоритмом Фалкерсона (упорядочить граф).
Пример 30. Сеть некоторого комплекса построена и известна продолжительность каждой работы (в днях). Определить за какое минимальное время можно выполнить все работы комплекса?
Решение.
Рассмотрим все пути от J до S (рис. 19).
Рис. 19
1) L1: 1 – 2 – 4 – 5 => t(L1) = 2 + 1 + 5 = 8;
2) L2: 1 – 3 – 4 – 5; => t(L2) = 4 + 3 + 5 = 12;
3) L3: 1 – 3 – 5 => t(L3) = 4 + 2 = 6.
Наиболее продолжительным оказался путь L2. Его называют критическим. Он и определяет максимальное время выполнения всех работ данного комплекса. Это максимальное время называют критическим сроком и обозначают tКР. Итак tКР = 12. Работы и события, лежащие на критическом пути называются критическими, остальные работы и события сети – некритическими. Если выполнение какой-либо критической работы будет задержано, это вызовет задержку выполнения всего комплекса на тот же срок. Однако, некритические работы допускают некоторое запаздывание их выполнения без нарушения критического срока. Чтобы определить время, на которое можно задержать выполнение некритических работ, введем понятие резерва времени событий и работ.
П
i
–
мно-
жество работ, входящих в j-событие.
Тогда имеем tp (1) = 0, tp (5) = tКР = 12 (и вообще tp (J) = 0, а tp (S) = tКР). Тогда tp (2) = 2 или tp (2) = 0 + 2 = tp (1) + t(1, 2), где t(1, 2) – время выполнения работы (1 – 2). Аналогично tp (3) = 0 + 4 = tp (1) + t(1,3). Для события 4: по работе (2 – 4) имеем tp (2) + t(2, 4) = 2 + 1 + 3, а по работе (3 – 4) => tp (3) + t(3, 4) = 4 + 3 = 7, так как к моменту tp (4) должны закончиться все предшествующие работы, тогда tp (4) = max (tp (2) + t(2, 4); tp (3) + t(3, 4)) = max (3; 7) = 7.