Опубликован: 14.11.2012 | Уровень: для всех | Доступ: платный
Лекция 3:

Решение транспортных задач

< Лекция 2 || Лекция 3: 1234

Упражнения

В качестве упражнения предлагаем самостоятельно решить задачу коммивояжера. После этого сверьте свое решение с решением, изложенным ниже.

Задача 3.4

Коммивояжер должен объехать 7 городов. Выехав из одного города, он должен вернуться в него, заехав в каждый из других городов только один раз. Маршрут коммивояжера должен представлять собой замкнутый цикл без петель. Требуется найти кратчайший замкнутый путь коммивояжера. Карта расположения городов показана на рисунке. Расстояния между городами показаны в таблице.


Математическая модель данной транспортной задачи сводится к заданию двух матриц:

\{X_{ik}\} — число прохождений пути из города i в город k. Переменная Хij принимает значение 1, если коммивояжер переезжает из города i в город j и 0 в противном случае.

\{Y_{ik}\}— расстояния между городами (в общем случае матрица несимметрична, т.е. y_{ik}\ne y_{ki}.

Кроме того, должны быть заданы два вектора:

(R_{in})i — ресурс выезда (число выездов из каждого города);

(R_{out})k — ресурс въезда (число въездов в каждый город).

Целевая функция определяет пройденный путь коммивояжера, который должен быть минимальным. Она равна скалярному произведению матриц:

F=\{X_{ik}\}*\{Y_{ik}\} \Rightarrow min

Множество допустимых решений ограничивается ресурсами въезда и ресурсами выезда:

\sum kX_{ik} <=(R_{in})_i=1 — число прохождений пути из города i в город k не может превышать заданный ресурс выезда из города i;

\sum X_{ik} <=(R_{out})_k=1 — число прохождений пути из города i в город k не может превышать заданный ресурс въезда в город k.

Кроме того, для предупреждения петель вводятся дополнительные условия:

ui–uj+nxij <=n-1i,j=1,2,\ldots,n

xij=0 или xij=1i,j=1,2,\ldots,n

Для решения задачи средствами MS Excel нам нужно на листе книги представить дополнительно к матрице расстояний между городами Yik матрицу числа прохождений пути из города i в город k Xik и сформировать целевую функцию в виде суммы всех маршрутов коммивояжера. Подготовленные таблицы будут выглядеть следующим образом:


В первой матрице диагональные элементы, вообще говоря, равны нулю. Но мы поставили в них большие числа, чтобы предотвратить выезд из города и немедленный въезд в него. Во вторую таблицу вставлены следующие формулы:

В диалоговом окне "Параметры поиска решения" вводим ограничения въездов и выездов заданными ресурсами:


В столбце L приведены переходы коммивояжера между городами. Отсутствие петель обеспечивается вторым ограничением.

< Лекция 2 || Лекция 3: 1234
Никита Козлов
Никита Козлов
Почему область решений была взята как многоугольник ОАВС. А как же точки (567;0) и (0;320). На мой взгляд, я бы выбрал многоугольник с точками О (567;0) (0;320). Ведь они являются областью пересечения двух ограничений
Дина Калиноская
Дина Калиноская
Россия, г. Москва
Эльвира Кашкимбаева
Эльвира Кашкимбаева
Казахстан, Усть-Каменогорск, #44 им. О. Бокея, 2006