1. Задачи / Образцы выполненных СРС 1-12 МАТЕСО / 12 / СРС 12(звезда) Ярусова Н. 8512
.docФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ОСУ
Самостоятельная работа студента №12*
Задача о коммивояжере (другой способ решения)
Выполнил: студент группы 8512
Ярусов Н.К.
Проверил: Ротарь В.Г.
ТОМСК
2004
ЗАДАНИЕ
Решить задачу о коммивояжере, используя венгерский метод и алгоритм Флада. Необходимо найти маршрут коммивояжера, который бы включал в себя все города, при этом представлял из себя один единственный обход, т.е. в каждый город коммивояжер будет въезжать и выезжать один раз. Минимизировать транспортные издержки С.
ХОД РАБОТЫ
-
Задача в формальном виде выглядит следующим образом:
при условиях
Запишем матрицу транспортных издержек Сij, используя код ФИО:
Cij |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
∞ |
18 (Р) |
21 (У) |
19 (С) |
16 (О) |
3 (В) |
2 |
15 (Н) |
∞ |
12 (К) |
16 (О) |
13 (Л) |
1 (А) |
3 |
11 (Й) |
12 (К) |
∞ |
15 (Н) |
19 (С) |
20(Т) |
4 |
1 (А) |
15 (Н) |
20 (Т) |
∞ |
15 (Н) |
16 (О) |
5 |
3 (В) |
10 (И) |
25 (Ч) |
33 (Я) |
∞ |
21(У) |
6 |
19 (С) |
16 (О) |
3 (В) |
15 (Н) |
10 (И) |
∞ |
Этап 1: подготовительный этап, использующий венгерский метод (алгоритм Флада):
-
Переход Сij => C´ij (ищем в каждой строке матрицы Сij минимальный элемент). Тогда коэффициент приведения матрицы , следовательно, .
-
Переход С´ij => C´´ij (ищем в каждом столбце матрицы С´ij минимальный элемент). Тогда коэффициент приведения матрицы , следовательно, .
-
Операции (1) и (2) этапа 1 обеспечили в каждой строке и в каждом столбце появление хотя бы одного ноля.
-
Найдем минимальное количество линий, вычеркивающих все ноли в матрице, оно равно 6 (количество независимых нолей также равно 6), и ранг матрицы равен 6, следовательно, условие оптимальности соблюдается:
rСij = число независимых нолей
g |
1 |
2 |
3 |
4 |
5 |
6 |
min |
|
C'ij |
1 |
2 |
3 |
4 |
5 |
6 |
|
C'’ij |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
∞ |
18 |
21 |
19 |
3 |
16 |
3 |
|
1 |
∞ |
15 |
18 |
16 |
0 |
16 |
|
1 |
∞ |
15 |
18 |
12 |
0 |
16 |
2 |
15 |
∞ |
12 |
16 |
13 |
1 |
1 |
|
2 |
14 |
∞ |
11 |
15 |
12 |
0 |
|
2 |
14 |
∞ |
11 |
11 |
12 |
0 |
3 |
12 |
11 |
∞ |
15 |
19 |
20 |
11 |
|
3 |
1 |
0 |
∞ |
4 |
8 |
9 |
|
3 |
1 |
0 |
∞ |
0 |
8 |
9 |
4 |
1 |
15 |
20 |
∞ |
15 |
16 |
1 |
|
4 |
0 |
14 |
19 |
∞ |
14 |
15 |
|
4 |
0 |
14 |
19 |
∞ |
14 |
15 |
5 |
6 |
5 |
25 |
33 |
∞ |
21 |
5 |
|
5 |
1 |
0 |
20 |
28 |
∞ |
16 |
|
5 |
1 |
0 |
20 |
24 |
∞ |
18 |
6 |
19 |
16 |
3 |
15 |
10 |
∞ |
3 |
|
6 |
16 |
13 |
0 |
12 |
7 |
∞ |
|
6 |
16 |
13 |
0 |
8 |
7 |
∞ |
|
|
|
|
|
Σ |
= |
22 |
|
min |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Σ |
= |
0 |
|
|
|
|
|
|
|
|
Находим оптимальные ноли и определяем их позиции:
Нули |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
|
|
|
|
0 |
|
2 |
|
|
|
|
|
0 |
3 |
|
0 |
|
0 |
|
|
4 |
0 |
|
|
|
|
|
5 |
|
0 |
|
|
|
|
6 |
|
|
0 |
|
|
|
Позиции оптимальных нолей:
-
i = 1, j =5
-
i = 5, j =2
-
i = 2, j =6
-
i = 6, j =3
-
i = 3, j =4
-
i = 4, j =1
Эти позиции совпадают с позициями, полученными в СРС №12. Таким образом, маршрут обхода выглядит следующим образом: