Применение сетевых методов планирования и управления расширялось с невероятной быстротой при реализации масштабных проектов в области строительства крупных объектов, эксплуатации заводов, организации больниц, проектирования зданий, в области космических полетов и т.п. Последовательность выполнения работ в любом проекте, большом или малом, от взятия пробы лунного грунта до чистки пары ботинок может быть успешно описана и проанализирована с помощью сетевой модели.
Системы СПУ представляют такие системы управления, в которых объектом управления является коллективы исполнителей, располагающих определёнными ресурсами и выполняющими комплекс операций, призванных обеспечить достижение намеченного конечного результата. СПУ основано на моделировании процесса с помощью сетевого графика и представляет собой совокупность расчетных методов, организационных и контрольных мероприятий по планированию и управлению комплексом работ.
Система СПУ позволяет:
¨ формировать календарный план реализации некоторого комплекса работ (мероприятий);
¨ выявлять и мобилизовывать резервы времени, трудовые, материальные и денежные ресурсы;
¨ осуществлять управление комплексом работ по принципу “узкого места” (“ведущего звена”) с прогнозированием и предупреждением возможных срывов в ходе работ;
¨ повышать эффективность управления в целом при четком распределении ответственности между руководителями разных уровней и исполнителями работ.
Процесс построения и использования сетевой модели включает три основных этапа: этап планирования, этап анализа и этап управления.
Сетевая модель представляет собой план выполнения некоторого комплекса взаимосвязанных работ (мероприятий), заданного в специфической форме сети, графическое изображение которой называется сетевым графиком. Главными элементами сетевой модели являются работы и события.
Работа. В сетевой модели весь комплекс операций расчленяется на отдельные операции (работы), располагаемые в строгой технологической последовательности. Сетевой график представляет собой изображение на плоскости хода выполнения проекта.
Термин работа может иметь следующие значения:
* действительная работа в прямом смысле слова, то есть трудовой процесс, требующий затрат времени и ресурсов;
* ожидание, не требующее затрат труда, но занимаемое некоторое время (например, процесс затвердения бетона);
* “фиктивная” работа, то есть логическая связь между двумя или несколькими операциями, не требующая ни затрат времени, ни ресурсов, но указывающая, что возможность начала одной работы непосредственно зависит от результатов другой работы.
Задание. Вскипятить чайник с водой. Множество работ:
a1 - наполнить чайник водой:
a2 - поставить чайник, наполненный водой, на плитку, включить её и ждать, пока он не закипит.
Ясно, что работа a1 должна быть закончена, прежде чем начнётся работа a2.
Задание. Приготовить чашку растворимого кофе с молоком. Множество работ:
a1 - вскипятить воду (как в предыдущем примере);
a2 - вскипятить молоко (эта процедура аналогична a1);
a3 - положить в чашку ложечку растворимого кофе;
a4 - добавить одновременно соответствующее количество молока и воды.
В этом примере последовательность работ во времени не так очевидна, как в первом случае. Если мы предположим, что существуют две конфорки, то работы “вскипятить молоко” и “вскипятить воду” можно выполнять одновременно. Если же в наличии имеется только одна конфорка, то эти работы необходимо выполнять последовательно. Работу a3 можно выполнять только после того, как и молоко и вода вскипят; очевидно, также, что работа a4 не может быть начата до тех пор, пока все работы a1, a2 и a3 не будут окончены.
Замечания:
1. В общем случае разбиение большой программы (плана) на множество работ не единственно. Например, работы “вскипятить воду” или “вскипятить молоко” могут быть разбиты при желании на более мелкие работы. Выбор множества работ для некоторого плана зависит от необходимого уровня анализа. Очень часто первое разбиение бывает грубым, при этом ориентируются на основные действия процесса. Дальнейшее разбиение направлено на выявление зависимостей внутри групп работ, соответствующих более низкому уровню деятельности.
2. Работа может соответствовать заданию, выполнение которого сопряжено с определёнными усилиями; наоборот, работа может быть бездеятельной, например, ожидание чего-то, что должно произойти (для рассмотренного примера это будет ожидание кипения воды).
3. Иногда в множество работ полезно включить фиктивную работу. Это работы, которые не занимают времени и для которых не используются никакие ресурсы.
4. Имеется несколько специальных случаев, зависимостей между работами, которые должны быть рассмотрены при построении сетевых моделей (например, параллельное выполнение работ, зависимость одной работы от нескольких предшествующих и т.п.).
Событие. Очевидно, что если какая-либо работа может быть начата только после окончания нескольких определённых работ, то необходимым и достаточным исходным условием для её начала являются лишь сумма частных результатов этих работ, то есть их суммарный результат. Этот суммарный результат и принято называть термином событие. Событие означает точку во времени, которая отделяет различные стадии осуществления проекта.
Событие может свершиться только тогда, когда закончатся все работы, ему предшествующие. Последующие работы могут начаться только тогда, когда событие свершится. Отсюда двойственный характер события: для всех непосредственно предшествующих ему работ оно является конечным, а для всех непосредственно следующих за ним – начальным. При этом предполагается, что событие не имеет продолжительности и свершается как бы мгновенно. Поэтому каждое событие, включаемое в сетевую модель, должно быть полно, точно и всесторонне определено, его формулировка должна включать в себя результат всех непосредственно предшествующих ему работ. Среди событий сетевой модели выделяют начальное и конечное события. Начальное событие не имеет предшествующих работ и событий, относящихся к рассматриваемому в модели комплексу работ. Конечное событие не имеет последующих работ и событий.
Пример 9.3
В задании “вскипятить чайник воды” (пример 9.1) мы можем выделить три точки времени, которые называются событиями:
* - время начала выполнения задания (начальное событие);
* - время, когда мы ставим чайник на конфорку после завершения работы “наполнить чайник”;
* - время начала кипения, характеризующее конец выполнения задания (конечное событие).
Существует два основных вида графического представления расписаний (графиков) работ. Это сетевые графики и диаграммы Ганта. Мы вначале рассмотрим графическое представление в виде классических сетевых графиков (опираясь на упоминавшуюся выше теорию графов), а в конце главы продемонстрируем представление возможные модификации сетевых графиков, а также представление расписаний в виде диаграмм Ганта.
Графическое изображение событий и работ. В сетевых графиках работы обычно изображаются стрелками (т.е. направленными дугами) графа. Действительные работы изображаются на сетевом графике сплошными стрелками, а фиктивные работы - пунктирами. Описания работ при желании могут записываться вдоль стрелок. События должны быть занумерованы. Как правило, вершины графа обозначаются некоторыми геометрическими фигурами (например, кружочками). Внутри этих фигур проставляется соответствующий номер. Описание события может быть тоже записано внутри кружочка.
Работа должна быть выполнена в течение времени между двумя событиями, обозначенными своими номерами в концах соответствующей стрелки. Событие, соответствующее началу стрелки, называется начальным (или предшествующим) событием; конец стрелки называют конечным (или последующим) событием. Любая работа может быть определена своими числами, которые соответствуют начальным и конечным событиям.
На рис. 9.1 - 9.3 иллюстрируются графические изображения сетей.
Замечания
1. Фиктивные работы (время выполнения равно нулю) необходимы для изображения параллельных работ. Три параллельные работы – “вскипятить воду”, “вскипятить молоко”, “положить в чашку кофе” - имеют одни и те же начальные и конечные события; для большей ясности события 2 и 3 (которые соответствуют событию 4) показаны на графике. Фиктивные работы 2 - 4 и 3 - 4 обозначены пунктиром.
2. Длина стрелок и расположение дуг не имеют значения.
3. Желательно придерживаться следующих правил:
* время изменяется слева направо;
* конечным событиям всегда присваиваются большие номера, чем соответствующим начальным событиям. (Числа не обязательно должны подчиняться естественному порядку 1, 2, 3, На практике часто используются числа с промежутками между ними, например, в сетевой модели “Приготовить чашку кофе” этими числами могли быть 1, 5, 6, 7, 10.)