Схема метода ветвей и границ для задачи коммивояжера

Шаг 1. Определение начального рекорда. (При отсутствии дополнительной информации можно взять длину любого маршрута). Приведение исходной матрицы. Задать k=0.

Шаг 2.Выбор пары Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Шаг 3.Ветвление Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Шаг 4. Преобразование матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Вычисление матриц Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Если какая-то из этих матриц имеет размер 2 Схема метода ветвей и границ для задачи коммивояжера - student2.ru 2, то переход к шагу 7.

Шаг 5.Вычисление оценок Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Шаг 6.Выбор перспективного множества Схема метода ветвей и границ для задачи коммивояжера - student2.ru в соответствии со стратегией. Положить Схема метода ветвей и границ для задачи коммивояжера - student2.ru Переход к шагу 2.

Шаг 7.Получение допустимого маршрута, возможная смена рекорда и сокращение перебора.

Шаг 8. Проверка критерия оптимальности. Если он выполнен, то останов. Иначе переход к шагу 6.

Замечание. В момент получения матрицы 2 Схема метода ветвей и границ для задачи коммивояжера - student2.ru 2 определяется замыкающая пара городов для образования допустимого маршрута.

Пример.Рассмотрим задачу коммивояжера с Схема метода ветвей и границ для задачи коммивояжера - student2.ru и матрицей расстояний

Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Выберем стратегию «по минимуму оценки». Положим Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Осуществив операцию приведения, получаем матрицу Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru

В последнем столбце и нижней строке записаны приводящие константы. Их сумма S=10, то есть Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Для каждого нулевого элемента матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru считаем Схема метода ветвей и границ для задачи коммивояжера - student2.ru : Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Имеем Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Следовательно, Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Формируем множества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru , добавляя соответственно условия Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Вычисляем матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

       
    Схема метода ветвей и границ для задачи коммивояжера - student2.ru
 
  Схема метода ветвей и границ для задачи коммивояжера - student2.ru

Считаем оценки: Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru . В таком случае дальнейшему ветвлению подлежит множество Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Для каждого нулевого элемента матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru считаем Схема метода ветвей и границ для задачи коммивояжера - student2.ru : Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Имеем Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Следовательно, Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Формируем множества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru , добавляя соответственно условия Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Вычисляем матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

       
    Схема метода ветвей и границ для задачи коммивояжера - student2.ru
 
  Схема метода ветвей и границ для задачи коммивояжера - student2.ru

Вычисляем оценки: Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

В соответствии со стратегией дальнейшему ветвлению подлежит множество Схема метода ветвей и границ для задачи коммивояжера - student2.ru , так как оно имеет наименьшую оценку Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Аналогично для всех нулевых элементов матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru считаем Схема метода ветвей и границ для задачи коммивояжера - student2.ru и определяем, что Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Формируем множества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru , добавляя соответственно условия Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru имеют вид:

       
    Схема метода ветвей и границ для задачи коммивояжера - student2.ru
 
  Схема метода ветвей и границ для задачи коммивояжера - student2.ru

Вычисляем оценки: Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Дальнейшему ветвлению подлежит множество Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Делим Схема метода ветвей и границ для задачи коммивояжера - student2.ru на подмножества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru по паре Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Рассчитав матрицы Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru , определяем Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Минимальную оценку 16 имеет три подмножества: Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Выберем для дальнейшего ветвления Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Делим его на подмножества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru по паре Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Получим Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Далее делим Схема метода ветвей и границ для задачи коммивояжера - student2.ru на подмножества Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru по паре Схема метода ветвей и границ для задачи коммивояжера - student2.ru . Вычисляем Схема метода ветвей и границ для задачи коммивояжера - student2.ru , Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Делим Схема метода ветвей и границ для задачи коммивояжера - student2.ru по паре Схема метода ветвей и границ для задачи коммивояжера - student2.ru на Схема метода ветвей и границ для задачи коммивояжера - student2.ru и Схема метода ветвей и границ для задачи коммивояжера - student2.ru . При этом получаем матрицу Схема метода ветвей и границ для задачи коммивояжера - student2.ru размера 2 Схема метода ветвей и границ для задачи коммивояжера - student2.ru 2. В результате выписываем допустимую точку (матрицу X)

Схема метода ветвей и границ для задачи коммивояжера - student2.ru

со значением целевой функции Схема метода ветвей и границ для задачи коммивояжера - student2.ru .

Соответствующий маршрут: 1-2-3-5-4-8-7-5-1.

Меняем рекорд: Схема метода ветвей и границ для задачи коммивояжера - student2.ru , и подмножества Схема метода ветвей и границ для задачи коммивояжера - student2.ru выбрасываются из рассмотрения как неперспективные (их оценки превышают или равны рекордному значению). Так как больше подмножеств для ветвления не осталось, то найденная точка является оптимальным решением. Однако оно может быть не единственным, так как подмножества Схема метода ветвей и границ для задачи коммивояжера - student2.ru так же имеют оценку 16. Чтобы выяснить, существуют ли другие решения, нужно осуществлять дальнейшее ветвление этих множеств.

Дерево вариантов в рассмотренном примере имеет следующий вид.

Схема метода ветвей и границ для задачи коммивояжера - student2.ru

УПРАЖНЕНИЯ

1. Решить рассмотренный в п. 8.2 пример, используя стратегию «левостороннего обхода дерева вариантов».

2. В программной реализации алгоритма метода ветвей и границ для решения задачи коммивояжера используется, как правило, левосторонний обход дерева вариантов. Отметьте преимущество этой стратегии в данном случае.

3. Решите задачу коммивояжера с матрицей:

a) b)
Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru
Ответ: 1-4-6-7-3-5-2-1, L=126.   Ответ: 4-3-5-6-2-1-4, L=63.  
с) d)
Схема метода ветвей и границ для задачи коммивояжера - student2.ru Схема метода ветвей и границ для задачи коммивояжера - student2.ru
  Ответ: 3-1-6-5-4-2-3, L=39.     Ответ: 2-1-5-3-4-6-2, L=26.  

Наши рекомендации