![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм поиска гамильтонова цикла
1. Осуществить приведение матрицы смежности по строкам и столбцам и определить значение 2. Для всех элементов, у которых 3. Вычёркиваем строку равную 4. Разбиваем множество решений на два подмножества, включающее дугу
Примечание. После получения оптимального решения необходимо проверить нет ли лучшего решения среди нерассмотренных подмножеств. Если такое есть, то необходимо выполнить весь алгоритм для подмножества с меньшей оценкой снизу. Пример решения задачи о коммивояжёре Имеем граф с шестью вершинами и следующей матрицей смежности (таблица 4.14). Найти методом ветвей и границ гамильтонов цикл наименьшей длины. Таблица 4.14 - Матрица смежности
Приведем данную матрицу по строкам и столбцам. Таблица 4.15 - Приведённая матрица смежности с константами приведения по строкам и столбцам
Сумма констант приведения даёт некоторую нижнюю границу длин всех гамильтоновых путей: Теперь нужно просмотреть все нулевые элементы матрицы и выбрать тот, для которого сумма констант приведения матрицы, получаемых заменой Подсчитаем эти суммы:
Максимальная сумма соответствует дуге Множество Таблица 4.16 - Матрица смежности подмножества
Находим оценку снизу подмножества Включение дуги Таблица 4.18 - Матрица смежности подмножества
Эту матрицу можно привести по четвёртому столбцу, тем самым улучшить оценку на 18. Находим оценку снизу подмножества Сравниваем две оценки: Таблица 4.19 - Приведённая матрица смежности подмножества
Находим дугу в матрице, которая максимально увеличивает нижнюю оценку при её исключении, т.е. имеет максимальную сумму констант приведений: Максимальная сумма констант приведений соответствует дуге
Таблица 4.20 - Матрица смежности подмножества
Подсчитываем сумму констант: Выбираем дугу Таблица 4.21 - Матрица смежности подмножества
Матрицу можно привести по пятой строке на девять единиц. Нижняя оценка подмножества Таблица 4.22 - Приведённая матрица смежности подмножества
Подсчитываем сумму констант, для которых Таблица 4.23 - Матрица смежности подмножества
Эта матрица прямо указывает на то, что в искомый маршрут необходимо включить дуги Таким образом получили следующий гамильтонов цикл: (4, 1, 6, 3, 2, 5, 4). Длина его L = 102. Сопоставляя длину найденного маршрута с нижней границей длин маршрутов подмножеств, которые не были рассмотрены до конца, видим, что рассмотрение большинства из них не имеет смысла, так как их нижняя граница превышает Необходимо исследовать данное подмножество по матрице подмножества Для подмножества Таблица 4.24 - Матрица смежности подмножества
Матрицу можно привести по шестому столбцу путём вычитания из всех элементов столбца 9. Тогда нижняя оценка подмножества
Рисунок 4.25 - Гамильтонов путь
Построим дерево, иллюстрирующее алгоритм решения.
А
J K C
E
G H
Рисунок 4.26 – Решение задачи о коммивояжёре в виде дерева
Дата добавления: 2014-01-06; Просмотров: 2142; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |