- •Глава 1. Сущность задачи коммивояжёра 6
- •Глава 2. Практическая реализация задачи коммивояжёра 20
- •Глава 1. Сущность задачи коммивояжёра 5
- •Глава 2. Практическая реализация задачи коммивояжёра 20
- •Введение
- •Глава 1. Сущность задачи коммивояжёра
- •1.1. Элементы теории графов. Цикл Гамильтона
- •1.2. Постановка задачи коммивояжера
- •1.3. Методы решения зк
- •1.3.1. Жадный алгоритм
- •1.3.2 Деревянный алгоритм
- •1.3.3. Метод ветвей и границ
- •1.3.4. Алгоритм Дейкстры
- •1.4 Анализ методов решения задачи коммивояжера
- •Глава 2. Практическая реализация задачи коммивояжёра
- •2.1 Решение задачи коммивояжёра методом ветвей и границ
- •2.2 Решение задачи с помощью программы «Нахождение оптимального маршрута»
- •2.3 Решение задачи с помощью сайта Semestr.Ru
- •Заключение
- •Список используемой литературы
Глава 2. Практическая реализация задачи коммивояжёра
Решить задачу коммивояжёра, то есть построить оптимальный кольцевой маршрут для орграфа (рис.) с вершинами . Стоимость единицы пути равна 10. Пропускные способности дуг (расстояния между населёнными пунктами) указаны в таблице:
табл. 2.1 |
|||||
|
X1 |
X2 |
X3 |
X4 |
X5 |
X1 |
- |
10 |
25 |
25 |
10 |
X2 |
1 |
- |
10 |
15 |
2 |
X3 |
8 |
9 |
- |
20 |
10 |
X4 |
14 |
10 |
24 |
- |
15 |
X5 |
10 |
8 |
25 |
27 |
- |
2.1 Решение задачи коммивояжёра методом ветвей и границ
табл. 2.1.1 |
|
|||||
- |
1 |
2 |
3 |
4 |
5 |
|
1 |
- |
10 |
25 |
25 |
10 |
10 |
2 |
1 |
- |
10 |
15 |
2 |
1 |
3 |
8 |
9 |
- |
20 |
10 |
8 |
4 |
14 |
10 |
24 |
- |
15 |
10 |
5 |
10 |
8 |
25 |
27 |
- |
8 |
табл. 2.1.2 |
|
|||||
- |
1 |
2 |
3 |
4 |
5 |
|
1 |
- |
0 |
15 |
15 |
0 |
|
2 |
0 |
- |
9 |
14 |
1 |
|
3 |
0 |
1 |
- |
12 |
2 |
|
4 |
4 |
0 |
14 |
- |
5 |
|
5 |
2 |
0 |
17 |
19 |
- |
|
|
|
|
9 |
12 |
|
|
табл. 2.1.3 |
|
|||||
- |
1 |
2 |
3 |
4 |
5 |
|
1 |
- |
00 |
6 |
3 |
01 |
|
2 |
00 |
- |
05 |
2 |
1 |
|
3 |
00 |
1 |
- |
02 |
2 |
|
4 |
4 |
04 |
5 |
- |
5 |
|
5 |
2 |
02 |
8 |
7 |
- |
|
|
|
|
|
|
|
|
d(x) - минимальная стоимость тура
табл. 2.1.4 |
|
|||||
- |
1 |
2 |
3 |
4 |
5 |
|
1 |
- |
0 |
6 |
3 |
0 |
0 |
2 |
0 |
- |
- |
2 |
1 |
0 |
3 |
0 |
1 |
- |
0 |
2 |
0 |
4 |
4 |
0 |
5 |
- |
5 |
0 |
5 |
2 |
0 |
8 |
7 |
- |
0 |
|
0 |
0 |
5 |
0 |
0 |
|
Стоимость маршрута, не содержащего путь {2,3} будет не менее 63.
табл. 2.1.5 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
0 |
3 |
0 |
0 |
|
|
3 |
0 |
- |
0 |
2 |
0 |
|
|
4 |
4 |
0 |
- |
5 |
0 |
|
|
5 |
2 |
0 |
7 |
- |
0 |
|
|
|
0 |
0 |
0 |
0 |
|
|
табл. 2.1.6 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
00 |
3 |
02 |
0 |
|
|
3 |
02 |
- |
03 |
2 |
0 |
|
|
4 |
4 |
04 |
- |
5 |
0 |
|
|
5 |
2 |
02 |
7 |
- |
0 |
|
|
|
0 |
0 |
0 |
0 |
|
|
|
|
|||||||
табл. 2.1.7 |
|
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
||
1 |
- |
0 |
3 |
0 |
0 |
|
||
3 |
0 |
- |
0 |
2 |
0 |
|
||
4 |
4 |
- |
- |
5 |
4 |
|
||
5 |
2 |
0 |
7 |
- |
0 |
|
||
|
|
|
|
|
|
|
Стоимость маршрута содержащего путь {2,3} будет не менее 58. Для дальнейшего решения выбираем путь содержащий граф с вершинами {2,3}.
табл. 2.1.8 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
0 |
3 |
0 |
|
|
|
3 |
0 |
- |
0 |
2 |
|
|
|
4 |
0 |
- |
- |
1 |
|
|
|
5 |
2 |
0 |
7 |
- |
|
|
|
|
0 |
0 |
0 |
0 |
|
|
табл. 2.1.9 |
|||||
- |
1 |
4 |
5 |
|
|
1 |
- |
3 |
0 |
0 |
|
3 |
0 |
- |
2 |
0 |
|
5 |
2 |
7 |
- |
2 |
|
|
|
|
|
|
|
табл. 2.1.10 |
|||||
- |
1 |
4 |
5 |
|
|
1 |
- |
3 |
0 |
|
|
3 |
0 |
- |
2 |
|
|
5 |
0 |
5 |
- |
|
|
|
0 |
3 |
0 |
|
|
табл. 2.1.11 |
|||||
- |
1 |
4 |
5 |
|
|
1 |
- |
0 |
0 |
|
|
3 |
0 |
- |
2 |
|
|
5 |
0 |
2 |
- |
|
|
|
|
|
|
|
|
Стоимость маршрута, не содержащего путь {4,2} будет не менее 62.Стоимость маршрута содержащего путь {4,2} будет не менее 63. Для дальнейшего решения выбираем путь не содержащий граф с вершинами {4,2}.
табл. 2.1.12 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
00 |
3 |
01 |
|
|
|
3 |
00 |
- |
03 |
2 |
|
|
|
4 |
01 |
- |
- |
1 |
|
|
|
5 |
2 |
02 |
7 |
- |
|
|
|
|
|
|
|
|
|
|
табл. 2.1.13 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
0 |
3 |
0 |
0 |
|
|
3 |
0 |
- |
- |
2 |
0 |
|
|
4 |
0 |
- |
- |
1 |
0 |
|
|
5 |
2 |
0 |
7 |
- |
0 |
|
|
|
0 |
0 |
3 |
0 |
|
|
табл. 2.1.14 |
|
||||||
- |
1 |
2 |
4 |
5 |
|
|
|
1 |
- |
0 |
0 |
0 |
|
|
|
3 |
0 |
- |
- |
2 |
|
|
|
4 |
0 |
- |
- |
1 |
|
|
|
5 |
2 |
0 |
4 |
- |
|
|
|
|
|
|
|
|
|
|
табл. 2.1.15 |
|
||||||
- |
1 |
2 |
5 |
|
|
|
|
1 |
- |
0 |
0 |
0 |
|
|
|
4 |
0 |
- |
1 |
0 |
|
|
|
5 |
2 |
0 |
- |
0 |
|
|
|
|
0 |
0 |
0 |
|
|
|
табл. 2.1.16 |
|
||||||
- |
1 |
2 |
5 |
|
|
|
|
1 |
- |
00 |
01 |
|
|
|
|
4 |
03 |
- |
1 |
|
|
|
|
5 |
2 |
02 |
- |
|
|
|
|
|
|
|
|
|
|
|
табл. 2.1.17 |
||||
- |
1 |
2 |
5 |
|
1 |
- |
0 |
0 |
0 |
4 |
- |
- |
1 |
1 |
5 |
2 |
0 |
- |
0 |
|
|
|
|
|
табл. 2.1.18 |
||||
- |
1 |
2 |
5 |
|
1 |
- |
00 |
01 |
|
4 |
- |
- |
0 |
|
5 |
2 |
02 |
- |
|
|
2 |
0 |
0 |
|
табл. 2.1.19 |
|
|
||||
- |
1 |
2 |
5 |
|
||
1 |
- |
00 |
01 |
|
||
4 |
- |
- |
0 |
|
||
5 |
0 |
02 |
- |
|
||
|
|
|
|
|
табл. 2.1.20 |
||||
- |
2 |
5 |
|
|
1 |
- |
0 |
0 |
|
5 |
0 |
- |
0 |
|
|
0 |
0 |
|
|
Поучаем путь {2,3}{3,4}{4,1}{1,5}{5,2}стоимость которого равна (10+20+14+10+8)*10=620.