| 
	
	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
			
 
 Рис. 2. Логические взаимосвязи в стрелочном графеФиктивным логическим операциям ставится в соответствие нулевая продолжительность выполнения, а изображаются они обычно пунктиром. Например, если работу С нельзя начать прежде, чем завершится операция А, а работу О нельзя начать до тех пор, пока не завершатся работы А и В, соответствующий стрелочный граф будет выглядеть следующим образом: Кроме того, в стрелочных графах для избежания неоднозначности используются фиктивные операции идентификации. В некоторых пакетах прикладных программ, используемых в сетевом анализе, операции обозначаются не с помощью букв или слов, а числами, обозначающими соответствующие им события. Если же две или более операций выполняются одновременно и имеют одни и те же начальное и конечное события, то компьютер не сможет отличить их друг от друга и не воспримет вводимую исходную информацию. Как показано на рис. 4, включение фиктивной операции идентификации позволяет решить данную проблему. На практике принято нумеровать события таким образом, чтобы номер конечного события был больше, чем номер начального события. 
 
 
 
 
 операция 
 
 
 
 
 Рис. 3. Использование в стрелочном графе фиктивной логической операции Первый шаг после составления списка операций, входящих в проект, состоит в том, чтобы создать таблицу операций, в которой отражаются все операции, а также операции, непосредственно им предшествующие. В данный список не включаются фиктивные логические операции или операции идентификации. На основе полученного списка строится стрелочный сетевой граф, включающий действительные и фиктивные операции и отражающий установленные взаимосвязи между ними. После того, как закончено построение исходного графа, можно выявить и исключить из рассмотрения ненужные фиктивные операции. Затем для улучшения логической схемы исходный граф можно модифицировать и перекомпоновать. 
 
 
 
 
 
 
 
 
 | 
	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ОПЕРАЦИИ | 
 Непосредственно предшествующая операция  | 
| 
 А Составление сметы затрат В Согласованные оценки С Покупка собственного оборудования D Подготовка конструкторских проектов E Строительство основного цеха F Монтаж оборудования G Испытания оборудования H Определение типа модели I Проектирование внешнего корпуса J Создание внешнего корпуса K Конечная сборка L Контрольная проверка  | 
 - A B B D C,E F D D H,I G,J K  | 
В соответствии с приведенной выше таблицей необходимо тщательно, переходя от одной операции к другой, проверить построенный в первом приближении граф.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
                                      A   B   C   F   G   K   L
![]()
![]()
![]()
![]()
![]()
![]()
                                    1          2          3          5          8          9          10        11
![]()
![]()
![]()
![]()
                                                   D      E                     J
                                                              4                   
 7        Фиктивная операция 
![]()
![]()
                                                              H      
 I                       идентификации
6
Рис.6. Новый чертеж стрелочного графа для примера 1
Пример 2. Компания "Эвриком" является участником другого проекта, детали которого приведены ниже. Изобразим данный проект при помощи стрелочного графа.
Решение
Построение начинаем с начального события, обозначенного кружком 1. Из таблицы следует, что существуют три операции - А, В и С, которым не предшествует ни одна из операций. Поэтому из начального события выходят три стрелки. На первый взгляд таблица операций выглядит чрезвычайно простой, однако отразить присущую ей логику с помощью сетевого графа достаточно трудно, вследствие чего мы вынуждены использовать три фиктивные логические операции (см. рис. 7).
Таблица 2. Таблица операций для примера 2
| Операция | 
 Непосредственно Предшествующая операция  | 
Операция | 
 Непосредственно предшествующая операция  | 
| 
 A B C D  | 
 - - - A,B  | 
 E F G H  | 
 B,C C D,E F,G  | 

                                                4
                                                2            
![]()
![]()
![]()
![]()
![]()
                                      
![]()
![]()
![]()
![]()
                        1                      5                      6                      7                      8
![]()
                          
3
Рис. 7. Стрелочный граф для примера 2
1.2 Вершинные графы
В этом типе сетевых графов операции представлены узлами графа, а стрелками изображаются их взаимосвязи. В таких графах не возникает необходимости вводить фиктивные операции. Как и в предыдущем случае, течение времени следует изображать в направлении слева направо.
Пример 3. Обратившись к данным из примера 2, модифицируем полученную в этом примере схему, поставив в соответствие операциям узлы графа.
![]()
![]()
                                                A
![]()
![]()
![]()
![]()
                                                                        D
![]()
![]()
![]()
![]()
![]()
            Начальный               B                                             G
![]()
![]()
![]()
![]()
              узел                                       E                                             H
                                                C                                             F
Рис. 8. Вершинный граф
Каждый из описанных типов графов имеет свои преимущества и недостатки. Обычно не имеет принципиального значения, какая из систем используется. Если в стрелочные графы приходится вводить достаточно большое число фиктивных операций, то гораздо более предпочтительным является выбор вершинного графа. Ниже приведено сравнение двух видов изображения операций и их основных особенностей (см. рис. 9).
Ситуация Строчный граф Вершинный граф
![]()
![]()
![]()
![]()
Операция Q                                                   P                      Q
![]()
![]()
зависит                                               1                      2                      3                      P           
 Q
![]()
от операций P,Q
![]()
![]()
![]()
![]()
Операция Х                                       1          Р                      X                                 Р
![]()
![]()
![]()
![]()
зависит                                                                       3                      4                                   
 X
от операций P,Q 2 Q Q
![]()
![]()
![]()
![]()
Операция Х,Y                                   1          Р                      X         4                      Р    
X
![]()
![]()
![]()
![]()
![]()
![]()
зависит                                                                       3                                                                      
от операций P,Q                                2          Q                     Y         5                      Q          
 Y
![]()
![]()
![]()
Операция Х                                       1          Р          2          X         5                      Р           
 X
![]()
![]()
![]()
![]()
![]()
зависит                                                                                                                                   
![]()
![]()
от операции P;                                   3          Q         4          Y         6                      Q            Y
oперация Y зависит от
операций Р и Q
Рис. 9. Сравнение сетевых стрелочного и вершинного графов
1.3 Анализ критического пути
После того как проведена идентификация операций, можно оценить их продолжительность. На основе продолжительности выполнения каждой операции и руководствуясь логической схемой, можно найти время выполнения проекта в целом. На данном этапе предполагается, что продолжительность выполнения каждой операции является фиксированной величиной, не испытывающей влияний неопределенности. В последнем разделе главы мы рассмотрим вопрос о том, какие поправки следует внести в этот анализ, чтобы учесть неопределенность времени выполнения операций. В каждом графе существует несколько возможных путей. Общее время, необходимое для того, чтобы пройти какой-либо путь, есть сумма времени выполнения всех операций, принадлежащих данному пути. Продолжительность выполнения всего проекта занимает наибольшее время. Более длительные операции называются критическими. Любая задержка срока начала или окончания выполнения этих работ повлечет за собой задержку срока выполнения проекта в целом. Критические операции образуют непрерывную цепь, проходящую через весь граф. Эта цепь критических операций называется критическим путем. В каждом графе найдется, по крайней мере, один критический путь.
Для того чтобы найти общую продолжительность выполнения проекта, нужно определить продолжительность критического пути. В большинстве графов идентифицировать все идущие сквозь граф пути, чтобы выявить среди них тот, который занимает наибольшее время, достаточно трудно. Существуют два возможных метода, позволяющих отследить движение времени в графе:
1. Определение для каждой операции наиболее ранних сроков начала и окончания ее выполнения.
2. Определение для каждого события наиболее раннего срока его наступления. Следует отметить, что второй метод может использоваться только в стрелочных графах.
1.4 Анализ критического пути с применением вершинных графов
Пример 4. В табл. 3 указана продолжительность выполнения каждой операции проекта, о котором шла речь в примерах 2 и 3 Определим общую продолжительность выполнения проекта. Вершинный граф, соответствующий данному проекту, был построен в примере 3.
Таблица 3. Операции и их продолжительность для примера 4
| Операция | 
 Непосредственно Предшествующая Операция  | 
Время, дней | 
| 
 A B C D T F G H  | 
 - - - A,B B,C C D,E F,G  | 
 8 10 6 8 9 14 14 6  | 
Решение
Предположим, что каждая из исходных операций А, В и С начинается в нулевой момент времени. Это наиболее ранний срок начала этих Е5 операций. Наиболее ранний срок, к которому их выполнение может быть завершено, определяется следующим образом:
Наиболее ранний срок окончания ЕР=ЕS+Продолжительность операции.
Обычно найденные значения этих сроков наносятся непосредственно на граф, однако, мы занесем их сначала в таблицу, чтобы продемонстрировать методику проведения расчетов.
Таблица 4. Расчет наиболее ранних сроков начала окончания операций для примера 4
| Операция | Продолжи-тельность, дней | Наиболее ранний срок начала | Наиболее ранний срок окончания | Комментарии | 
| 
 A B C D E F G H  | 
 8 10 6 8 9 14 14 6  | 
 0 0 0 10 10 6 19 33  | 
 0+8=8 0+10=10 0+6=6 10+8=18 10+9=19 6+14=20 19+14=33 33+6=39  | 
 Нельзя начать, пока не завершены А и В Нельзя начать, пока не завершены В и С Нельзя начать, пока не завершена С Нельзя начать, пока не завершены D и E Нельзя начать, пока не завершены F и G  | 
Ключ

![]()
![]()
                                    0
8                   обозначение               ЕS EF
![]()
![]()

![]()
![]()
![]()
![]()

![]()
                                    A 8                  операции                               
 продолжительность