Практическая часть. Решение задачи о коммивояжере методом ветвей и границ

Постановка задачи

Имеется n городов коммивояжере нужно проехать все n городов, начиная с первого, побывать в каждом городе ровно один раз и вернуться в первый город. Известны издержки переезда cij из города i в j.

Требуется найти такой маршрут переезда, который бы минимизировал бы суммарные издержки от переезда

-

называется гамельктоновым циклом – замкнутый цикл с прибыванием в каждом городе 1 раз.

T – все возможные гамельктоновые циклы.

Математическая задача будет ставится следующим образом:

Найти , который минимизировал бы

т.к. T – конечное множество, следовательно это задача дискретного программирования, поэтому можно методом ветвей и границ.

Дискретное программирование. Метод ветвей и границ

Постановка задачи дискретного программирования

на – конечное несчетное множество.

Общая схема метода ветвей и границ решения ЗДП

. В начале процесса разбивается на подмножеств:

В начале должна быть вычислена величина – нижняя оценка оптимального значения на , т.е. если - решение ЗДП, то

(1)

.

Для всех подмножеств в , полученных в результате разбиения, должна быть вычислена верхняя оценка функции на .

Величины и используются для сужения области поиска решения ЗДП. А именно если выполняется условие (2).

(2)

означает, что на множестве функция не достигает своего максимума, следовательно в дальнейшем подмножество можно не рассматривать при решении задачи.

Предположим (2) выполнено для , т.е. их нужно выбросить из рассмотрения. Потом корректируем , на графе они просто вычеркиваются. Рассматриваем только оставшиеся висячие вершины подмножества. Для продолжения решения выбираем для разбиения следующее подмножество.

Выбираем следующее для разбиения подмножество из условия:

(4)

Пусть разбивается на , переобозначим

Для каждого из этих подмножеств вычисляем:

(5)

Проверяем условие (5).

Пусть условие (5) выполняется для (6).

Нужно скорректировать два подмножества и

В дальнейшем будем рассматривать только те подмножества, которые на графе являются висячими вершинами, т.е. нерассмотренные.

Дальнейший процесс решения задачи можно построить двумя способами.

Граф:

Первый способ:

Для дальнейшего разбиения выбирается подмножество из подмножеств, полученных в результате последнего разбиения , например:

Перейти на страницу: 1 2 3 4 5

Советы по выбору

  • Как выбрать смартфон

    Иногда, функций обычного телефона становиться мало. Конечно, дополнительный функционал можно добавить за счёт установки программного обеспечения.

  • Как выбрать сыр?

    Сыр можно употреблять в качестве закуски, как это принято у нас, и на десерт, как это принято во многих странах мира. Любая уважающая себя страна дала миру один…