Приступим теперь к описанию метода ветвей и границ для
решения задачи о коммивояжере.
Первый шаг. Фиксируем множество всех обходов коммиво-
яжера (т.е. всех простых ориентированных остовных циклов). По-
скольку граф - полный, это множество заведомо непусто. Сопо-ставим ему число, которое будет играть роль значения на этом
множестве оценочной функции: это число равно сумме констант
приведения данной матрицы весов ребер графа. Если множест-во всех обходов коммивояжера обозначить через G, то сумму
констант приведения матрицы весов обозначим через j(G). При-веденную матрицу весов данного графа следует запомнить; обо-значим ее через M1; таким образом, итог первого шага:
множеству G всех обходов коммивояжера сопоставлено чис-ло j(G) и матрица M1.
Второй шаг. Выберем в матрице M1 самый тяжелый нуль; пусть он стоит в клетке
делим множество G на две части: на часть
обходов, которые проходят через ребро
состоящую из обходов, которые не проходят через ребро
Сопоставим множеству
матрице M1 заменим на ¥ число в клетке
Теперь множеству
M1,2. Для этого в матрице M1 заменим на ¥ число в клетке
и полученную в результате матрицу приведем. Сумму констант
приведения запомним, а полученную матрицу обозначим через M1,2. Прибавим запомненную сумму констант приведения к
числу j(G) и полученное число, обозначаемое в дальнейшем че-
рез j(
Теперь выберем между множествами
котором минимальна функция j (т.е. то из множеств, которому
соответствует меньшее из чисел j(
Заметим теперь, что в проведенных рассуждениях исполь-зовался в качестве исходного только один фактический объект - приведенная матрица весов данного орграфа. По ней было вы-делено определенное ребро графа и были построены новые
матрицы, к которым, конечно, можно все то же самое применить.
При каждом таком повторном применении будет фиксироваться очередное ребро графа. Условимся о следующем действии: пе-ред тем, как в очередной матрице вычеркнуть строку и столбец,
в ней надо заменить на ¥ числа во всех тех клетках, которые со-ответвуют ребрам, заведомо не принадлежащим тем гамильто-новым циклам, которые проходят через уже отобранные ранее ребра; эту довольно трудную фразу мы еще не раз рассмотрим в
следующей лекции на конкретном примере.
К выбранному множеству с сопоставленными ему матрицей и числом j повторим все то же самое и так далее, пока это воз-можно.
Доказывается, что в результате получится множество, со-стоящее из единственного обхода коммивояжера, вес которого равен очередному значению функции j; таким образом, оказы-ваются выполненными все условия, обсуждавшиеся при описа-нии метода ветвей и границ.
После этого осуществляется улучшение рекорда вплоть до получения окончательного ответа.