Читайте также: |
|
Шаг 1. Строятся вершины первого уровня. Для каждой вершины подсчитывается оценка нижней (верхней) границы. Ветвится вершина, которой соответствует лучшая (минимальная или максимальная) оценка.
Шаг 2. Для всех вершин -го уровня () подсчитывается оценка. Ветвится та из висячих вершин уровня , которой соответствует лучшая (минимальная или максимальная) оценка.
Шаг 3. Действия шага 2 повторяются до тех пор, пока не будет получено точное решение на последнем уровне. Для него подсчитывается точное значение . Если это значение не хуже оценок оставшихся висячих вершин, то найдено оптимальное решение. Если это значение строго лучше, то оптимальное решение единственно. Если значение функции для вершин последнего уровня не лучше значения оценок оставшихся висячих вершин, то переходят на шаг 2.
Метод ветвей и границ не гарантирует того, что в ходе решения задачи не будет произведен полный перебор.
Для практической реализации метода ветвей и границ применительно к задаче коммивояжера укажем прием определения нижних границ подмножеств и разбиения множества маршрутов на подмножества (ветвление).
Для того чтобы найти нижнюю границу воспользуемся следующим соображением: если к элементам любого ряда матрицы задачи коммивояжера (строке или столбцу) прибавить или вычесть из них некоторое число, то от этого оптимальность плана не изменится. Длина же любого маршрута коммивояжера изменится на данную величину.
Вычтем из каждой строки число, равное минимальному элементу этой строки. Вычтем из каждого столбца число, равное минимальному элементу этого столбца. Полученная матрица называется приведенной по строкам и столбцам. Сумма всех вычтенных чисел называется константой приведения.
Константу приведения следует выбирать в качестве нижней границы длины маршрутов.
Дата добавления: 2015-08-09; просмотров: 158 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Решение задачи | | | Разбиение множества маршрутов на подмножества |