Сетевая модель представляет собой план выполнения некоторого комплекса взаимосвязанных работ (операций), заданного в специфической форме сети, графическое изображение которой называется сетевым графиком. Отличительной особенностью сетевой модели является четкое определение всех временных взаимосвязей предстоящих работ.
Главными элементами сетевой модели являются событиями и работы
Термин работа используется в СПУ в широком смысле.Во-первых, это действительная работа — протяженный во временипроцесс, требующий затрат ресурсов (например, сборка изделия, испытание прибора и т.п.). Каждая действительная работа, должна быть конкретной, четко описанной и иметь ответственного исполнителя.
Во-вторых, это ожидание — протяженный во времени процесс,не требующий затрат труда (например, процесс сушки после окраски, старения металла, твердения бетона и т.п.).
В-третьих, это зависимость, или фиктивная работа - логическая связь между двумя или несколькими работами (события), не требующими затрат труда, материальных ресурсов или времени. Она указывает, что возможность одной работы непосредственно зависит от результатов другой. Естественно, что продолжительность фиктивной работы принимается равной нулю.
Событие — это момент завершения какого-либо процесса, отражающий отдельный этап выполнения проекта. Событие может являться частным результатом отдельной работы или суммарным результатом нескольких работ. Событие может свершиться только тогда, когда закончатся все работы, ему предшествующие. Последующие работы могут начаться только тогда, когда событие свершится. Отсюда двойственный характер события: для всех непосредственно предшествующих ему работ оно является конечным, а для всех непосредственно следующих за ним — начальным. При этом предполагается, что событие не имеет продолжительности и свершается как бы мгновенно. Поэтому каждое событие, включаемое в сетевую модель, должно быть полно, точно и всесторонне определено, его формулировка должна включать в себя результат всех непосредственно предшествующих ему работ.
Среди событий сетевой модели выделяют исходное и завершающее события. Исходное событие не имеет предшествующих работ и событий, относящихся к представленному в модели комплексу работ. Завершающее событие не имеет последующих работ и событий.
События на сетевом графике (или, как еще говорят, на графе)изображаются кружками (вершинами графа), а работы — стрелками(ориентированными дугами), показывающими связь между работами. Пример фрагмента сетевого графика представлен на рис 1:
Рис. 2 Рис. 1
На рис. 2, а приведен сетевой график задачи моделирования и построения оптимального плана некоторого экономического объекта. Чтобы решить эту задачу, необходимо провести следующие работы: А – сформулировать проблему исследования; В5 — математическую модель изучаемого объекта; В — собрать информацию; Г — выбрать метод решения задачи; Д — построить и отладить программу для ЭВМ; Е - рассчитать оптимальный план; Ж — передать результаты расчета заказчику. Цифрами на графике обозначены номера событий, к которым приводит выполнение соответствующих работ.
Из графика, например, следует, что работы В и Г можно начать выполнять независимо одна от другой только после свершения события 3, т.е. когда выполнены работы А и Б; работу Д — после свершения события 4, когда выполнены работы А, Б и Г; а работу Е можно выполнить только после наступления события 5, т.е. при выполнении всех предшествующих ему работ А, Б, В, Г и Д.
В сетевой модели, представленной на рис. 2 а, нет числовых оценок. Такая сеть называется структурной. Однако на практике чаще всего используются сети, в которых заданы оценки продолжительности работ (указываемые в часах, неделях, декадах, месяцах и т.д. над соответствующими стрелками), а также оценки других параметров, например трудоемкости, стоимости и т.п. Именно такие сети мы будем рассматривать в дальнейшем.
Но прежде сделаем следующее замечание. В рассмотренных примерах сетевые графики состояли из работ и событий. Однако может быть и иной принцип построения сетей — без событий. В такой сети вершины графа (например, изображенные прямоугольниками) означают определенные работы, а стрелки — зависимости между этими работами, определяющие порядок их выполнения. В качестве примера сетевой график "события — работы" задачи моделирования и построения оптимального плана некоторого экономического объекта, приведенный на рис. 2 а, представлен в виде сети "работы — связи" на рис. 2 б. А сетевой график "события — работы" той же задачи, но с неудачно составленным перечнем работ, представлен на рис. 2 в (см. правило 3 в разд. 3).
Следует отметить, что сетевой график "работы — связи" в отличие от графика "события — работы" обладает известными преимуществами: не содержит фиктивных работ, имеет более простую технику построения и перестройки, включает только хорошо знакомое исполнителям понятие работы без менее привычного понятия события. Вместе с тем сети без событий оказываются значительно более громоздкими, так как событий обычно значительно меньше, чем работ (показатель сложности сети, равный отношению числа работ к числу событий, как правило, существенно больше единицы). Поэтому эти сети менее эффективны с точки зрения управления комплексом. Этим и объясняется тот факт, что (при отсутствии в целом принципиальных различий между двумя формами представления сети) в настоящее время наибольшее распространение получили сетевые графики "события — работы".
Сетевые графики составляются на начальном этапе планирования. Вначале планируемый процесс разбивается на отдельные работы, составляется перечень работ и событий, продумываются их логические связи и последовательность выполнения, работы закрепляются за ответственными исполнителями. С их помощью оценивается длительность каждой работы. Затем составляется (сшивается) сетевой график. После упорядочения сетевого графика рассчитываются параметры событий и работ, определяются резервы времени и критический путь. Наконец, проводятся анализ и оптимизация сетевого графика, который при необходимости вычерчивается заново с пересчетом параметров событий и работ.
При построении сетевого графика необходимо соблюдать ряд правил.
1. В сетевой модели не должно быть "тупиковых" событий, т.е. событий, из которых не выходит ни одна работа, за исключением завершающего события (рис. 3 а). Здесь либо работа (2, 3) не нужна и ее необходимо аннулировать, либо не замечена необходимость определенной работы, следующей за событием 3 для свершения какого-либо последующего события. В таких случаях необходимо тщательное изучение взаимосвязей событий и работ для исправления возникшего недоразумения.
2. В сетевом графике не должно быть "хвостовых" событий (кроме исходного), которым не предшествует хотя бы одна работа (событие 3 — на рис. 14.3 б). Здесь работы, предшествующие событию 3, не предусмотрены. Поэтому событие 3 не может свершиться, а следовательно, не может быть выполнена и следующая за ним работа (3, 5). Обнаружив в сети такие события, необходимо определить исполнителей предшествующих им работ и включить эти работы в сеть.
3. В сети не должно быть замкнутых контуров и петель, т.е. путей, соединяющих некоторые события с ними же самими (рис. 3 в, г).
Рис. 3.
Представим себе, что в сетевом графике, изображенном на рис 2 а работы Б (построение математической модели) и Д (построение и отладка программы для ЭВМ) при формулировании первоначального списка работ мы объединили бы в одну работу Б'. Тогда получили бы сетевой график, представленный на рис 2 в Событие 2' означает, что можно переходить к работе Б’, которую нельзя выполнить до выбора метода расчета (работа Г), а выбор метода расчета нельзя начинать до окончания построения модели (событие З'). Другими словами, в сети образовался простейший контур:.
При возникновении контура (а в сложных сетях, т.е. в сетях с высоким показателем сложности, это встречается довольно часто и обнаруживается лишь при помощи ЭВМ) необходимо вернуться к исходным данным и путем пересмотра состава работ добиться его устранения. Так, в нашем примере потребовалось бы разделение работы Б' на Б и Д.
4. Любые два события должны быть непосредственно связаны не более чем одной работой - стрелкой.
Нарушение этого условия происходит при изображении параллельно выполняемых работ (рис. 3 д). Если эти работы так и оставить, то произойдет путаница из-за того, что две различные работы будут иметь одно и то же обозначение (1, 2); обычно принято под (i, j) понимать работу, связывающую i-е событие с j-м событием. Однако содержание этих работ, состав привлекаемых исполнителей и количество затрачиваемых на работы ресурсов могут существенно отличаться.
В этом случае рекомендуется ввести фиктивное событие (событие 2' на рис. 3 е) и фиктивную работу (работа 2', 2), при этом одна из параллельных работ (1, 2’) замыкается на это фиктивное событие. Фиктивные работы изображаются на графике пунктирными линиями.
5. В сети рекомендуется иметь одно исходное и одно завершающее событие. Если в составленной сети это не так (см. рис. 3 ж), то добиться желаемого можно путем введения фиктивных событий и работ, как это показано на рис. 3 з.
Фиктивные работы и события необходимо вводить и в ряде других случаев. Один из них — отражение зависимости событий, не связанных с реальными работами. Например, работы А и Б (рис. 3 и) могут выполняться независимо друг от друга, но по условиям производства работа Б не может начаться раньше, чем окончится работа А. Это обстоятельство требует введения фиктивной работы С.
Другой случай — неполная зависимость работ. Например, работа С требует для своего начала завершения работ А и Б, но работа Д связана только с работой Б, а от работы А не зависит. Тогда требуется введение фиктивной работы Ф и фиктивного события З', как показано на рис. 3 к.
Кроме того, фиктивные работы могут вводиться для отражения реальных отсрочек и отражения. В отличие от предыдущих случаев здесь фиктивная работа характеризуется протяженностью во времени.
Предположим, что при составлении некоторого проекта выделено 12 событий: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 и 24 связывающие их работы: (0, I), (0, 2), (0, 3), (1, 2), (1, 4), (1, 5), (2, 3), (2, 5), (2, 7), (3, 6), (3, 7), (3, 10), (4, 8), (5, 8), (5, 7), (6, 10), (7, 6), (7, 8), (7, 9), (7, 10), (8, 9), (9, II), (10, 9), (10, II). Необходимо составить и упорядочить сетевой график.
Как следует из перечня работ, исходным событием сетевого графика является событие 0 (ему не предшествуют никакие работы), а завершающим — событие 11 (за ним не следует ни одна работа). Полагая на сетевых графиках изменение времени слева направо, поместим событие 0 в левую часть графика, а событие 11 — в правую часть, разместив между ними промежуточные события в некотором порядке, соответствующем их номерам (рис. 4). События свяжем работами-стрелками в соответствии с перечнем работ.
Рис. 4
Построенный сетевой график удовлетворяет сформулированным в разд. 3 правилам, предъявляемым к его построению. Однако этот график не полностью упорядочен.
Упорядочение сетевого графика заключается в таком расположении событий и работ, при котором для любой работы предшествующее ей событие расположено левее и имеет меньший номер по сравнению с завершающим эту работу событием. Другими словами, в упорядоченном сетевом графике все работы-стрелки направлены слева направо: от событий с меньшими номерами к событиям с большими номерами.
Разобьем условно сетевой график на несколько вертикальных слоев (обводим их пунктирными линиями и обозначаем римскими цифрами).
Поместив в I слое начальное событие 0 (рис. 5), мысленно вычеркнем из графика (см. рис. 4) это событие и все, выходящие из него работы-стрелки. Тогда без входящих стрелок останется событие 7, образующее II слой. Вычеркнув мысленно событие 1 и все выходящие из него работы, увидим, что без входящих стрелок остаются события 4 и 2, которые образуют III слой. Продолжая указанную процедуру вычеркивания, получим IV слой с событиями 5 и 3, V слой — с событием 7, VI слой—с событиями 8 и 6, VII слой — с событием 10, VIII слой—с событием 9 и, наконец, IX слой — с событием 11.
Рис. 5
Рис. 6
Теперь видим, что первоначальная нумерация событий не совсем правильная: так, событие 6 лежит в VI слое и имеет номер, меньший, чем событие 7 из предыдущего слоя. То же можно сказать о событиях 9 и 10.
Изменим нумерацию событий в соответствии с их расположением на графике (см. рис. 5) и получим упорядоченный сетевой график (рис. 6), в котором над стрелками указана продолжительность соответствующих работ (в сутках).
Одно из важнейших понятий сетевого графика — понятие пути. Путь — любая последовательность работ, в которой конечное событие каждой работы совпадает с начальным событием следующей за ней работы. Среди различных путей сетевого графика наибольший интерес представляет полный путь L — любой путь, начало которого совпадает с исходным событием сети, а конец — с завершающим.
Наиболее продолжительный полный путь в сетевом графике называется критическим. Критическими называются также работы и события, расположенные на этом пути.
Порядок нумерации событий, расположенных в одном вертикальном слое, принципиального значения не имеет, так что нумерация одного и того же сетевого графика может быть неоднозначной.
Например, для рассматриваемого нами сетевого графика (см. рис. 6) полными путями будут:
путь 10
11 продолжительностью 8+9+3+5+13=38 суток,
путь 01
3
4
6
10
11 продолжительностью 8+4+10+3+5+13=43 суток,
путь 05
8
9
11 продолжительностью 9+10+4+17=40 суток,
путь 03
5
6
9
10
11 продолжительностью 13+7+9+13+6+13=61 сутки и т.д.
Можно убедиться в том, что последний путь имеет наибольшую продолжительность (не только среди приведенных четырех полных путей, но и среди всех полных путей, которых в данном случае насчитывается 64), поэтому он и является критическим (способ определения критического пути, не основанного на переборе всех полных путей сетевого графика, приводится в разд. 5). Продолжительность критического пути составляет 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).
Критический путь имеет особое значение в системе СПУ, так как работы этого пути определяют общий цикл завершения всего комплекса работ, планируемых при помощи сетевого графика. И для сокращения продолжительности проекта необходимо в первую очередь сокращать продолжительность работ, лежащих на критическом пути.
Следует отметить, что классический вид сетевого графика — это сеть, вычерченная без масштаба времени. Поэтому сетевой график, хотя и дает четкое представление о порядке следования работ, но недостаточно нагляден для определения тех работ, которые должны выполняться в каждый данный момент времени. В связи с этим небольшой проект после упорядочения сетевого графика рекомендуется дополнить линейной диаграммой проекта. Такая линейная диаграмма для рассматриваемой сети показана на рис. 7.
Рис. 7.
При построении линейной диаграммы каждая работа изображается параллельным оси времени отрезком, длина которого равна продолжительности этой работы. При наличии фиктивной работы нулевой продолжительности (в рассматриваемой сети ее нет) она изображается точкой. События i и j, начало и конец работы (i, j) помещают соответственно в начале и конце отрезка. Отрезки располагают один над другим, снизу вверх в порядке возрастания индекса i, а при одном и том же i — в порядке возрастания индекса j (на рис. 7 вследствие ограниченности места не показаны работы-отрезки, выходящие из 2-, 3-, 4- и 5-го событий).
По линейной диаграмме проекта можно определить критическое время, критический путь, а также резервы времени всех работ (см. об этом в разд. 5).
Так, критическое время комплекса работ равно координате на оси времени самого правого конца всех отрезков диаграммы:
(сутки).
Для определения критического пути рассматриваем работы - отрезки, конечные события которых совпадают с завершающим событием сети (в нашем примере (9, 11) и (10, 11)). Затем находим отрезок (9, 10), правый конец которого лежит на одной вертикали с левым концом одного из рассматриваемых ранее отрезков (10, 11). Аналогично определяем и другие работы-отрезки критического пути: (6, 9), ..., (0, 3) (на рис. 7 все они выделены жирным шрифтом).
В табл. 1 приведены основные временные параметры сетевых графиков.
Рассмотрим содержание и расчет указанных параметров.
Начнем с параметров событий. Как уже отмечалось, событие не может наступить прежде, чем свершатся все предшествующие работы. Поэтому ранний (или ожидаемый) срок свершения 1-го события определяется продолжительностью максимального пути, предшествующего этому событию:
(1)
где — любой путь, предшествующий i - му событию, т.е. путь от исходного до i-го события сети.
Если событие имеет несколько предшествующих путей, а следовательно, несколько предшествующих событий i, то ранний срок свершения события у удобно находить по формуле
(2)
Таблица 1.
Элемент сети, характеризуемый параметром |
Наименование параметра |
Условное обозначение параметра |
Событие i |
Ранний срок свершения события Поздний срок свершения события Резерв времени события |
|
Работа (i, j) |
Продолжительность работы Ранний срок начала работы Ранний срок окончания работы Поздний срок начала работы Поздний срок окончания работы Полный резерв времени работы Частный резерв времени работы первого вида Частный резерв времени работы второго вида или свободный резерв времени работы Независимый резерв времени работы |
|
ПутьL |
Продолжительность пути Продолжительность критического пути Резерв времени пути |
|
Задержка свершения события i по отношению к своему раннему сроку не отразится на сроке свершения завершающего события (а значит, и на сроке выполнения комплекса работ) до тех пор, пока сумма срока свершения этого события и продолжительности (длины) максимального из последующих за ним путей не превысит длины критического пути.
, (3)
где — любой путь, следующий за i-м событием, т.е. путь от i-го до завершающего события сети.
Если событие i имеет несколько последующий путей, а следовательно, несколько последующих событий j, то поздний срок свершения события i удобно находить по формуле
(4)
Резерв времени i-го события определяется как разность между поздним и ранним сроками его свершения:
(5)
Резерв времени события показывает, на какой допустимый период времени можно задержать наступление этого события, не вызывая при этом увеличения срока выполнения комплекса работ.
Критические события резервов времени не имеют, так как любая задержка в свершении события, лежащего на критическом пути, вызовет такую же задержку в свершении завершающего события.
Из этого следует, что для того чтобы определить длину и топологию критического пути, вовсе не обязательно перебирать все полные пути сетевого графика и определять их длины. Определив ранний срок наступления завершающего события сети, мы тем самым определяем длину критического пути, а, выявив события с нулевыми резервами времени, определяем его топологию.
Пример 1. Определить временные параметры событий и критический путь для сетевого графика, изображенного на рис. 6.
Решение. Найденные параметры сведем в табл. 2.
При определении ранних сроков свершения событий двигаемся по сетевому графику слева направо и используем формулы (1) и (2).
Для = 0 (нулевого события), очевидно, что
= 0. Для
= 1
= 0+8 = 8 (суток), так как для события 1 существует только один предшествующий путь
. Для
= 2
= 8+9 = 17 (суток), так как для события 2 существует только один предшествующий путь
. Для
=3
=
= 13 (суток), так как для события 3 существуют два предшествующих пути
и
и два предшествующих события 0 и 1.
Таблица 2.
Номер события |
Сроки свершения события, сутки |
Резерв времени |
|
ранний |
поздний |
||
0 |
0 |
0 |
0 |
1 |
8 |
9 |
1 |
2 |
17 |
40 |
23 |
3 |
13 |
13 |
0 |
4 |
23 |
26 |
3 |
5 |
20 |
20 |
0 |
6 |
29 |
29 |
0 |
7 |
33 |
43 |
10 |
8 |
37 |
38 |
1 |
9 |
42 |
42 |
0 |
10 |
48 |
48 |
0 |
11 |
61 |
61 |
0 |
Аналогично:
=
= 23 (суткам);
=
= 20 (суткам);
= 29 (суткам) и т.д.
Длина критического пути равна раннему сроку свершения завершающего события 11 (см. табл. 2):
(суткам).
При определении поздних сроков свершения событий двигаемся по сети в обратном направлении, т.е. справа налево, и используем формулы (3) и (4).
Для =11 (завершающего события) поздний срок свершения события должен равняться его раннему сроку (иначе изменится длина критического пути):
(сутки).
Для = 10
(суток), так как для события 10 существует только один последующий путь
.
Для = 9
(суткам), так как для события 9 существуют два последующих пути
и
и два последующих события 10 и 11.
Аналогично:
(суток);
(суткам);
(суткам) и т.д.
По формуле (5) определяем резервы времени -го события:
= 0;
= 9 - 8 = 1;
= 40 - 17 = 23 и т.д.
Резерв времени, например, события 2 — = 23 — означает, что время свершения события 2 может быть задержано на 23 суток без увеличения общего срока выполнения проекта. Анализируя табл. 2, видим, что не имеют резервов времени события 0, 3, 5, 6, 9, 11. Эти события и образуют критический путь.
Примечание. Если сетевой график имеет единственный критический путь, то этот путь проходит через все критические события, т.е. события с нулевыми резервами времени. Если критических путей несколько, то выявление их с помощью критических событий может быть затруднено, так как через часть критических событий могут проходить как критические, так и некритические пути. В этом случае для определения критических путей рекомендуется использовать критические работы.
Теперь перейдем к параметрам работ.
Отдельная работа может начаться (и окончиться) в ранние, поздние или другие промежуточные сроки. В дальнейшем при оптимизации графика возможно любое размещение работы в заданном интервале.
Очевидно, что ранний срок начала работы
совпадает с ранним сроком наступления начального (предшествующего) события i, т.е.
(6)
Тогда ранний срок окончания работы
определяется по формуле
(7)
Ни одна работа не может окончиться позже позднего допустимого срока своего конечного события i. Поэтому поздний срок окончания работы
определяется соотношением
(8)
а поздний срок начала этой работы — соотношением
(9)
Таким образом, в рамках сетевой модели моменты начала иокончания работы тесно связаны с соседними событиями ограничениями (6) - (9). ;
Прежде чем рассматривать резервы времени работ, обратимся к резерву времени пути. Такие резервы имеют все некритические пути. Резерв времени пути определяется как разность междудлиной критического и рассматриваемого пути
(10)
Он показывает, на сколько в сумме могут быть увеличены продолжительности всех работ, принадлежащих этому пути. Если затянуть выполнение работ, лежащих на этом пути, на время большее чем , то критический путь переместится на путь L.
Отсюда можно сделать вывод, что любая из работ пути L на его участке, не совпадающем с критическим путем (замкнутым между двумя событиями критического пути), обладает резервом времени.
Среди резервов времени работ выделяют четыре разновидности.
Полный резерв времени работы
показывает, на сколько можно увеличить время выполнения данной работы при условии, что срок выполнения комплекса работ не изменится. Полный резерв
определяется по формуле
. (11)
Полный резерв времени работы равен резерву максимального из путей, проходящего через данную работу. Этим резервом можно располагать при выполнении данной работы, если ее начальное событие свершится в самый ранний срок, и можно допустить свершение конечного события в его самый поздний срок (рис. 8 д).
Важным свойством полного резерва времени работы является то, что он принадлежит не только этой работе, но и всем полным путям, проходящим через нее. При использовании полного резерва времени только для одной работы резервы времени остальных работ, лежащих на максимальном пути, проходящем через нее, будут полностью исчерпаны. Резервы времени работ, лежащих на других (не максимальных по длительности) путях, проходящих через эту работу, сократятся соответственно на величину использованного резерва.
Остальные резервы времени работы являются частями ее полного резерва.
Частный резерв времени первого вида работы
есть часть полного резерва времени, на которую можно увеличить продолжительность работы, не изменив при этом позднего срока ее начального события. Этим резервом можно располагать при выполнении данной работы в предположении, что ее начальное и конечное события свершаются в свои самые поздние сроки (см. рис. 8 б).
Рис. 8.
находится по формуле
(12)
(13)
Частный резерв времени второго вида, или свободный резерв времени работы
представляет часть полного резерва времени, на которую можно увеличить продолжительность работы, не изменив при этом раннего срока ее конечного события. Этим резервом можно располагать при выполнении данной работы в предположении, что ее начальное и конечное события свершатся в свои самые ранние сроки (см. рис. 8 в). Д. находится по формуле
(14)
(15)
Свободным резервом времени можно пользоваться для предотвращения случайностей, которые могут возникнуть в ходе выполнения работ. Если планировать выполнение работ по ранним срокам их начала и окончания, то всегда будет возможность при необходимости перейти на поздние сроки начала и окончания работ.
Независимый резерв времени работы
— часть полного резерва времени, получаемая для случая, когда все предшествующие работы заканчиваются в поздние сроки, а все последующие работы начинаются в ранние сроки (см. рис. 8 г)
(16)
или
(17)
Использование независимого резерва времени не влияет на величину резервов времени других работ. Независимые резервы стремятся использовать тогда, когда окончание предыдущей работы произошло в поздний допустимый срок, а последующие работы хотят выполнить в ранние сроки. Если величина независимого резерва, определяемая по формуле (16) или (17), равна нулю или положительна, то такая возможность есть. Если же величина отрицательна, то этой возможности нет, так как предыдущая работа еще не оканчивается, а последующая уже должна начаться. Поэтому отрицательное значение
не имеет реального смысла. А фактически независимый резерв имеют лишь те работы, которые не лежат на максимальных путях, проходящих через их начальные и конечные события.
Следует отметить, что резервы времени работы , показанные на рис. 8, могут состоять из двух временных отрезков, если интервал продолжительности работы
занимает промежуточную позицию между двумя его крайними положениями, изображенными на графиках.
Таким образом, если частный резерв времени первого вида может быть использован на увеличение продолжительности данной и последующих работ без затрат резерва времени предшествующих работ, а свободный резерв времени — на увеличение продолжительности данной и предшествующих работ без нарушения резерва времени последующих работ, то независимый резерв времени может быть использован для увеличения продолжительности только данной работы.
Работы, лежащие на критическом пути, так же как и критические события, резервов времени не имеют.
Если на критическом пути лежит начальное событие i, то
(18)
Если на критическом пути лежит конечное событие j, то
(19)
Если на критическом пути лежат начальное и конечное события i и j, но сама работа не принадлежит этому пути, то
(20)
Соотношения (18) - (20) можно использовать при проверке правильности расчетов резервов времени отдельных работ.
С помощью критических работ, т.е. работ, не имеющих резервов времени, может быть определен критический путь сетевого графика. Этот способ определения критического пути целесообразно использовать тогда, когда сеть содержит несколько критических путей.
Пример 2. Вычислить временные параметры работ для сетевого графика, изображенного на рис. 6.
Результаты расчетов сведем в табл. 2.
Вычисление временных параметров работы покажем на примере работы (1,4):
ранний срок начала работы (по формуле (6)): (суток),
ранний срок окончания работы (по формуле (7)): (суток);
поздний срок начала работы (по формуле (9)): (суток), где
;
поздний срок окончания работы (по формуле (8)): (суток).
Таким образом, работа (1, 4) должна начаться в интервале [8; 20] (суток) и окончиться в интервале [14; 26] (суток) от начала выполнения проекта.
Полный резерв работы (7,4) (по формуле (11)): (суток), т.е. срок выполнения данной работы можно увеличить на 12 суток, при этом срок выполнения комплекса работ не изменится.
Таблица 3.
№ п/п |
Работа |
Продолжительность работы |
Сроки начала и окончания работы |
Резервы времени работы |
|||||||
|
|
|
|
|
|
|
|
||||
1 |
(0,3) |
8 |
0 8 |
1 |
1 |
9 |
1 |
1 |
0 |
0 |
|
2 |
(0,3) |
1 |
0 |
13 |
0 |
13 |
0 |
0 |
0 |
0 |
|
3 |
(0,5) |
9 |
0 |
9 |
11 |
20 |
11 |
11 |
11 |
11 |
|
4 |
(1,2) |
9 |
8 |
17 |
31 |
40 |
23 |
22 |
0 |
- |
|
5 |
(1,4) |
6 |
8 |
14 |
20 |
26 |
12 |
11 |
9 |
8 |
|
6 |
(1,3) |
4 |
8 |
12 |
9 |
13 |
1 |
0 |
1 |
0 |
|
7 |
(2,7) |
3 |
17 |
20 |
40 |
43 |
23 |
0 |
13 |
- |
|
8 |
(3,4) |
10 |
13 |
23 |
16 |
26 |
3 |
3 |
0 |
0 |
|
9 |
(3,5) |
7 |
13 |
20 |
13 |
20 |
0 |
0 |
0 |
0 |
|
10 |
(3,6) |
6 |
13 |
19 |
23 |
29 |
10 |
10 |
10 |
10 |
|
11 |
(4,7) |
8 |
23 |
31 |
35 |
43 |
12 |
9 |
2 |
- |
|
12 |
(4,6) |
3 |
23 |
26 |
26 |
29 |
3 |
0 |
3 |
0 |
|
13 |
(5,6) |
9 |
20 |
29 |
20 |
29 |
0 |
0 |
0 |
0 |
|
14 |
(5,8) |
10 |
20 |
30 |
28 |
38 |
8 |
8 |
7 |
7 |
№ п/п |
Работа |
Продолжительность работы |
Сроки начала и окончания работы |
Резервы времени работы |
|||||||
|
|
|
|
|
|
|
|
||||
15 |
(5,9) |
6 |
20 |
26 |
36 |
42 |
16 |
16 |
16 |
16 |
|
16 |
(6,7) |
4 |
29 |
33 |
39 |
43 |
10 |
10 |
0 |
0 |
|
17 |
(6,10) |
5 |
29 |
34 |
43 |
48 |
14 |
14 |
14 |
14 |
|
18 |
(6,9) |
13 |
29 |
42 |
29 |
42 |
0 |
0 |
0 |
0 |
|
19 |
(6,8) |
8 |
29 |
37 |
30 |
38 |
1 |
1 |
0 |
0 |
|
20 |
(7,10) |
5 |
33 |
38 |
43 |
48 |
10 |
0 |
10 |
0 |
|
21 |
(8,9) |
4 |
37 |
41 |
38 |
42 |
1 |
0 |
1 |
0 |
|
22 |
(9,10) |
6 |
42 |
48 |
42 |
48 |
0 |
0 |
0 |
0 |
|
23 |
(9,11) |
17 |
42 |
59 |
44 |
61 |
2 |
2 |
2 |
2 |
|
24 |
(10,11) |
13 |
48 |
61 |
48 |
61 |
0 |
0 |
0 |
0 |
Покажем на примере работы (1, 4), что полный резерв времени работы равен продолжительности максимального из путей, проходящих через данную работу.
Через работу (1, 4) проходят семь полных путей (см. рис. 6):
Путь |
Продолжительность, сутки |
|
39 |
|
48 |
|
46 |
|
49 |
|
47 |
|
35 |
|
40 |
Отсюда максимальным из путей, проходящих через работу (1, 4), является путьпродолжительностью 49 (суток), резерв времени которого (по формуле (9))
=61-49=12 (суток).
Как видим, полный резерв времени работы (1, 4) оказался равным резерву пути —максимального из путей, проходящих через эту работу. Если увеличить продолжительность выполнения работы t(1, 4) на 12 суток, т.е. с 6 до 18 суток, то полностью будет: исчерпан резерв времени пути
, т.е. этот путь станет также критическим, а резервы времени других путей уменьшатся соответственно на 12 суток.
Частный резерв времени работы (1, 4) первого вида определим по формуле (10) (или по формуле 12): (суток) или
12—1 = 11 (суток), т.е. при сохранении общего срока выполнения проекта на 11 суток может быть задержано выполнение работы (1, 4) и последующих работ (по любому из путей
) без затрат резерва времени предшествующих ей работ (в данном случае без затрат резерва времени одной предшествующей работы (0,1)).
Частный резерв времени второго вида, или свободный резерв времени, работы (7, 4) найдем по формуле (12) (или 13)): = 23 – 8 - 6 = 9 (суток) или
= 12 - 3 = 9 (суток), т.е. при сохранении общего срока выполнения проекта на 9 суток может быть задержано выполнение работы (1, 4) и предшествующих ей работ (в данном случае работы (0,1)) без нарушения резерва времени последующих работ.
Независимый резерв времени работы (1, 4) определим по формуле (16) (или (17)): = 23-9-6 = 8 (суток) или
= 12-1-3 = 8 (суток), т.е. на 8 суток может быть увеличена продолжительность работы (/, 4) без изменения резервов времени всех остальных работ.
Обратим внимание на то, что независимые резервы работ (1, 2), (2, 7) и (4, 7) отрицательны ( в табл. 14.3 они обозначены прочерком). Например, = 33 – 40 - 3 = -10. Это означает, что работа (2, 7) продолжительностью 3 (суток) должна закончиться на 33-и сутки после начала комплекса работ, а начаться на 40-е сутки, что, естественно, невозможно.
Подчеркнем, что резервы критических работ (0, 3), (3, 5), (5, 6), (6, 9), (9, 10), (10, II), так же как и резервы критических событий, равны нулю.
Рис. 9.
Следует отметить, что в случае достаточно простых сетевых графиков результаты расчета их временных параметров можно фиксировать прямо на графике. Параметры событий записываются в кружках, разделенных на четыре части, а параметры работ — над соответствующими стрелками (рис. 9). При этом отпадает необходимость составления таблиц.
При определении временных параметров сетевого графика до сих пор предполагалось, что время выполнения каждой работы точно известно. Такое предположение в действительности выполняется редко: напомним, система СПУ обычно применяется для планирования сложных разработок, не имевших в прошлом никаких аналогов. Чаще всего продолжительность работы по сетевому графику заранее не известна и может принимать лишь одно из ряда возможных значений. Другими словами, продолжительность работы является случайной величиной, характеризующейся своим законом распределения, а значит, своими числовыми характеристиками — средним значением, или математическим ожиданием,
и дисперсией
.
Практически во всех системах СПУ априори принимается, что распределение продолжительности работ обладает тремя свойствами: а) непрерывностью; б) унимодальностью, т.е. наличием единственного максимума у кривой распределения; в) двумя точками пересечения кривой распределения с осью Ох, имеющими неотрицательные абсциссы.
Кроме того, установлено, что распределение продолжительности работ обладает положительной асимметрией, т.е. максимум кривой смещен влево относительно медианы (линии, делящей площадь под кривой на две равные части). Распределение, как правило, более круто поднимается при удалении от минимального значения t и полого опускается при приближении к максимальному значению t (рис. 10).
Простейшим распределением с подобными свойствами является известное в математической статистике - распределение. Анализ большого количества статистических данных (хронометражи времени реализации отдельных работ, нормативные данные и т.д.)
Рис. 10
показывает, что - распределение можно использовать в качестве априорного для всех работ.
Для определения числовых характеристик ,и
этого распределения для работы
на основании опроса ответственных исполнителей проекта и экспертов определяют три временные оценки (рис. 10):
а) оптимистическую оценку , т.е. продолжительность работы
при самых благоприятных условиях;
б) пессимистическую оценку , т.е. продолжительность работы
при самых неблагоприятных условиях;
в) наиболее вероятную оценку , т.е. продолжительность работы
при нормальных условиях.
Предположение о - распределении продолжительности работы
позволяет получить следующие оценки ее числовых характеристик:
(21)
(22)
Следует отметить, что обычно специалистам сложно оценить наиболее вероятное время выполнения работы . Поэтому в реальных проектах используется упрощенная (и менее точная) оценка средней продолжительности работы
на основании лишь двух задаваемых временных оценок
и
:
(23)
Зная и
, можно определять временные параметры сетевого графика и оценивать их надежность.
Так, при достаточно большом количестве работ, принадлежащих пути L и выполнении некоторых весьма общих условий можно применить центральную предельную теорему Ляпунова, на основании которой можно утверждать, что общая продолжительность пути L имеет нормальный закон распределения со средним значением , равным сумме средних значений продолжительности составляющих его работ
и дисперсией
, равной сумме соответствующих дисперсий
:
(24)
(25)
Предположим, что сетевой график на рис. 6 представляет сеть не с детерминированными (фиксированными), а со случайными продолжительностями работ и цифры над работами-стрелками указывают средние значения продолжительности соответствующих операций, найденные по формуле (21) или (23), и известны все дисперсии
, вычисленные по формуле (22).
Следует отметить, что и в этом случае временные параметры сетевого графика — длина критического пути, ранние и поздние сроки свершения событий, резервы времени событий и работ и т.д. — будут такие же, как и найденные в разд. 5. Но при этом необходимо учесть, что эти параметры, представленные в табл. 3, теперь будут являться средними значениями соответствующих случайных величин: средней длиной критического пути , средним значением раннего срока наступления события
, средним значением полного резерва времени работы
и т.п.
Так, =б1 будет означать, что длина критического пути лишь в среднем составляет 61 сутки, а в каждом конкретном проекте возможны заметные отклонения длины критического пути от ее среднего значения (причем, чем больше суммарная дисперсия продолжительности работ критического пути, тем более вероятны значительные по абсолютной величине отклонения).
Поэтому предварительный анализ сетей со случайными продолжительностями работ, как правило, не ограничивается расчетами временных параметров сети. Весьма важным моментом анализа становится оценка вероятности того, что срок выполнения проекта не превзойдет заданного директивного срока Т.
Полагая случайной величиной, имеющей нормальный закон распределения, получим
, (26)
Рис. 11.
(на рис. 11 это площадь заштрихованной фигуры), где — значение интеграла вероятностей Лапласа, где
;
— среднее квадратическое отклонение длины критического пути:
, (27)
а ,
определяются по формулам (24) и (25).
Если мала (например, меньше 0,3), то опасность срыва заданного срока выполнения комплекса велика, необходимо принятие дополнительных мер (перераспределение ресурсов по сети, пересмотр состава работ и событий и т.п. — об этом речь пойдет дальше). Если
значительна (например, более 0,8), то, очевидно, с достаточной степенью надежности можно прогнозировать выполнение проекта в установленный срок.
В некоторых случаях представляет интерес и решение обратной задачи: определение максимального срока выполнения проекта Т, который возможен с заданной надежностью (вероятностью) .В этом случае
, (28)
где —нормированное отклонение случайной величины, определяемое с помощью функции Лапласа
.
Пример 3. Пусть, например, для сети (рис. 6) дисперсии продолжительности работ критического пути раны: ;
;
;
;
;
.Оценить вероятность выполнения проекта в срок Т = 63 суткам.
Решение: Найдем , используя формулы (25) и (27):
Теперь искомая вероятность
т.е. можно с известным риском предполагать выполнение проекта в срок.
Рассмотрим и пример решения обратной задачи: оценить максимально возможный срок Т выполнения проекта с надежностью =0,95.
По формуле (29) т.е. с надежностью 0,95 срок выполнения проекта не превысит 69 суток.
Следует отметить, что для данной сети мы можем найти лишь весьма приближенные оценки и Т, ибо на основании теоремы Ляпунова вывод о нормальном законе распределения случайной величины
правомерен лишь для достаточно большого числа критических работ, а в рассматриваемой сети их всего 6.
Однако приведенный метод расчета имеет принципиальные недостатки оценки параметров даже сложных сетей с большим количеством работ. Дело в том, что на практике нередки случаи, когда дисперсии длин некритических (но близких к критическому) путей существенно больше, чем
. Поэтому при изменении ряда условий в данном конкретном комплекте работ возможен переход к новым критическим путям, которые в расчете не учитываются.
Различия между событиями с детерминированными случайными продолжительностями работ не следует путать с различием детерминированных и стохастических сетей. Последнее различие связано со структурой самой сети.
Рассмотренные до сих пор сети являлись детерминированными, хотя работы в них могли характеризоваться не только детерминированными, но и случайными продолжительностями. Вместе с тем встречаются проекты, когда на некоторых этапах тот или иной комплекс последующих работ зависит от неизвестного заранее результата. Какой из этих комплексов работ будет фактически выполняться, заранее не известно, а может быть предсказано лишь с некоторой вероятностью. Например, может быть предусмотрено несколько вариантов продолжения исследования в зависимости от полученных опытных данных или несколько вариантов строительства предприятий различной мощности по обработке сырья в зависимости от результатов разведки запасов этого сырья. Такие сети называются стохастическими.
В свою очередь стохастические сети, так же как и детерминированные, могут характеризоваться детерминированными либо случайными продолжительностями.
После нахождения критического пути и резервов времени работ, и оценки вероятности выполнения проекта в заданный срок должен быть проведен всесторонний анализ сетевого графика и приняты меры по его оптимизации. Этот весьма важный этап в разработке сетевых графиков раскрывает основную идею СПУ. Он заключается в приведении сетевого графика в соответствие с заданными сроками и возможностями организации, разрабатывающей проект.
Вначале рассмотрим анализ и оптимизацию календарных сетей, в которых заданы только оценки продолжительности работ.
Анализ сетевого графика начинается с анализа топологии сети, включающего контроль построения сетевого графика, установление целесообразности выбора работ, степени их расчленения.
Затем проводятся классификация и группировка работ по величинам резервов. Следует отметить, что величина полного резерва времени далеко не всегда может достаточно точно характеризовать, насколько напряженным является выполнение той или иной работы некритического пути. Все зависит от того, на какую последовательность работ распространяется вычисленный резерв, какова продолжительность этой последовательности.
Определить степень трудности выполнения в срок каждой группы работ некритического пути можно с помощью коэффициента напряженности работ.
Коэффициентом напряженности работы
называется отношение продолжительности несовпадающих (заключенных между одними и теми же событиями) отрезков пути, одним из которых является путь максимальной продолжительности, проходящий через данную работу, а другим — критический путь:
, (29)
где — продолжительность максимального пути, проходящего через работу
;
— продолжительность (длина) критического пути;
— продолжительность отрезка рассматриваемого пути, совпадающего с критическим путем.
Формулу (29) можно легко привести к виду
, (30)
где — полный резерв времени работы
.
Коэффициент напряженности может изменяться в пределах от 0 (для работ, у которых отрезки максимального из путей, не совпадающие с критическим путем, состоят из фиктивных работ нулевой продолжительности) до 1 (для работ критического пути).
Пример 4. Найти коэффициент напряженности работы (1, 4) для сетевого графика (рис 6).
Решение. В разд. 5 мы установили, что длина критического пути =61 (сутки), а максимальный путь, проходящий через работу (1,4) — путь
— имеет продолжительность
49 (суток). Максимальный путь
совпадает с критическим (см. рис. 6) на отрезке
продолжительностью
(сутки). Используя формулу (29), найдем
.
Или иначе: зная полный резерв работы (см. рис. 3), по формуле (30) находим
.
Чем ближе к 1 коэффициент напряженности , тем сложнее выполнить данную работу в установленные сроки. Чем ближе
к нулю, тем большим относительным резервом обладает максимальный путь, проходящий через данную работу.
Работы могут обладать полными одинаковыми резервами, но степень напряженности сроков их выполнения, выражаемая коэффициентом напряженности , может быть различна. И наоборот, полным различным резервам могут соответствовать одинаковые коэффициенты напряженности.
Так, полные резервы работ (3,6) и (6,7) для сетевого графика равны: (суток) — см. табл. 14.3, а их коэффициенты напряженности различны:
,
.
Обратим внимание на то, что больший полный резерв одной работы (по сравнению с другой) не обязательно свидетельствует о меньшей степени напряженности ее выполнения. Так, в рассматриваемой сети (см. рис. 6), хотя работа (2, 7) обладает большим полным резервом по сравнению с работой (6, 10): , но имеет вдвое больший коэффициент напряженности:
против
.
Это объясняется разным удельным весом полных резервов работ в продолжительности отрезков максимальных путей, не совпадающих с критическим путем.
Вычисленные коэффициенты напряженности позволяют дополнительно классифицировать работы по зонам. В зависимости от величины выделяют три зоны: критическую (
>0,8); подкритическую (0,6<
<0,8); резервную (
<0,6).
Оптимизация сетевого графика представляет процесс улучшения организации выполнения комплекса работ с учетом срока его выполнения. Оптимизация проводится с целью сокращения длины критического пути, выравнивания коэффициентов напряженности работ, рационального использования ресурсов.
В первую очередь принимаются меры по сокращению продолжительности работ, находящихся на критическом пути. Это достигается:
• перераспределением всех видов ресурсов, как временных (использование резервов времени некритических путей), так и трудовых, материальных, энергетических (например, перевод части исполнителей, оборудования с некритических путей на работы критического пути); при этом перераспределение ресурсов должно идти, как правило, из зон, менее напряженных, в зоны, объединяющие наиболее напряженные работы;
• сокращением трудоемкости критических работ за счет передачи части работ на другие пути, имеющие резервы времени;
• параллельным выполнением работ критического пути;
• пересмотром топологии сети, изменением состава работ и структуры сети.
В процессе сокращения продолжительности работ критический путь может измениться, и в дальнейшем процесс оптимизации будет направлен на сокращение продолжительности работ нового критического пути и так будет продолжаться до получения удовлетворительного результата. В идеале длина любого из полных путей может стать равной длине критического пути или по крайней мере Пути критической зоны. Тогда все работы будут вестись с равным напряжением, а срок завершения проекта существенно сократится.
Весьма эффективным является использование метода статистического моделирования, основанного на многократных последовательных изменениях продолжительности работ (в заданных пределах) и "проигрывании" на компьютере различных вариантов сетевого графика с расчетами всех его временных параметров и коэффициентов напряженности работ. Процесс "проигрывания" продолжается до тех пор, пока не будет получен приемлемый вариант плана или пока не будет установлено, что все имеющиеся возможности улучшения плана исчерпаны и поставленные перед разработчиком проекта условия невыполнимы.
До сих пор мы говорили лишь о соблюдении директивных сроков выполнения комплекса работ и не затрагивали непосредственно вопросов стоимости разработки проектов. Однако на практике при попытках эффективного улучшения составленного плана неизбежно введение дополнительно к оценкам сроков фактора стоимости работ.