
4.2. ЗАДАЧА О КОММИВОЯЖЕРЕ 103
1 2 3 4 5 6
1 ∞ 11 27 0 14 10
2 1 ∞ 15 0 29 24
3 15 13 ∞ 35 5 0
4 0 0 9 ∞ 2 2
5 2 41 22 43 ∞ 0
6 13 0 0 4 0 ∞
Просуммируем все приводящие константы H
1
= (16 + 1 + 0 + 16 + 5 + 5) + 5 = 28, это
нижняя оценка всех возможных циклов.
Выбираем все элементы c
ij
матрицы издержек которые равны нулю. В нашем случае
это элементы: c
14
, c
24
, c
14
, c
35
, c
41
, c
42
, c
56
, c
62
, c
63
, c
65
. Для всех таких элементов построим
длины Θ(i, j) по правилу 2. (Закрываем элемент для которого строим оценку и склады-
ваем минимальный элемент строки и столбца на пересечении которых он находится). В
результате получим:
Θ(1, 4) = 10, Θ(2, 4) = 1, Θ(3, 6) = 5, Θ(4, 1) = 1, Θ(4, 2) = 0, Θ(5, 6) = 2, Θ(6, 2) =
0, Θ(6, 3) = 9, Θ(6, 5) = 2.
Выбираем первую пару городов (1,4), т.к. Θ
∗
(1, 4) = 10 максимальное значение среди
всех Θ
∗
(i, j).Множество G
1
1
содержит переход из города 1 в город 4. Множество G
1
2
не
содержит непосредственного переходи из первого города в четвертый.
Построим оценки множеств G
0
1
, G
1
1
и G
1
2
:
ξ(G
0
1
) = H
1
= 48
ξ(G
1
2
) = H
1
+ Θ
∗
(1, 4) = 48 + 10 = 58.
Вычеркиваем первую строку и четвертый столбец в матрице соответствующей мно-
жеству G
1
1
, на элемент (4,1) ставим знак запрета ∞, для того чтобы на следующем шаге
не мог образоваться подцикл. Например, если бы на следующем шаге получилась бы
пара городов (4,1), тогда коммивояжер вернулся бы в пункт 1 и не имел возможности
совершить весь маршрут.
Переходим к первому шагу алгоритма, то есть к процедуре приведения матрицы, но
уже для матрицы меньшей размерности.