Тема 5. Сетевое планирование и управление
В практике управления большими системами широко применяется сетевое планирование и управление (СПУ).
СПУ — это комплекс графических и расчетных методов, организационных мероприятий, обеспечивающих моделирование, анализ и динамическую перестройку плана выполнения сложных проектов и разработок (строительство, разработка и производство сложных объектов и др.
Характерной особенностью таких проектов является то, что они состоят из ряда отдельных, элементарных работ. Они обуславливают друг друга так, что выполнение некоторых работ не может быть начато раньше, чем завершены некоторые другие. Например, возведение стен не может быть начато раньше, чем будет подготовлен фундамент и т.д.
Методы СПУ разрабатывались в разных странах, поэтому возникло несколько их разновидностей. За рубежом система СПУ известна как система PERT (Program Evaluation and Review Technique – метод анализа и оценки программ) или CPM (Critical Path Method – метод критического пути).
Преимуществами являются СПУ:
- концентрация внимания менеджера на наиболее важных участках работ;
- возможность рационального маневрирования ресурсами;
- создание объективной картины работ;
- установление четной взаимосвязи между исполнителями;
- экономия времени, материальных и других ресурсов;
- возможность алгоритмизации и решения задачи на персональном компьютере.
СПУ включает три основных этапа:
1. Структурное планирование, которое начинается с разбиения проекта на четко определенные операции, для которых определяется продолжительность. Затем строится сетевой график, который представляет взаимосвязи работ проекта. Это позволяет детально анализировать все работы и вносить улучшения в структуру проекта еще до начала его реализации.
2. Календарное планирование, предусматривающее построение календарного графика, определяющего моменты начала и окончания каждой работы и другие временные характеристики сетевого графика. Это позволяет, в частности, выявлять критические операции, которым необходимо уделять особое внимание, чтобы закончить проект в срок. Во время календарного планирования определяются временные характеристики всех работ с целью проведения в дальнейшем оптимизации сетевой модели, которая позволит улучшить эффективность использования какого-либо ресурса.
3. Оперативное управление, в ходе которого используются сетевой и календарный графики для составления периодических отчетов о ходе выполнения проекта. При этом сетевая модель может подвергаться оперативной корректировке, вследствие чего будет разрабатываться новый календарный план остальной части проекта.
Математическим аппаратом СПУ является теория графов.
Графом называется совокупность двух конечных множеств: множества точек (х1, х2, …, xn), которые называются вершинами, и множества пар вершин, которые называются ребрами (e1, e2, …, en). Если пары вершин упорядочены, т.е. на каждом ребре задано направление, ребро называется дугой, а граф называется ориентированным; иначе – неориентированным. Последовательность ребер, ведущая от некоторой вершины к другой вершине, образует путь. Замкнутый путь называется циклом. Граф называется связным, если для любых двух вершин существует путь, их соединяющий. В противном случае граф называется несвязным. Если дугам (i, j) присвоены некоторые числа или веса (Cij), то граф называется нагруженным. В ориентированном графе вершины, не имеющие входных дуг, называются начальными (источниками), а вершины, не имеющие выходных дуг – конечными (стоками), остальные – промежуточными. В СПУ применяются связные, ориентированные графы без циклов, имеющие одну начальную и одну конечную вершину.
На этапе структурного планирования взаимосвязь работ и событий, необходимых для достижения конечной цели проекта, изображается с помощью сетевого графика (сетевой модели) – ориентирного графа без циклов, ребра и вершины которого имеют одну или несколько числовых характеристик. В сетевом графике различают три основных элемента:
1. Работу — некоторый процесс, приводящий к достижению определенного результата и обычно требующий затрат каких-либо ресурсов. Она обозначается стрелкой и бывает трех видов:
- действительная (→ ) – это процесс, требующий затрат времени и ресурсов;
- работа – ожидание (−∙ −∙→) — процесс, требующий только затрат времени;
- фиктивная (− − →) — не требует затрат времени к представляет собой логическую взаимосвязь между какими-либо работами.
2. Событие — момент времени, когда завершаются одни работы и начинаются другие, т. е. это результат работ, который не имеет протяженности во времени. На графе события изображаются кружками, внутри которых записывается номер события.
Начало и окончание любой работы описываются парой событий, которые называются начальным и конечным событиями. Поэтому для идентификации конкретной работы используют код работы , состоящий из номеров начального (i-го) и конечного (j-го) событий.
Любое событие может считаться наступившим только тогда, когда закончатся все входящие в него работы. Поэтому, работы, выходящие из некоторого события, не могут начаться, пока не будут завершены все работы, входящие в это событие.
Событие, не имеющее предшествующих ему событий, т.е. с которого начинается проект, называют исходным. Событие, которое не имеет последующих событий и отражает конечную цель проекта, называется завершающим. Сетевые графики с несколькими завершающими событиями называется многоцелевыми.
3. Путь – цепочка следующих друг за другом работ (дуг), соединяющих начальную и конечную его вершины. Полный путь (L) – путь, начало которого совпадает с начальным событием сети, а конец – с завершающим.
Таким образом, на сетевом графике работы изображаются стрелками, которые соединяют вершины, изображающие события.
2. Правила построения и расчет параметров сетевого графика
Исходные данные для построения сетевой модели могут задаваться различными способами:
- описанием предполагаемого проекта. В этом случае необходимо самостоятельно разбить его на отдельные работы и установить их взаимные связи;
- списком работ проекта. В этом случае необходимо проанализировать содержание работ и установить существующие между ними связи;
- списком работ проекта с указанием их упорядочения. В этом случае необходимо только отобразить работы на сетевом графике.
При построении сетевого графика необходимо следовать следующим правилам:
- длина стрелки не зависит от времени выполнения работы;
- стрелка может не быть прямолинейным отрезком;
- для каждого вида работ используется свое обозначение;
- каждая операция должна быть представлена только одной стрелкой;
- между одними и теми же событиями не должно быть параллельных работ, т.е. работ с одинаковыми кодами. Для устроения параллельности работ вводят дополнительное событие и фиктивную работу, так чтобы конечные события работ различались;
- следует избегать пересечения стрелок;
- не должно быть стрелок, направленных справа налево;
- номер начального события должен быть меньше номера конечного события;
- не должно быть циклов;
- не должно быть висячих событий (т.е. не имеющих предшествующих событий), кроме исходного;
- не должно быть тупиковых событий (т.е. не имеющих последующих событий), кроме завершающего.
При выполнении этих требований можно приступать к вычислениям следующих числовых характеристик сетевого графика.
1. Ранний срок свершения события характеризует самый ранний срок завершения всех путей, входящих в него. Этот показатель определяется «прямым ходом» по графу модели, начиная с начального события сети tp(0) = 0,
- Поздний срок свершения события характеризует самый поздний срок, после которого остается ровно столько времени, сколько требуется для завершения всех путей, следующих за этим событием. Этот показатель определяется «обратным ходом» по графу модели, начиная с завершающего события сети:
tп(N) = tp(N) (5.2)
3. Резерв времени события показывает, на какой максимальный срок можно задержать наступление этого события, не вызывая при этом увеличения срока выполнения всего комплекса работ:
R(i) = tп(i) – tp(i) (5.4)
Резервы времени для событий на критическом пути равны нулю, R(i) = 0.
Характеристики работы (i, j):
1. Ранний срок начала работы:
tpн(i, j) = tp(i) (5.5)
2. Ранний срок окончания работы:
tpo(i, j) = tpн(i, j) + tij = tp(i) + tij (5.6)
3. Поздний срок начала работы:
tпн(i, j) = tп(j) – tij (5.7)
4. Поздний срок окончания работы:
tпо(i, j) = tп(j) (5.8)
— полный резерв — максимальный запас времени, на который можно отсрочить начало или увеличить длительность работы без увеличения длительности критического пути:
Rп(i, j) = tп(j) – tp(i) – tij (5.9)
Работы на критическом пути не имеют полного резерва времени, для них Rп(i, j) = 0;
— частный резерв – часть полного резерва, на которую можно увеличить продолжительность работы, не изменив позднего срока ее начального события:
R1(i, j) = Rп(i, j) – R(i) = tп(j) – tп(i) – tij (5.10)
— свободный резерв — максимальный запас времени, на который можно задержать начало работы или (если она началась в ранний срок) увеличить ее продолжительность, не изменяя ранних сроков начала последующих работ:
Rс(i, j) = Rп(i, j) – R(j) = tp(j) – tp(i) – tij (5.11)
— независимый резерв — запас времени, при котором все предшествующие работы заканчиваются в поздние сроки, а все последующие – начинаются в ранние сроки:
Rн(i, j) = Rп(i, j) – R(i) – R(j) = tp(j) – tп(i) – tij (5.12)
Использование этого резерва не влияет на величину резервов времени других работ.
Следует отметить, что работы, лежащие на критическом пути, резервов времени не имеют. Если на критическом пути Lкр лежит начальное событие i работы (i, j), то Rп(i, j) = R1(i, j). Если на Lкр лежит конечное событие j работы (i, j), то Rп(i, j) = Rc(i, j). Если на Lкр лежат и событие i, и событие j работы (i, j), а сама работа не принадлежит критическому пути, то Rп(i, j) = Rс(i, j) = Rн(i, j).
1. Продолжительность пути равна сумме продолжительностей составляющих ее работ.
2. Резерв времени пути равен разности между длинами критического пути и рассматриваемого пути. Он показывает, насколько может увеличиться продолжительность работ, составляющих данный путь, без изменения продолжительности срока выполнения всех работ.
В сетевой модели можно выделить критический путь (Lкр). Он состоит из работ (i, j), у которых полный резерв времени равен нулю Rп(i, j) = 0. Резерв времени R(i) всех событий i на критическом равен 0. Длина критического пути определяет величину наиболее длинного пути от начального до конечного события сети и равна tкр = tp(N) = tп(N). Работы, принадлежащие критическому пути, называются критическими. Их несвоевременное выполнение ведет к срыву сроков всего комплекса работ. Подкритический путь — полный путь, ближайший по длительности к критическому пути.
Рассчитанные временные параметры сетевого графика заносят в сводную таблицу. Если сетевой график небольшой, то они фиксируются прямо на нем (рис. 5.1). Для наглядности каждое событие сетевого графика разделяется на четыре сектора. Верхний сектор соответствует номеру события, в левом секторе записан ранний срок tp(i) наступления события i, в правом – поздний срок tп(i) наступления события i, в нижнем секторе представлен резерв времени R(i) события i.
Рис.5.1 — Отображение параметров событий в вершинах сетевого графика
Пример 5.1. Составить сетевой график выполнения работ в рамках проекта создания фирменного магазина в уже имеющемся помещении. Предварительно каждому событию был присвоен номер и определены коды работ в соответствии с порядком их выполнения (табл. 5.1). Определить срок выполнения проекта и другие временные параметры сетевого графика.
Описание сетевой модели кодами работ