Читайте также:
|
|
Имеется n городов. Выезжая из исходного города А1, коммивояжер должен побывать во всех остальных городах по одному разу и вернуться в город А1.
Задача заключается в определении последовательности объезда городов при которой коммивояжеру требуется минимизировать некоторый критерий эффективности: стоимость проезда, время в пути, суммарное расстояние и т.д. Пусть задана матрица C=||cij|| расстояний между городами и требуется минимизировать суммарную длину пути.
Введем переменные
xij=1, если коммивояжер переезжает из города Аi в город Аj, i¹ j;
xij=0, в противном случае,
i, j= .
Математическая модель задачи выглядит следующим образом.
Целевая функция имеет вид:
® min.
ЦФ представляет суммарную длину пути.
Ограничения имеют вид:
, i= , (1)
, j= , (2)
ui-uj+(n-1)× xij £ n-2, 2£ i¹ j £ n, (3)
где ui, i= - неограниченные действительные переменные.
Условия (1) означает, что коммивояжер выезжает из каждого города один раз, а условия (2)- что он въезжает один раз в каждый город.
Условия (3), выглядящие несколько искусственно, предназначены обеспечить связность маршрута коммивояжера. Более точно эти условия запрещают любой цикл, не проходящий через город 1, и тем самым исключают ситуации, подобные приведенной на рисунке.
4 3 7
1 2 5 6
Данная задача является задачей линейного булева программирования.
Дата добавления: 2015-07-14; просмотров: 126 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задача о назначениях | | | Задача о доставке (покрытии множества) |