Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Теория графов и её приложения.-1

.pdf
Скачиваний:
0
Добавлен:
20.11.2023
Размер:
8.93 Mб
Скачать

Видим, что цепочка событий 2, 7, 10, 11 характеризуется нулевым резервом времени.

Вероятно, это и есть критический путь – 32 единицы времени – ни убавить, ни прибавить. Полностью сетевой график выглядит так, как изображено на рис. 9.5.

Рис. 9.5. Сетевой график по рис. 9.1

Итак, применяется метод критического пути, МКП (critical path method, СРМ) – один из главных в проектном менеджменте.

Он выполняется в несколько этапов. Сначала мы идем по сетевому графику слева направо и рассчитываем «ранние сроки» событий («раннее начало» и «раннее окончание»).

А затем идем справа налево, получая «поздние сроки» событий («позднее начало» и «позднее окончание») и резервы времени.

Так, у события 5 Тп(5) = 11, поскольку от него до события 10 (через 8 – самый длинный путь) 13 единиц времени. А событие 10 должно начаться в 24, поэтому: 24 – 13 = 11. Резерв для события

5 = 1. Соответственно, у события8 Тр(8)=10+9=19, аТп(8)=24–4=20. У события 9 Тп(9) = 24 – 3 = 21. У события 6 Тп(6) =

=min(21–1 = 20; 32–5 = 27) = 20.

Усобытия 4 Тп(4) = min(21–7 = 14; 20–4 = 16) = 14.

81

Критический путь имеют нулевой резерв времени выполнения, и, в случае изменения длительности работ, изменяются сроки всего проекта.

На рис. 9.5 критический путь выделен жирным шрифтом.

Использование программного продукта

GRaph INterface (GRIN)

Строим сетевой график – сеть (рис. 9.6):

Рис. 9.6. Сеть для задачи, изображённой на рис. 9.1

Задаём режим «Расчёт критического пути», получаем от-

чёт (рис. 9.6, 9.7).

Рис. 9.7. Отчёт, часть 1

82

Рис. 9.7. Отчёт, часть 2 – по решённой задаче, изображённой на рис. 9.1, расчёт критического пути и определение раннего и позднего начала работ

83

Рис. 9.8. Диаграмма Ганта для сети

Автоматически построенная диаграмма Ганта (в днях) изображена на рис. 9.8.

84

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 10. КОДИРОВАНИЕ ДЕРЕВЬЕВ ПО ПРЮФЕРУ

1.Опрос по теоретическому материалу – особенности кодирования по Прюферу.

2.Особенности декодирования по Прюферу.

3.Коллективное решение задач по теме занятия у доски «вручную».

4.Самостоятельная работа по вариантам – на ПЭВМ в про-

грамме?

5.«Летучка» – «вручную».

Пример решения задачи кодирования

Закодировать кодом Прюфера дерево, изображённое на рис. 10.1.

Рис. 10.1. Граф-дерево

Матрица смежности дерева, изображённого на рис. 10.1, представленанарис. 10.2.

Рис. 10.2. Матрица смежности дерева, изображённого на рис. 10.1

85

Приступаем к кодированию.

Первый шаг: выбираем лист с наименьшим весом, это вершина 3, а с ней связана вершина 5, поэтому первая цифра кода будет 5. Удаляем вершину 3 (рис. 10.3).

Рис. 10.3. Граф-дерево с удалённой вершиной 3

Второй шаг: выбираем новый лист с наименьшим весом, это вершина 4, а с ней связана вершина 5, поэтому вторая цифра кода тоже будет 5, итого 55. Удаляем вершину 4 (рис. 10.4).

Рис. 10.4. Граф-дерево с удалёнными вершинами 3, 4

Третий шаг: выбираем новый лист с наименьшим весом, это вершина 6, а с ней связана вершина 1, поэтому третья цифра кода тоже будет 1, итого 551. Удаляем вершину 6 (рис. 10.5).

Рис. 10.5. Граф-дерево с удалёнными вершинами 3, 4, 6

Четвёртый шаг: выбираем новый лист с наименьшим весом, это вершина 7, а с ней связана вершина опять 5, поэтому четвёртая цифракодатожебудет5, итого5515. Удаляемвершину 7 (рис. 10.6).

86

Рис. 10.6. Граф-дерево с удалёнными вершинами 3, 4, 6, 7

Пятый шаг: выбираем новый лист с наименьшим весом, это вершина 5, а с ней связана вершина опять 1, поэтому пятая цифра кода тоже будет 1, итого 55151. Удаляем вершину 5 (рис. 10.7).

Шестой шаг: выбираем новый лист с наименьшим весом, это вершина 8, а с ней связана вершина опять 1, поэтому шестая цифра кода тоже будет 1, итого 551511. Удаляем вершину 8 (рис. 10.8).

Рис. 10.7. Граф-деревосудалёнными вершинами3, 4, 6, 7, 5

Рис. 10.8. Граф-деревосудалёнными вершинами3, 4, 6, 7, 5, 8

Седьмой шаг: выбираем новый лист с наименьшим весом, это вершина 1, а с ней связана вершина 2, поэтому седьмая цифра кода тожебудет2, итого5515112. Удаляемвершину 1 (рис. 10.9).

Рис. 10.9. Граф-деревосудалёнными вершинами3, 4, 6, 7, 5, 8, 1

Получили код 5515112 длиной n – 2.

Иногда такой код обозначают таким образом (рис. 10.10).

87

Рис. 10.10. Процесс преобразования дерева в код – полином

Пример решения задачи декодирования

Пусть задан код 5515112 длиной n–2. Построить соответствующее дерево.

Поскольку код длиной 7 (семь символов), то вершин 7 + 2 = 9. Использованы цифры 5, 1, 2, значит листья – все оставшиеся, т.е. 3, 4, 6, 7, 8, 9; заготавливаем матрицу смежности 9×9 и граф, состоящий из 9 вершин (рис. 10.11).

Рис. 10.11. Подготовка к декодированию

88

Первая цифра кода 5, а первый лист – 3, поэтому проводим ребро (5, 3) (рис. 10.12).

Рис. 10.12. Первый шаг декодирования, получение ребра (5, 3)

Удаляем из кода цифру 5 и лист 3 из списка вершин, видим, что теперь очередной лист 4, проводим ребро (5, 4) (рис. 10.13).

Заметим, что при декодировании листьями считаются вершины из списка вершин, не совпадающие с вершинами из текущего кода.

Удаляем из кода цифру 5 и лист 4 из списка вершин, видим, что теперь очередной лист 6, проводим ребро (5, 4) (рис. 10.14).

Удаляем из кода цифру 1 и лист 6 из списка вершин, видим, что теперь очередной лист 7, проводим ребро (5, 7) (рис. 10.15).

89

Рис. 10.13. Второй шаг декодирования, получение ребра (5, 4)

Рис. 10.14. Третий шаг декодирования, получение ребра (1, 6)

90