Определение оптимального замкнутого маршрута
1,если коммивояжер из пункта i переезжает в пункт j,
0, если не поедет,
где i,j - 1, 2, ., n. Требуется минимизировать выражение:
(2.1)
при следующих ограничениях:
,
где Ui и Uj – произвольные вещественные значения.
Первое ограничение означает, что коммивояжер из каждого пункта выезжает только один раз; второе ограничение означает, что коммивояжер въезжает в любой пункт только один раз; третье ограничение обеспечивает замкнутость маршрута, содержащего п пунктов, и отсутствие петель.
Для решения задач дискретного программирования широко применяются комбинаторные методы, основная идея которых заключается в замене полного перебора всех решений их частичным перебором. Одним из таких методов является .метод ветвей и границ, в основе которого лежат следующие построения, позволяющие существенно уменьшить объем перебора решений:
• вычисление нижней границы (оценки);
• разбиение на подмножества, т. е. ветвление;
• пересчет оценок;
• нахождение решений;
• определение признака оптимальности;
• оценка точности приближенного решения.
Для реализации метода ветвей и границ применительно к задаче о коммивояжере необходимо конкретизировать правила ветвления, вычисления оценок и нахождения решений.
Описание алгоритма метода ветвей и границ. Сущность метода ветвей и границ применительно к задаче коммивояжера состоит в следующем.
1. Обозначим через G0 множество всех циклов, среди которых отыскивается кратчайший цикл t*: l(t*)=min l(t). При этом под циклом будем понимать набор из n упорядоченных пар городов, образующих замкнутый маршрут, который проходит через каждый город только один раз:
t=[(i1,i2),(i2,i3),…,(in-1,in),(in,i1)].
Длина цикла равна (2.2)
2. Вычислим оценку для множества G0.Для этого введем понятие приведенной матрицы и процесса приведения.
Пусть hi=minj Сij,
тогда Cij'=Сij-hi³0 и l(t)=.
Пусть Hj=mini Cij',
тогда Cij''=Cij'-Hj³0 и l(t)=.
Полученная матрица С" называется приведенной. Она обладает тем свойством, что в каждой ее строке и столбце имеется по крайней мере один нуль. Процесс, позволяющий из неотрицательной матрицы С получить приведенную неотрицательную матрицу С", называется приведением. Сумма вычитаемых в процессе приведения элементов называется приводящими константами и обозначается hΣ. Оптимальный план задачи о коммивояжере с матрицей С" является оптимальным и для задачи о коммивояжере с матрицей С. Длина цикла l(t) на приведенной матрице будет меньше длины цикла l(t) на исходной матрице на сумму приводящих констант: l(t)=l(t)+hΣ.
Популярные материалы:
Расчет количества вытяжных путей
Число вытяжных путей определяем по формуле:
mвыт = (21)
, – количество расформировываемых поездов и формируемых поездов.
, – время занятия вытяжного пути при расформировании и формировании поездов, (мин)
– время на экипировку мане ...
Особенности двигателей с повышенным пусковым моментом и многоскоростных
Стремление повысить пусковой момент короткозамкнутых асинхронных двигателей без увеличения активного сопротивления обмотки статора (а следовательно, и потерь энергии в нём) привело к появлению специальных конструкций двигателей, называемы ...
Охрана труда
при производстве и ремонте
В ходе модернизации крытого вагона модели 13-9553 вводятся новый конструкционный материал – стеклопластик. Его описание и механические свойства приведены в разделе 1. В данной части проекта мы рассмотрим лишь его пожароустойчивость.
Такж ...