Вы находитесь на странице: 1из 7

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ


ЛУГАНСКОЙ НАРОДНОЙ РЕСПУБЛИКИ
«ЛУГАНСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
ИМЕНИ ВЛАДИМИРА ДАЛЯ»

Кафедра прикладной математики

Математическое моделирование

ОТЧЁТ

о выполнении практической работы № 2

НАХОЖДЕНИЕ КРИТИЧЕСКОГО ПУТИ В СЕТИ

Вариант № 15

Выполнил: студент группы

ФИО________________________

Дата сдачи____________________

Оценка______________________________

Проверил___________________________

Луганск, 2022
Практическое занятие № 2

Тема: НАХОЖДЕНИЕ КРИТИЧЕСКОГО ПУТИ В СЕТИ


С ПОМОЩЬЮ АЛГОРИТМА БЕЛЛМАНА–КАЛАБА

Цель работы – на основании алгоритма Беллмана–Калаба научиться находить


критический путь в транспортной сети.

Краткие теоретические сведения.


Задача о критическом пути формулируется следующим образом. Задаётся орграф,
который называется транспортной сетью, каждой дуге которого соответствует
некоторая величина – длина дуги . Необходимо найти кратчайший путь из
истока 0 в сток z.
Для нахождения критического пути в сети рассмотрим алгоритм Беллмана-Калаба.
Он основан на принципе оптимальности и использует функциональное уравнение
Беллмана. Принцип оптимальности Беллмана в данном случае можно сформулировать
так: любой максимальный (критический) путь, содержащий не более дуг, образован
частичными путями, содержащими не более дуг, , которые (пути) также
максимальны.
Алгоритм Беллмана–Калаба
Пусть – множество дуг, которые образуют сеть, – время выполнения
операции. Для любой дуги полагаем с другой стороны, для всякого
полагаем . Задача заключается в нахождении пути

(1)
такого, что
(2)
достигает максимума.
Для этого достаточно решить следующую систему уравнений (уравнения
Беллмана)

(3)
(4)
где представляет собой величину оптимального пути от вершины до
конечной вершины. Все вершин считаются пронумерованными от 1 до (начальная
вершина – 1, конечная – ).
Вычисления проводятся следующим способом:
сначала полагаем

(5)

(6)
Потом вычисляем

, (7)

(8)
Потом последовательно вычисляем

, (9)

(10)
вычисления заканчиваются, когда
для всех значений
, (11)
Тогда будет величиной оптимального пути между вершинами и . Просто
доказывается, что если сеть имеет вершин, то достаточно итерация для
достижения оптимума.

Порядок выполнения работы

Найти критический путь в сети по заданной матрице длин дуг (рис. 1.1.)

Рис. 1.1. – Матрица длин дуг

Построим визуально граф (рис. 1.2.)


Рис. 1.2. – Визуализация графа

Пусть U – множество дуг, которые образуют сеть.

Для любой дуги (i, j) ∉ U, полагаем tij = -∞; tii = 0. Получим матрицу

( )
0 7 19 20 −∞ 15 −∞
−∞ 0 −∞ 11 6 −∞ −∞
−∞ −∞ 0 6 9 −∞ 16
М = −∞ −∞ −∞ 0 8 8 13
−∞ −∞ −∞ −∞ 0 5 15
−∞ −∞ −∞ −∞ −∞ 0 14
−∞ −∞ −∞ −∞ −∞ −∞ 0

По формулам:

v 0 =max { 0−∞;7+ (−∞ ) ; 19+16 ; 20+13 ;−∞+ ( 15 ) ; 15+14 ;−∞+0 ) =35


(2)

1 =max {−∞−∞ ;0+ (−∞ ) ;−∞ +16 ;11+13 ; 6+ ( 15 ) ;−∞+14 ;−∞+ 0 )=24
v(2)

v 2 =max {−∞−∞ ;−∞−∞ ;0+16 ; 6+ 13; 9+ ( 15 ) ;−∞+14 ;16 +0 ) =24


(2)

v3 =max {−∞−∞ ;−∞−∞;−∞ +16 ; 0+13 ; 8+ ( 15 ) ; 8+14 ; 1 3+0 )=2 3


(2)

v 4 =max {−∞−∞ ;−∞−∞;−∞ +16 ;−∞+ 13; 0+ ( 15 ) ; 5+ 14 ;15+ 0 )=19


(2)

v5 =max {−∞−∞ ;−∞−∞ ;−∞ +16 ;−∞+ 13; 0+ ( 15 ) ; 0+14 ; 1 4+ 0 )=1 4


(2)

0 =max { 0+35 ;7+24 ;19+24 ; 20+23 ;−∞ + ( 1 9 ) ; 15+14 ;−∞ +0 ) =43


v(3)
1 =max {−∞+35 ; 0+24 ;−∞+24 ; 11+2 3 ; 6+ ( 1 9 ) ;−∞+14 ;−∞+ 0 )=3 4
v(3)

2 =max {−∞ +35 ;−∞+ 24 ; 0+24 ; 6 +23 ; 9+ ( 19 ) ;−∞ +14 ;16+ 0 )=29
v(3)

3 =max {−∞+35 ;−∞+ 24 ;−∞+ 24 ; 0+2 3 ; 8+ ( 19 ) ; 8+14 ; 13+0 )=2 7


v(3)

4 =max {−∞+35 ;−∞+ 24 ;−∞+ 24 ;−∞ +23 ; 0+ (1 9 ) ; 5+14 ; 15+ 0 )=19


v(3)

5 =max {−∞ +35 ;−∞+ 24 ;−∞+ 24 ;−∞ +23 ; 0+ ( 1 9 ) ; 0+14 ;14 +0 ) =14
v(3)

v 0 =max { 0+ 43 ; 7+3 4 ;19+ 29 ; 20+ 27 ;−∞ + ( 19 ) ; 15+14 ;−∞ +0 ) =4 8


(4)

v1 =max {−∞+ 43 ; 0+3 4 ;−∞+2 9 ; 11+27 ; 6+ ( 19 ) ;−∞+14 ;−∞+ 0 )=3 8


(4)

2 =max {−∞+ 43 ;−∞+3 4 ; 0+2 9 ;6+2 7 ; 9+ ( 19 ) ;−∞ +14 ; 16+0 )=33


v(4)

v3 =max {−∞+ 43 ;−∞+3 4 ;−∞ +2 9 ; 0+27 ; 8+ ( 19 ) ; 8+14 ; 13+0 ) =27


(4)

4 =max {−∞+ 43 ;−∞+3 4 ;−∞ +2 9 ;−∞+2 7 ;0+ ( 19 ) ;5+14 ;15+ 0 )=19


v(4)

5 =max {−∞+ 43 ;−∞+3 4 ;−∞ +24 ;−∞+2 7 ; 0+ ( 19 ) ;0+14 ; 14+ 0 )=14


v(4)

v 0 =max { 0+4 8 ; 7+3 8 ; 19+33 ; 20+27 ;−∞+ ( 19 ) ; 15+14 ;−∞+ 0 )=52


(5)

1 =max {−∞+4 8 ; 0+38 ;−∞+ 33; 11+27 ; 6+ ( 19 ) ;−∞+14 ;−∞ +0 )=38


v(5)

v 2 =max {−∞+4 8 ;−∞+3 8 ; 0+ 33; 6 +27 ; 9+ ( 19 ) ;−∞+ 14 ; 16+0 ) =33


(5)

v3 =max {−∞+4 8 ;−∞+3 8 ;−∞+33 ;0+27 ; 8+ (19 ) ;8+ 14 ; 13+0 ) =27


(5)

v 4 =max {−∞ +4 8 ;−∞+3 8 ;−∞ +33 ;−∞+27 ; 0+ ( 19 ) ; 5+14 ; 15+0 )=19


(5)

v5 =max {−∞ +4 8 ;−∞+3 8 ;−∞+33 ;−∞+27 ; 0+ ( 19 ) ; 0+14 ; 14 +0 ) =14


(5)

0 =max { 0+ 48; 7+ 38; 19+ 33; 20+ 27 ;−∞+ (19 ) ; 15+14 ;−∞+0 )=52
v(6)

1 =max {−∞ +48 ; 0+ 38;−∞ +33 ; 11+27 ;6+ ( 19 ) ;−∞ +14 ;−∞+0 ) =38
v(6)

2 =max {−∞ +48 ;−∞+38 ; 0+33 ; 6+ 27; 9+ ( 19 ) ;−∞+14 ;16 +0 ) =33


v(6)

3 =max {−∞+48 ;−∞+38 ;−∞+33 ; 0+27 ; 8+ ( 19 ) ; 8+14 ; 13+ 0 )=27


v(6)

v 4 =max {−∞ +48 ;−∞ +38 ;−∞ +33 ;−∞+27 ; 0+ ( 19 ) ; 5+ 14 ;15+0 ) =19
(6)
5 =max {−∞ +48 ;−∞ +38 ;−∞ +33 ;−∞+27 ; 0+ ( 19 ) ; 0+14 ;14+ 0 )=14
v(6)

Таблица критических путей

0 1 2 3 4 5 6

1 -∞ -∞ 16 13 15 14 0

2 35 24 24 23 19 14 0

3 43 34 29 27 19 14 0

4 48 38 33 27 19 14 0

5 52 38 33 27 19 14 0

6 52 38 33 27 19 14 0

Рис. 1.3. – Критический путь в графе

Вам также может понравиться