Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samples / Stacionar / системный анализ / системный анализ.doc
Скачиваний:
31
Добавлен:
25.03.2015
Размер:
380.42 Кб
Скачать

13. Расчет кратчайшего пути календарного плана.

Сетевое планирование и управление (СПУ) программами включает три основных этапа: структурное планирование, календарное планирование и оперативное управление.

Конечной целью этапа календарного планирования является построение календарного графика, определяющего моменты начала и окончания каждой операции, а также ее взаимосвязи с другими операциями программы. Кроме того, календарный график должен давать возможность выявлять критические операции (с точки зрения времени), которым необходимо уделять особое внимание, чтобы закончить программу в директивный срок. Что касается некритических операций, то календарный план должен позволять определять их резервы времени, которые можно выгодно использовать при задержке выполнения таких операций или с позиций эффективного использования ресурсов.

Календарное планирование использует граф, в котором стрелками отражен порядок выполнения работ (кружочков). На каждой стрелке написано время выполнения работы. Критический путь – с максимальным временем выполнения работ (время, за которое все работы по любому будут выполнены). Нахождение критического пути в 3 этапа:

1 этап: прямой проход от начальной работы до завершающей. Рисуем домики. В первом домике в комнате сразу 0. Далее смотрим смежный кружок 2 c одной входящей стрелкой. В него входит только 1 стрелка, значит в комнату записываем длину этой стрелки – 3. В кружок 3 входит две стрелки – выбираем max{длина входящей стрелки+комната домика кружочка, из которого она выходит} = max{2+0; 3+6}=9. Домик 4 заполняем, проверяя три стрелки: max{3+3; 5; 9+4}=13 – это время раннего начала

2 этап: идем назад, ищем время позднего окончания. Заполняем крыши домиков – смотрим по выходящим стрелкам. Крыша конца (4) = комнате =13. Другая крыша = min{комната на конце выходящей стрелки – длина стрелки}. Крыша 2 = min{13-3; 9-6}=3. Крыша 3 = {13-4}=9 (только одна выходящая стрелка). Крыша 1 = min{3-3; 13-5; 9-2}=0.

3 этап: ищем критический путь. “Подозрительные” домики – если крыша равна комнатке, проверяем стрелки между такими домиками: если комнаты отличаются на длину стрелки, то такая стрелка принадлежит искомому критическому пути. Критические на примере: домик 2 – домик 1 = 3, домик 3 – домик 2 = 6, домик 4 – домик 3 = 4. Значит критический путь: 1-2-3-4. Его длина равна сумме всех стрелок, входящих в него = 3+6+4=13 = комнате домика 4.

10. Определение кратчайшего пути на сетевой модели.

Для сетей без циклов

Узел 1 – исходный пункт, 7 – пункт назначения. dij – расстояние на сети между смежными узлами i и j. Uj – кратчайшее расстояние между узлами 1 и j. Процедура завершается, когда получено U7.

Uj =min (кратчайшее расстояние до предыдущего узла i плюс расстояние между текущим узлом j и предыдущим узлом I) =min{Uj + dij}. Из этой формулы: кратчайшее расстояние Uj до узла j можно вычислить лишь после того, как определено кратчайшее расстояние до каждого предыдущего узла I, соединенного дугой с узлом j. Для узла 1 можно вычислить U2 и U3. (хотя узел 4 соединен с узлом 1 дугой, соответствующее значение U4 вычислить нельзя, пока не будут определены U2 и U3). Схема вычислений:

Этап 1: U1=0

Этап 2: U2=U1+d12=0+2=2; U3=U1+d13=0+4=4

Этап 3: U4=min{U1+d14, U2+d24,U2+d34}=min{0+10,2+11,4+3}=7

Этап 4: U5=min{U2+d25, U4+d45}=min{2+5,7+8}=7; U6=min{U3+d36, U4+d46}=min{4+1,7+7}=5

Этап 5: U7=min{U5+d57, U6+d67}=min{7+6,5+9}=13

Минимальное расстояние 13, маршрут 1-2-5-7.

Все вычисления можно произвести непосредственно на сети.

Эти вычисления имеют рекурсивный характер.