- •Введение
- •1 Принятие решений на основе экспертных оценок Задание
- •Указание по выполнению задания
- •2 Прогнозирование процессов в логистике
- •3 Маршрутизация перевозок
- •Контрольные вопросы
- •Дополнение. Решение транспортной задачи в среде ms-Excel
- •4 Маршрутизация перевозок. Поиск оптимальных маршрутов в сетях
- •5 Склады в логистических системах
- •Контрольные вопросы
- •Теоретические сведения к заданию 1.
- •Контрольные вопросы
- •6 Методы распределения номенклатурных групп. Методы авс и xyz.
- •Контрольные вопросы
- •7 Статистическое имитационное моделирование (метод Монте-Карло)
- •Задание
- •Методические указания по выполнению задания
- •Приложение. Дополнительные сведения из математической статистики
- •8 Системы массового обслуживания
- •Процесс гибели и размножения
- •9 Элементы теории игр
- •10 Принятие решения в условиях неопределенности
- •11 Сетевое и календарное планирование
- •Правила построения сетевых графиков
- •Временные параметры сетей. Резервы времени
- •Сетевое планирование в условиях неопределенности
- •12 Кейс-задание к расчетно-графической работе
- •13 Вариант выполнения расчетно графической работы
- •Введение (вариант)
- •Выполнение кейс-задания
- •Заключение (вариант)
4 Маршрутизация перевозок. Поиск оптимальных маршрутов в сетях
Задание
Для транспортной сети с n = 10 пунктами, заданной графом на рис. 4.1 (N – последняя цифра номера варианта), выполнить следующее:
Рис. 4.1
1) построить матрицу смежности для графа транспортной сети;
2) построить кратчайший путь от пункта (вершины) Z до вершины W, вариант определяется по числу букв в фамилии студента (Z, W) по табл. 4.1;
Таблица 4.1
Число букв в фамилии |
|||||||
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
(2,9) |
(1,8) |
(2,8) |
(5,6) |
(4,10) |
(1,6) |
(3,10) |
(1,9) |
3) найти кратчайший путь от пункта (вершины) Z (из табл. 4.1) до всех остальных пунктов (вершин);
4) построить сеть минимальной дины (минимальное дерево) с начальной вершиной в W (из табл. 4.1);
5) найти максимальный поток от пункта 1 до пункта 10 для графа, представленного на рис 4.2. (S – Число букв в фамилии студента).
Рис. 4.2
Определить минимальный разрез графа;
6) решить задачу коммивояжера для транспортной сети, представленной на рис. 4.3. (N – последняя цифра в номере варианта, F – число букв в имени студента, S – число букв в фамилии студента).
Рис. 4.3
Методические указания по выполнению задания
1 Пусть транспортная сеть задана схемой (рис. 4.4).
Рис. 4.4
n = 7 – число вершин.
Матрица смежности n * n:
.
2 Найдем кратчайший пункт от вершины 2 до вершины 7 (рис. 4.5).
Рис. 4.5
3 Помечаем вершину 2 пометкой (0, 2) и изменяем пометки вершин, связанных с вершиной 2:
1: (6,2); 4: (7,2); 3: (15, 2); 6: (16,2).
4 Отмечаем вершину 2 как помеченную и просмотренную (рис. 4.6).
5 Выбираем непросмотренную вершину с пометкой с минимальным весом: эта вершина 1.
6 Просматриваем все вершины, связанные с 1, и пересматриваем их пометки
7 Сравниваем текущий вес вершины 7 с новым вариантом с включением пути с вершиной 1, т.е. 6 +9 = 15; поскольку 15 > 7, пометку вершины 4 оставляем без изменения.
Отмечаем вершину 1 как помеченную и просмотренную (рис 4.6).
Рис. 4.6
8 Выбираем непросмотренную вершину с пометкой с минимальным весом: эта вершина 4.
9 Просматриваем все вершины, связанные с 4, и пересматриваем их пометки
10 Сравниваем текущий вес вершины 15 с новым вариантом пути с включением вершины 4, т.е. 7 + 10 = 17; поскольку 17 > 15, поэтому пометка вершины 3 оставляем без изменения.
11 Определяем пометку вершины 5: 7 + 7=14; поэтому пометка вершины 5 будет (14,4). (рис. 4.7.)
Отмечаем вершину 4 как помеченную и просмотренную (рис. 4.7).
Рис. 4.7
Рис. 4.8
12 Выбираем непросмотренную вершину с пометкой с минимальным весом: эта вершина 5.
13 Просматриваем все вершины, связанные с 5, и пересматриваем их пометки
14 Сравниваем текущий вес вершины 15 с новым вариантом пути с включением вершины 4, т.е. 14 + 8 = 22; поскольку 22 > 15, пометку вершины 3 оставляем без изменения.
15 Определяем пометку вершины 7: 14 + 15 = 29; поэтому пометка вершины 7 будет (29,5).
16 Отмечаем вершину 5 как помеченную и просмотренную (рис 4.9).
Рис. 4.9
17 Выбираем непросмотренную вершину с пометкой с минимальным весом: эта вершина 3.
18 Просматриваем все вершины, связанные с 3, и пересматриваем их пометки.
19 Сравниваем текущий вес вершины 16 с новым вариантом пути с включением вершины 3, т.е. 15 + 8= 23; поскольку 23 > 16, пометку вершины 6 оставляем без изменения.
20 Отмечаем вершину 3 как помеченную и просмотренную (рис 4.10).
Рис. 4.10
21 Выбираем непросмотренную вершину с пометкой с минимальным весом: эта вершина 6.
22 Просматриваем все вершины, связанные с 6 и пересматриваем их пометки.
23 Сравниваем текущий вес вершины 29 с новым вариантом пути с включением вершины 6, т.е. 16 + 9=25; поскольку 25 > 29, пометка вершины 7 будет (25,6).
24 Отмечаем вершину 6 как помеченную и просмотренную.
Рис. 4.11
25 Помечаем последнюю вершину 7. (рис. 4.11).
26 Восстанавливаем в обратном порядке кратчайший путь от вершины 7 к вершине 2.: 7 – 6 – 2. Кратчайшее расстояние равно 25 ед.
27 Находим кратчайший путь из пункта 2 в остальные пункты (вершины) графа;
1) 2 – 1; кратчайшее расстояние равно 6 ед.
2) 2 – 3; кратчайшее расстояние равно 15 ед.
3) 2 – 4; кратчайшее расстояние равно 7 ед.
4) 2 – 4 – 5; кратчайшее расстояние равно 14 ед.
5) 2 – 6; кратчайшее расстояние равно 16 ед.
6) 2 – 6 – 7. кратчайшее расстояние равно 25 ед.
28 Построим сеть минимальной длины (минимальное дерево) с начальной вершиной 2.
Результат имеет следующий вид (рис. 4.12).
Рис. 4.12
Найти максимальный поток от пункта 1 до пункта 7 для графа, представленного на рис 4.13.
Рис. 4.13
Находим цепь между вершинами 1 и 7 с ненулевой пропускной способностью (все дуги, входящие в цепь, имеют ненулевую пропускную способность).
Пусть эта цепь 1 – 3 – 2 – 5 – 4 – 7. Пропускная способность цепи равна 5 (минимальный вес дуги с в цепи), S = 5. Уменьшаем пропускные способности дуг цепи на 5 (Рис 4.14).
Рис. 4.14
Находим очередную цепь между вершинами 1 и 7 с ненулевой пропускной способностью.
Пусть эта цепь 1 – 3 – 6 – 7. Пропускная способность цепи равна 10 (минимальный вес дуги с в цепи), S = 5 + 10 = 15. Уменьшаем пропускные способности дуг цепи на 10 (рис 4.15).
Рис 4.15
Очередной цепи между вершинами 1 и 7 с ненулевой пропускной способностью нет.
Максимальная пропускная способность равна 15.
Определим минимальный разрез графа.
Поскольку в минимальный разрез входят дуги с нулевыми весами, минимальный разрез {(3,6); (4,7)}. Вес минимального разреза 5 + 10= 15 ед.
Решим задачу коммивояжера для транспортной сети, представленной на рис. 4.16.
Рис 4.16
Определим матрицу связей между вершинами:
A
=
.
Находим минимальный вес в каждой строке:
A
=
.
Вычитаем минимальный вес от каждого элемента в строке.
Находим минимальный вес в каждом столбце:
A
=
.
Вычитаем минимальный вес от каждого элемента в столбце:
A
=
.
Нижняя оценка всех гамильтоновых контуров равна
F(G0) = 6 + 9 + 7 + 4 + 9 + 2 + 14 = 51.
Выбираем дугу для разбиения. Определяем минимальный вес в каждой строке для нулевых весов без учета веса данной (нулевой) дуги. Эти величины записаны верхними индексами.
A
=
Выбираем
дугу с максимальной дополнительной
оценкой. Из полученных дуг эта дуга
(5,4). Исходное множество G0
разбиваем на два подмножества: в
первый включены гамильтоновы контуры,
содержащие дугу (5,4), во втором эта дуга
исключена
.
G0=G1G2,
G1G2=.
G1={(5,4)}; G2={
}.
Для первого подмножества имеем матрицу с исключенными 5-й строкой и 4-м столбцом и весом дуги (4,5), равным , для второго подмножества та же матрица с весом дуги (5,4), равным . Определяем нижние оценки для гамильтоновых контуров в подмножествах G1 и G2,:
G1
: A =
F(G1) = 51
G2
: A
=
,
A
=
,
A
=
,
F(G2) = 51 + 10 + 5 = 66.
Для очередного разбиения выбираем подмножество с минимальной оценкой : G1.
Для
разбиения выбираем дугу (4,3). Множество
G1 разбиваем на
два подмножества: в первый включены
гамильтоновы контуры, содержащие дугу
(4,3), во втором эта дуга исключена
.
G1 = G3G4,
G3G4
= .
G3 = {(5,4), (4,3)}; G4
= {(5,4),
}.
Проведем изменения в матрице весов:
G3
: A =
,
F(G3)
= 51.
G4
: A =
,
A =
,
A =
,
F(G4) = 66 + 9 = 75.
Для очередного разбиения выбираем подмножество с минимальной оценкой : G3.
Для
разбиения выбираем дугу (1,5). Множество
G3 разбиваем на
два подмножества: в первый включены
гамильтоновы контуры, содержащие дугу
(1,5), во втором эта дуга исключена
.
G3 = G5G6,
G5G6
= .
G5 = {(5,4), (4,3),
(1,5)}; G4 = {(5,4),
(4,3),
}.
Проведем изменения в матрице весов:
G5
: A =
,
A =
,
A =
,
F(G5) = 51.
G6
: A =
,
A =
,
F(G6)
= .
Для очередного разбиения выбираем подмножество с минимальной оценкой : G5.
Для
разбиения выбираем дугу (2,1). Множество
G5 разбиваем на
два подмножества: в первый включены
гамильтоновы контуры, содержащие дугу
(2,1), во втором эта дуга исключена
.
G5 = G7G8,
G7G8
= .
G7 = {(2,1), (5,4),
(4,3), (1,5)}; G4 = {
,
(5,4), (4,3), (1,5)}.
Проведем изменения в матрице весов:
G7
: A =
В G7 осталась единственная нерассмотренная дуга (3,2) с весом 0.
F(G7) = 51. Гамильтонов контур: (1,5) – (5,4) – (4,3) – (3,2) – (2,1). Длина контура равна 51. Нижние оценки остальных подмножеств больше чем 51, поэтому их можно исключить из рассмотрения.
Таким образом, контур минимальной длины, проходящий один раз через каждую вершину, имеет вид
(1,5) – (5,4) – (4,3) – (3,2) – (2,1).
Длина контура 51 ед.
