Порядок и правила построения сетевых графиков

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

При построении сетевого графика необходимо соблюдать ряд правил.

1. В сетевой модели не должно быть «тупиковых» событий, т.е. событий, из которых не выходит ни одна работа, за исключением завершающего события (рис. 5.2). Здесь либо работа (2, 3) не нужна и ее необходимо аннулиро­вать, либо не замечена необходимость определенной ра­боты, следующей за событием 3, для свершения какого- либо последующего события. В таких случаях необхо­димо тщательное изучение взаимосвязей событий и ра­бот для исправления возникшего недоразумения.

2. В сетевом графике не должно быть «хвостовых» собы­тий (кроме исходного), которым не предшествует хотя бы одна работа (событие 3 на рис. 5.3). Здесь работы, предшествующие событию 3, не предусмотрены. По­этому событие 3 не может свершиться, а следователь­но, не может быть выполнена и следующая за ним ра­бота (3, 5). Обнаружив в сети такие события, необхо­димо определить исполнителей предшествующих им работ и включить эти работы в сеть.

3. В сети не должно быть замкнутых контуров и петель, т.е. путей, соединяющих некоторые события с ними же самими.

4. Любые два события должны быть непосредственно свя­заны не более чем одной работой-стрелкой.

В сети рекомендуется иметь одно исходное и одно завер­шающее событие. Если в составленной сети это не так (рис. 5.4, а), то добиться желаемого можно путем введения фик­тивных событий и работ, как это показано на рис. 5.4, 6.

Предположим, что при составлении некоторого про­екта выделено 12 событий: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 и 24 связывающие их работы: (0,1), (0, 2), (0, 3), (7, 2), (7, 4), (7, 5), (2, 3), (2, 5), (2, 7), (3, 6), (3, 7), (3, 10), (4, 8), (5, 8), (5, 7), (6,10), (7, 6), (7, S), (7, 9), (7,10), (8, 9), (9,11), (10, 9), (10,11). Необходимо составить и упорядочить сетевой график.

Как следует из перечня работ, исходным событием сете­вого графика является событие 0 (ему не предшествуют ни­какие работы), а завершающим — событие 11 (за ним не следует ни одна работа). Полагая на сетевых графиках из­менение времени слева направо, поместим событие 0 в левую часть графика, а событие 11 — в правую часть, разместив между ними промежуточные события в некотором порядке, соответствующем их номерам (рис. 5.5). События свяжем работами-стрелками в соответствии с перечнем работ.

Построенный сетевой график удовлетворяет сформу­лированным правилам, предъявляемым к его построению. Однако этот график не полностью упорядочен.

Упорядочение сетевого графика заключается в таком расположении событий и работ, при котором для любой работы предшествующее ей событие расположено левее и имеет меньший номер по сравнению с завершающим эту работу событием. Другими словами, в упорядоченном се­тевом графике все работы-стрелки направлены слева на­право: от событий с меньшими номерами к событиям с большими номерами.

Разобьем условно сетевой график на несколько верти­кальных слоев (обводим их пунктирными линиями и обо­значаем римскими цифрами).

Поместив в I слое начальное событие 0 (рис. 5.6), мыс­ленно вычеркнем из графика (см. рис. 5.5) это событие и все выходящие из него работы-стрелки. Тогда без входя­щих стрелок останется событие 1, образующее II слой. Вы­черкнув мысленно событие 1 и все выходящие из него ра­боты, увидим, что без входящих стрелок остаются события 4 и 2, которые образуют III слой. Продолжая указанную процедуру вычеркивания, получим IV слой с событиями 4 и 3, V слой — с событием 7, VI слой — с событиями 8 и 6, VII слой — с событием 10, VIII слой — с событием 9 и, наконец, IX слой — с событием 11.


Теперь видим, что первоначальная нумерация событий не совсем правильная: так, событие 6 лежит в VI слое и имеет номер меньший, чем событие 7 из предыдущего слоя. То же можно сказать о событиях 9 и 10.

Изменим нумерацию событий б соответствии с их рас­положением на графике (см. рис. 5.6) и получим упорядо­ченный сетевой график (рис. 5.7), в котором над стрелка­ми указана продолжительность соответствующих работ (в сутках).

Одно из важнейших понятий сетевого графика — по­нятие пути. Путь — любая последовательность работ, в которой конечное событие каждой работы совпадает с на­чальным событием следующей за ней работы. Среди раз­личных путей сетевого графика наибольший интерес пред­ставляет полный путь L — любой путь, начало которого совпадает с исходным событием сети, а конец — с завер­шающим.

Наиболее продолжительный полный путь в сетевом гра­фике называется критическим. Критическими называются также работы и события, расположенные на этом пути.

Например, для рассматриваемого нами сетевого графика (см. рис. 5.7) полными путями будут: путь 0®1®2®7®10®11 продолжительностью 8 + 9 + 3 + 5 +13 = 38 суток, путь 0®1®3®4®6®10®11 продолжительностью 8 + 4 + 10 + 3 + 5 + 13 = 43 суток, путь 0®5®8®9®11 продолжительностью 9 + 10 + 4 + 17 = 40 суток, путь 0 ®3®5®6®9®10®11 продолжительностью 13 + 7 + + 9 + 13 + 6 + 13 = 61 сутки и т.д.

Можно убедиться в том, что последний путь имеет наи­большую продолжительность (не только среди приведенных четырех полных путей, но и среди всех полных путей, которых в данном случае насчитывается 64), поэтому он и является критическим. Продолжительность критического пути составляет 61 сутки, т.е. для проведения комплекса работ понадобятся 61 сутки. Быстрее комплекс выполнить нельзя, так как для достижения завершающего события критический путь надо пройти обязательно.

Действительно, для достижения события 11 надо вы­полнить работу (10, 11), т.е. достичь события 10; для дос­тижения события 10 надо провести работу (9, 10), т.е. дос­тичь события 9; для достижения события 9 надо провести работу (6, 9), т.е. достичь события 6, и т.д.

Определив критический путь, мы тем самым устано­вили критические события сети 0, 3, 5, 6, 9,10 и 11 и кри­тические работы (0, 3), (3, 5), (5, 6), (6, 9), (9, 10), (10, 11).

Критический путь имеет особое значение в системе СПУ, так как работы этого пути определяют общий цикл завер­шения всего комплекса работ, планируемых при помощи сетевого графика. И для сокращения продолжительности проекта необходимо в первую очередь сокращать продол­жительность работ, лежащих на критическом пути.

Следует отметить, что классический вид сетевого гра­фика — это сеть, вычерченная без масштаба времени. По­этому сетевой график, хотя и дает четкое представление о порядке следования работ, но недостаточно нагляден для определения тех работ, которые должны выполняться в каждый данный момент времени. В связи с этим неболь­шой проект после упорядочения сетевого графика реко­мендуется дополнить линейной диаграммой проекта. Та­кая линейная диаграмма для рассматриваемой сети пока­зана на рис. 5.8.

При построении линейной диаграммы каждая работа изображается параллельным оси времени отрезком, дли­на которого равна продолжительности этой работы. При наличии фиктивной работы нулевой продолжительности (в рассматриваемой сети ее нет) она изображается точкой. События i и j, начало и конец работы (i, j) помещают соот­ветственно в начале и конце отрезка. Отрезки располагают один над другим, снизу вверх в порядке возрастания ин­декса i, а при одном и том же i — в порядке возрастания индекса j. По линейной диаграмме проекта можно опреде­лить критическое время, критический путь, а также резер­вы времени всех работ.

Так, критическое время комплекса работ равно коор­динате на оси времени самого правого конца всех отрезков диаграммы:

tкр = t(11) = 61 сутки.

Для определения критического пути рассматриваем работы-отрезки, конечные события которых совпадают с завершающим событием сети (в нашем примере (9, 11) и (10, 11)). Затем находим отрезок (9, 10), правый конец ко­торого лежит на одной вертикали t(10) с левым концом одного из рассматриваемых ранее отрезков (10, 11). Ана­логично определяем и другие работы-отрезки критическо­го пути: (6, 9),..., (0, 3) (на рис. 5.8 все они выделены жир­ным шрифтом).