МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет информатики и вычислительной техники
Кафедра информационно-вычислительных систем
РЕШЕНИЕ ЗАДАЧИ НА СЕТЯХ. ПРОЕКТИРОВАНИЕ СЕТЕЙ.
отчет по лабораторной работе №5
Вариант №14
Выполнили: студент ИВТ-21 ______ Логиновских А.А. ______
подпись дата
Проверил: ст. преподаватель _______ Нехаев И.Н. ________
подпись дата
Оценка _____________
Йошкар-Ола 2013г.
Содержание
-
Теоретическая часть
-
Задание
-
Практическое выполнение
-
Вывод по работе
-
Справочные материалы
Теоретические сведения.
Метод потенциалов.
1 этап вычисления потенциала.
2 этап восстановление и поиск оптимального пути по известным потенциалам вершин φi.
Алгоритм вычисления потенциала.
1) 0-я итерация φ1 = 0; φi = ∞; j = 2, . . i i - количество вершин графа
1-я итерация V+ = {1}
При всех i принадлежащих V+ - определяется множество вершин Vi, в которые можно попасть из i-ой вершины
-
Для всех j принадлежащих Vi перерассчитываем потенциалы φ j = φi + lij
-
Если φ’ i < φj тогда потенциал обновляем φ j = φi ;V++ = V++{j}.
-
Если V++ = 0, то выход, иначе V+ = V++ и идти к пункту 1.
Алгоритм поиска минимального пути. nтек - текущее местоположение L={nтек}
-
Формируем V-(nтек) список вершин, откуда мы могли попасть в эту вершину.
-
Ищем вершину i принадлежащую V-(nтек) : φnтек - φi = linтек
nтек = i L = <i> & L
3) Если nтек = исходной, то выход L иначе идти к пункту 1)
Задание
Постановка задачи:
Задача М-1 (поиск оптимального маршрута). Имеется разветвленная сеть учреждения с n узлами (хабами, маршрутизаторами, серверами), обеспечивающими передачу основного потока данных между компьютерами сети (узлы, соединенные магистральными кабелями сети). Известны стоимости (или среднее время) передачи единицы информации (Мбайта) между этими узлами в виде матрицы стоимостей cij, i=1,n; j=1,n (руб./Мбайт). Если соответствующее расстояние cij=0 (бесконечность), то считаем, что связи между этими узлами нет. Требуется найти минимальный по стоимости маршрут, соединяющий два заданных узла сети. Рассчитать потенциалы узлов сети.
Отрезок пути |
0-1 |
0-2 |
0-3 |
1-0 |
1-2 |
1-3 |
1-4 |
2-1 |
2-3 |
Стоимость |
12 |
15 |
13 |
12 |
5 |
10 |
22 |
8 |
11 |
Отрезок пути |
2-5 |
3-1 |
3-2 |
3-4 |
3-5 |
3-6 |
3-7 |
4-1 |
4-3 |
Стоимость |
15 |
8 |
8 |
10 |
35 |
20 |
42 |
12 |
10 |
Отрезок пути |
4-5 |
5-2 |
5-3 |
5-6 |
5-10 |
6-7 |
6-9 |
7-8 |
7-9 |
Стоимость |
50 |
12 |
7 |
15 |
30 |
22 |
6 |
7 |
12 |
Отрезок пути |
7-10 |
8-9 |
8-11 |
9-10 |
9-11 |
10-11 |
|
|
|
Стоимость |
13 |
7 |
3 |
15 |
15 |
35 |
|
|
|
Необходимо найти минимальный по стоимости маршрут: 0-11
Практическое выполнение
Графическое представление задачи:
12
12 22
12
12
8 10
5 10
42 6 15
8 22
15
10 7
13
20
13
15 50
11 7
7 35
35 15
3
12
15
12
30
Метод «потенциалов» для нахождения оптимального маршрута
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0 |
|
12 |
15 |
13 |
|
|
|
|
|
|
|
|
1 |
12 |
|
5 |
10 |
22 |
|
|
|
|
|
|
|
2 |
|
8 |
|
11 |
|
15 |
|
|
|
|
|
|
3 |
|
8 |
8 |
|
10 |
35 |
20 |
42 |
|
|
|
|
4 |
|
12 |
|
10 |
|
50 |
|
|
|
|
|
|
5 |
|
|
12 |
7 |
|
|
15 |
|
|
|
30 |
|
6 |
|
|
|
|
|
|
|
22 |
|
6 |
|
|
7 |
|
|
|
|
|
|
|
|
7 |
12 |
13 |
|
8 |
|
|
|
|
|
|
|
|
|
7 |
|
3 |
9 |
|
|
|
|
|
|
|
|
|
|
15 |
15 |
10 |
|
|
|
|
|
|
|
|
|
|
|
35 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
Таблица расчёта потенциалов узлов по итерациям
Итерация |
φ0 |
φ1 |
φ2 |
φ3 |
φ4 |
φ5 |
φ6 |
φ7 |
φ8 |
φ9 |
φ10 |
φ11 |
0 |
0 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
1 |
0 |
12 |
15 |
13 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
2 |
0 |
12 |
15 |
13 |
23 |
30 |
33 |
55 |
∞ |
∞ |
∞ |
∞ |
3 |
0 |
12 |
15 |
13 |
23 |
30 |
33 |
55 |
62 |
39 |
60 |
∞ |
4 |
0 |
12 |
15 |
13 |
23 |
30 |
33 |
55 |
62 |
39 |
54 |
54 |
Расчёт выполнен за 4 итераций.
Расчёт потенциалов узлов сети.
Потенциал первой вершины всегда равен 0.
1-я итерация
V+ = {0}
V(0) = {1;2;3}
φ1 = φ0 + l0-1 = 0 + 12 = 12 φ2 = φ0 + l0-2 = 0 + 15 = 15 φ3 = φ0 + l0-3 = 0 + 13 = 13
Корректируем потенциалы вершин.
2-я итерация
V+ = {1;2;3}
V(1) = {0;2;3;4}
φ0 = φ1 + l1-0 = 12 + 12 = 24
φ2 = φ1 + l1-2 = 12 + 5 = 17
φ3= φ1 + l1-3= 12+ 10 = 22
φ4 = φ1 + l1-4 = 12 + 22 = 34
V(2) = {1;3;5}
φ1 = φ2 + l2-1 = 15 + 8 = 23 φ3 = φ2 + l2-3 = 15 + 11 = 26 φ5 = φ2 + l2-5 = 15 + 15 = 30
V(3) = {1;2;4;5;6;7}
φ1 = φ3 + l3-1 = 13 + 8 = 21
φ2 = φ3 + l3-2 = 13 + 8 = 21
φ4 = φ3 + l3-4 = 13 + 10 = 23
φ5 = φ3 + l3-5 = 13 + 35 = 48
φ6 = φ3 + l3-6 = 13 + 20 = 33
φ7 = φ3 + l3-7 = 13 + 42 = 55
Корректируем потенциалы вершин.
3-я итерация
V+ = {4;5;6;7;}
V(4) = {1;3;5}
φ1 = φ4+ l4-1 = 23 + 12 = 35
φ3 = φ4+ l4-3 = 23 + 10 = 33
φ5 = φ4+ l4-5 = 23 + 50 = 73
V(5) = {2;3;6;10}
φ2 = φ5 + l5-2 = 30 + 12 =42
φ3 = φ5 + l5-3 = 30 + 7 =37
φ6 = φ5 + l5-6 = 30 +15 = 45
φ10 = φ5 + l5-10 = 30 + 30 = 60
V(6) = {7;8;9}
φ 7 = φ6 + l6-7 = 33 + 22 = 55
φ 9 = φ6 + l6-9 = 33 + 6 = 39
V(7) = {8;9;10}
-
8 = φ7 + l7-8= 55 + 7 = 62
-
9 = φ7 + l7-9 = 55 + 12 = 67
-
10 = φ7 + l7-10 = 55 + 13 = 68
Корректируем потенциалы вершин.
4-я итерация
V+ = {8;9;10}
V(8) = {9;11}
φ 9 = φ8 + l8-9 = 62 + 7 = 69
φ 9 = φ8 + l8-11 = 62 + 3 = 65
V(9) = {10;11}
-
10 = φ9 + l9-10 = 39 + 15 = 54
-
12 = φ9 + l9-12 = 39 + 15 = 54
V(10) = {11}
-
11 = φ10 + l10-11= 54 + 35 = 89
Корректируем потенциалы вершин.
Поиск минимального по стоимости пути из узла 0 в узел 12.
L = {11} – конечный узел пути
1)
V- = {8;9;10} – выборка узла, из которого могли прибыть
φ11 = φ8 + l8-11 = 62 + 3 = 65
φ 11 = φ9 + l9-11 = 39 + 15 = 54
φ 11 = φ10 + l10-11 = 54 + 35 = 89
L = {9} + L = {9 -> 12}
2)
V- = {6;7;8}
-
9 = φ6 + l6-9 = 33 + 6 = 39
-
9 = φ7 + l7-9 = 55 + 13 = 68
-
9 = φ8 + l8-9 = 62 + 7 = 69
L = {6} + L = {6 -> 9 -> 12}
3)
V- = {3;5}
-
6 = φ3 + l3-6 = 13 + 20 = 33
-
6 = φ5 + l5-6 = 30 + 15 = 85
L = {3} + L = {3 -> 6 -> 9 -> 12}
4)
V- = {0;1;2}
-
3 = φ0 + l0-3 = 0 + 13= 13
-
3 = φ1 + l1-3 = 12 + 10 = 22
-
3 = φ2 + l2-3 = 15 + 11 = 26
L = {0} + L = {0 -> 3 -> 6 -> 9 -> 12}
L = {0 -> 3 -> 6 -> 9 -> 12} – минимальный по стоимости путь из узла 0 в узел 11.
Стоимость пути равна: 13 + 20 + 6 + 15 = 54
Вывод:
Данная задача на сетях была решена методом потенциалов. Рассчитаны потенциалы вершин:
|
Вершина |
|
φ0 |
|
φ1 |
|
φ2 |
|
φ3 |
|
φ4 |
|
φ5 |
|
φ6 |
|
φ7 |
|
φ8 |
|
φ9 |
|
φ10 |
|
φ11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Потенциал |
|
0 |
|
12 |
|
15 |
|
13 |
|
23 |
|
30 |
|
33 |
|
55 |
|
62 |
|
39 |
|
54 |
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|