Баженов Д.В., аспирант
Херсонский национальный технический
университет, Украина
Кафедра экономической кибернетики
Знание критического пути
важно по двум причинам: оно позволяет (1) выделить из комплекса «угрожающие»
работы, наблюдать за ними и форсировать их, (2) ускорить выполнение комплекса
привлечением резервов, «скрытых» в некритических работах. Увеличение
длительности критической работы приводит к отсрочке завершения комплекса.
Задержка с выполнением некритических работ не влияет на завершение комплекса.
Форсирование работ не дается даром, а требует вложения денег. Возникает
типичная задача исследования операций: какие ресурсы и в какие работы нужно
вложить, чтобы время выполнения комплекса не превысило заданной величины, а
затраты были минимальны. Другая задача состоит в перераспределении ресурсов:
как нужно перераспределить ресурсы, чтобы время выполнения всего комплекса было
минимальным? При другом способе задания комплекса работ узлы обозначают
«элементарные» работы, стрелки – логические связи между ними. Преимуществом
первого способа является то, что его легко приспособить к учету времени
выполнения работ и всего комплекса в целом. Преимущество второго способа
состоит в том, что легко вносить новые связи, обнаруженные в ходе выполнения
работ.
При приведении в порядок
структурной таблицы операциям дается удобная нумерация, при которой каждая
операция может опираться лишь на операции с меньшим порядковым номером. Все
операции делятся по рангам. Начало операций первого ранга не требует окончания
других операций.
Таблица 1
Список элементарных операций
№ |
Операция |
Опирается |
Ранг |
Операция |
№ |
Операция |
Опирается |
1 |
а1 |
|
1 |
b1 |
1 |
b1 |
|
2 |
а2 |
а1, a3 |
2 |
b5 |
2 |
b2 |
|
3 |
а3 |
|
1 |
b2 |
3 |
b3 |
|
4 |
а4 |
а1, a2, а3 |
3 |
b6 |
4 |
b4 |
|
5 |
а5 |
|
1 |
b3 |
5 |
b5 |
b1, b2 |
6 |
а6 |
|
1 |
b4 |
6 |
b6 |
b1, b2,
b5 |
7 |
а7 |
а1, a4, а10 |
6 |
b12 |
7 |
b7 |
b1, b5 |
8 |
а8 |
а1, a2 |
3 |
b7 |
8 |
b8 |
b1, b5 |
9 |
а9 |
а3, a4, а5 |
4 |
b9 |
9 |
b9 |
b2, b3,
b6 |
10 |
а10 |
а9 |
5 |
b11 |
10 |
b10 |
b9 |
11 |
а11 |
а7, a12 |
7 |
b15 |
11 |
b11 |
b9 |
12 |
а12 |
а1, a2 |
3 |
b8 |
12 |
b12 |
b1, b6,
b11 |
13 |
а13 |
а4, a5, а10 |
6 |
b13 |
13 |
b13 |
b3, b6,
b11 |
14 |
а14 |
а3, a4, а5 |
4 |
b10 |
14 |
b14 |
b11 |
15 |
а15 |
а10 |
6 |
b14 |
15 |
b15 |
b8, b12 |
В таблице 1 даны четыре операции
первого ранга: a1, a3, a5
и a6. Если операция опирается на операции первого ранга, ее
называют операцией второго ранга. После распределения операций по
рангам, им приписывают новые номера, начиная с первого ранга. Будем считать
операции а1, а2, ... упорядоченными. Связи
между операциями комплекса отобразим сетевым графиком. Операции изображены
дугами, а события, которые состоят в завершении операций и возможности начать
новые – вершинами. Вершины сетевого графа обозначаются числами (номерами
событий), операции – a1, a2, ... Используем
список элементарных операций таблицы 2.
Таблица 2
Список элементарных операций
№ п/п |
Операция |
Опирается |
Время ti |
1 |
а1 |
|
10 |
2 |
а2 |
|
5 |
3 |
а3 |
|
15 |
4 |
а4 |
а1, a2 |
18 |
5 |
а5 |
а2, a3 |
19 |
6 |
а6 |
а4 |
18 |
7 |
а7 |
а5, a6 |
8 |
8 |
а8 |
а5, a6 |
25 |
9 |
а9 |
а7 |
30 |
10 |
а10 |
а8 |
8 |
Начальный узел комплекса («начало операций») обозначен
1. Из узла выходят изображающие операции стрелки а1, а2
и а3 в узлы 2, 3 и 4. Совместное выполнение операций а1
и а2 изображено 23, к которому ведут пунктирные
стрелки, обозначающие имеющуюся логическую связь. Из 23 идет стрелка а4,
изображающая операцию а4, опирающаяся на операции а1
и а2; в конце стрелки находится узел 5 выполнения операции а4
и т.д.
Завершающий узел 12 означает конец выполнения всего
комплекса операций. На графе не обозначены связи, которые логически вытекают из
других; например операция a8 опирается на операции а3,
а5 и а6, а операция a8
на графе опирается лишь на операции а5 и а6.
Если ti – время начала операции ai,
то Ti=ti+ti –
время ее окончания (ti – длительность выполнения операции ai).
Если операция ai опирается на aj, ak
и al, то ее выполнение не может начаться раньше, чем
закончатся операции aj, ak и al.
Это можно записать как
.
Для операций первого ранга a1,
a2 и a3 имеем
, , , и , .
Операция a4
опирается на a1, a2: ее выполнение можно
начать в момент t4, когда закончится
выполнение операций a1 и a2:
.
Момент времени окончания
операции a4:
.
Аналогично для других
операций имеем:
и .
и .
и .
и .
и .
и .
Время окончания всех
операций
.
Не все операции влияют на
время выполнения комплекса. Среди них есть c суммарной длительностью Т,
которые находятся на пути от начального узла 1 до конечного узла n.
Эти операции называются критическими, а путь – критическим
путем. Выполнение критической операции (1) начинается в момент времени,
когда закончатся операции, на которые она опирается, и (2) длится не больше
планового времени.
Знание критического пути
важно по двум причинам: оно позволяет (1) выделить из комплекса операций
наиболее «угрожающие», наблюдать за ними и при необходимости их форсировать;
(2) ускорить выполнение комплекса привлечением резервов, «скрытых» в
некритических операциях.
Сетевой график содержит критический
путь, но может случиться так, что таких путей несколько. Чтобы найти
критические операции, нужно знать операцию ai1 с
максимальным временем окончания Ti1. Если ti1 – время начала выполнения
первой критической операции, то оно определяется как максимальное значение
моментов времени завершения операций, на которые опирается аі1.
Поэтому для ai2 имеем ti1=Ti2.
По определению, операция аi2 критическая. И так
далее, пока не будет найдена операция aik первого ранга, для
которой tik-1=tik. Цепь
указанных операций aik, aik-1,...,
ai1 определит возможный критический путь.
Сетевой граф комплекса операций используется для оптимизации плана выполнения. Улучшение проводят с различными целями. Например, может случиться так, что время выполнения всех операций не удовлетворяет; возникает вопрос об ускорении, при котором время Т не превысит заданной величины Т0. Для этого нужно ускорить выполнение критических операций, так как уменьшение их продолжительности окажет влияние на время Т. Однако может случиться и так, что критический путь изменится и наиболее слабыми местами со временем станут другие операции.