Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
7.4. Лучшие границы для дерева поискаМы описали в разд. 7.1 алгоритм поиска, в котором в качестве нижней границы в узле берется значение из решения соответствующей задачи о назначениях. На самом то деле совершенно очевидно, что метод исключения циклов остается неизменным независимо от того, какая нижняя граница используется для ограничения поиска. Но так как процесс ветвления в узле прекращается только тогда, когда или решение подзадачи, отвечающей этому узлу, является гамильтоновым циклом, или когда нижняя граница в узле превосходит значение полученного до этого наилучшего решения, то очевидно, что качество оценки границы оказывает заметное влияние на число ветвлений в дереве решений и, следовательно, на вычислительную эффективность метода. Целью настоящего раздела является описание метода получения нижней границы, вычисляемой по решению задачи о назначениях с небольшими дополнительными усилиями и являющейся более точной, чем ранее используемые границы. Пусть решение задачи о назначениях содержит некоторое число циклов, как это показано в качестве примера на рис. 10.20 (а). Пусть Определим стягивание как замену цикла единственной вершиной. Полученный граф содержит
где (кликните для просмотра скана) На рис. 10.20 (а), например,
Теперь второе решение задачи о назначениях в случае задачи с матрицей
где множества Решение задачи о назначениях для нового, дважды стянутого, графа все еще может содержать циклы, и итерационный процесс решения — стягивания можно продолжать до тех пор, пока задача не сведется к единственной вершине. Определим компрессию как преобразование матрицы, не удовлетворяющей аксиоме треугольника в метрическом пространстве, в матрицу, удовлетворяющую этой аксиоме. Таким образом, для компрессии матрицы нужно заменить каждый элемент
элементом Теорема 5. Сумма значений решений задач о назначениях, полученных во время процесса «решение — стягивание — компрессия» осуществляемого вплоть до момента, когда «стянутая» задача будет содержать единственную точку), является точной нижней границей для задачи коммивояжера. Доказательство. В гл. 12 показано, что элемент Рассмотрим цикл через все
Рис. 10.21. Преобразование гамильтоновых циклов при стягивании. (а) Решение задачи о назначениях, (б) Гамильтонов цикл. На рис. 10.21 (а) гамильтонов цикл показан жирной линией, в то время как решение задачи о назначениях показано тонкой линией. После стягивания получается граф, изображенный на рис. 10.21 (б), с двумя дугами, инцидентными Если теперь использовать неравенство треугольника, то получим
и, следовательно, назначение из рис. 10.22 (в котором дуги величины назначения на рис.
Рис. 10.22. Назначение, соответствующее рис. 10.21 (б), с двумя дугами в каждой вершине. Очевидно, что поскольку граф назначения, полученный с помощью любого гамильтонова цикла, содержит после первого стягивания (т. е. в случае назначения, соответствующего рис. 10.21 (б)) эйлеров цикл, то его всегда можно преобразовать в граф с меньшим (или равным) весом, в котором каждой вершине индицентны только две дуги. Это делается с помощью замены цепи, образованной дугами, ведущими из одной вершины в другую, единственной дугой между этими вершинами (как было продемонстрировано выше). Если, с другой стороны, матрица относительных весов Аналогично
где Вообще здесь следует отметить, что даже если начальная матрица весов удовлетворяет условию треугольника, то последующие матрицы относительных весов могут не удовлетворять этому условию и на каком-то этапе может потребоваться компрессия. Пример вычисления границы Рассмотрим задачу коммивояжера с 10 вершинами, матрица весов которой симметрична и приведена в табл. 10.3. Решение начальной задачи о назначениях дает величину
Рис. 10.23. Первое решение задачи о назначениях.
Рис. 10.24. Решение после первого стягивания.
Рис. 10.25. Решение после второго стягивания. Стягивание графа из рис. 10.23 дает граф с 4 вершинами, матрица весов которого может быть вычислена по (10.19), и она дана в табл. 10.5 (а). Эта матрица весов не удовлетворяет условию треугольника и поэтому подвергается компрессии. Результат дан в табл. 10.5 (б). Решение задачи о назначениях с матрицей из табл. 10.5 (б) дает величину (см. скан) (см. скан) Стягивание графа из рис. 10.24 дает граф с 2 вершинами, матрица весов которого (вычисленная по (10.20)) дана в табл. 10.7 (Эта тривиальная (2 X 2)-матрица не должна подвергаться Компрессии, так как она удовлетворяет условию треугольника.) Решение задачи о назначениях с матрицей из табл. 10.7 имеет значение
Сравнив ее со значением оптимального решения задачи коммивояжера, равного 216, получим ошибку в Время вычисления границы в задаче коммивояжера в среднем только на 9% больше времени, требуемого для решения задачи о назначениях с той же самой матрицей весов. Время вычисления при решении задачи о назначениях с использованием венгерского метода оценивается как
Из (10.23) видно, что в худшем случае требуемое время для вычисления предложенной границы в задаче коммивояжера только на
|
1 |
Оглавление
|