Задача о нахождении кратчайших путей в графе
Сетевые модели (СМ) или методы сетевого планирования и управления (СПУ) – способ исследования и проектирования сложных систем, анализа и оптимизации процессов, состоящих из связанных подсистем или совокупности последовательных и взаимосвязанных работ и событий.
СМ позволяют дать ответы на следующие вопросы, стоящие перед руководителями разработок:
как наилучшим образом распределить исполнителей, чтобы выполнить разработку в срок;
как определить вероятное время выполнения разработки и выделить те работы, которые наиболее сильно влияют на срок завершения;
откуда взять ресурсы, если некоторые работы срываются;
как распределить ресурсы (рабочую силу, материалы, финансы), чтобы не было простоев
Математическое представление СПУ – это сетевая модель, базирующаяся на теории ориентированных графов. Орграф – множество вершин, соединенных направленными линиями (дугами).
Сетевой график – это отображение СМ в виде орграфа.
Рассмотрим СМ, основными элементами которой является событие, работа и путь.
9
3
12
8
15
0
4
6
15
7
2
6
5
3
4
1
0
Работа – процесс, связанный с затратами времени и ресурсов и приводящий к достижению определенных результатов (в СМ работы отображаются направленными стрелками); пунктиром отображается фиктивная работа; рядом со стрелками изображаются длительности работ
.
Фиктивная работа – отображает логическую связь работ, не требует расхода времени и ресурсов; она констатирует, что событие 3 не может произойти, пока не свершится событие 1.
Ресурсы – материалы, сырье, оборудование, контингент исполнителей, необходимый для производства работы, финансовые средства.
Событие – факт завершения всех предшествующих работ и готовность к выполнению всех последующих.
Путь – последовательность работ в сети, в которой конечное событие любой работы совпадает с начальным событием следующей за ней работы. Путь кодируется в событиях, через которые он проходит (по рисунку: путь (3, 5, 6) иногда обозначается начальным и конечным событиями пути – L(3, 6)).
Могут быть определены следующие типы путей:
частичные: (1, 3, 5); (0, 1, 3); (0, 3); (3, 5, 6)
полные:
Продолжительность любого пути T(L) можно определить по формуле:
В нашем примере:
Путь, имеющий наибольшую продолжительность, называется критическим:
Работы, находящиеся на критическом пути, называются критическими. Критические работы выделяются на СМ полужирными или двойными стрелками:
Факт обнаружения на сложной СМ критического пути и критических работ является достаточно важным результатом, позволяющим выявить узкие места проекта и сосредоточить на них максимальное внимание. Время выполнения проекта в целом не может быть меньше Tкр., поэтому первая задача при анализе СМ – выявление Lкр. и критических работ и поиск возможностей по сокращению их длительности. На этом базируется и в этом состоит сущность первого из сетевых методов – метода критического пути.
Рассмотрим сетевую модель на примере выполнения какой-нибудь работы.
Чтобы составить модель задачи, необходимо ответить на следующие вопросы:
наиболее раннее время начала работы;
наиболее раннее время окончания работы;
наиболее позднее время начала работы;
наиболее позднее время окончания работы;
критический путь;
длина критического пути;
запас времени на выполнение работы.
Существует два способа описания работы: табличный и графический.
Табличный способ:
| № п/п | Работа | Предшествующая работа | Время выполнения |
| 1 | A | - | |
| 2 | B | - | |
| 3 | C | B | |
| 4 | D | A, C | |
Графический способ:
A
D
C
B
Пример.
Некоторая организация проводит строительные работы, в которых запланированы следующие виды работ:
| Работы | Предшествующая работа | Недели |
| A Подготовить архитектурный проект | - | 5 |
| B Определить будущих арендаторов | - | 6 |
| C Подготовить рекламный проспект для арендаторов | A | 4 |
| D Выбрать подрядчика | A | 3 |
| E Подготовить документы для получения разрешения | A | 1 |
| F Получить разрешение на строительство | E | 4 |
| G Осуществить строительство | D, F | 14 |
| H Заключить контракты с арендаторами | B, C | 12 |
| I Сдать помещение арендаторам | G, H | 2 |
Ответить на следующие вопросы:
сколько работ на критическом пути;
какова длина критического пути;
на сколько можно отложить работы E, чтобы это не повлияло на срок выполнения проекта;
на сколько можно отложить начало работы B, чтобы это не повлияло на срок выполнения проекта;
на сколько можно отложить начало работы B, чтобы это не изменило наиболее ранний срок наступления последующего события, то есть определить свободный резерв времени.