Общая постановка задачи

Имеется n городов. Выехав из одного из них, коммивояжер должен объехать все и вернуться в исходный город. В каждый город можно заезжать только один раз, и, следовательно, маршрут коммивояжера должен образовывать замкнутый цикл без петель (например, если есть 6 городов 1, 2, 3, 4, 5 и 6, то 1 – 4 –2 – 1 и 3 – 5 – 6 – 3 – подциклы (петли). Требуется найти кратчайший замкнутый маршрут коммивояжера, если известна матрица расстояний между городами[2].

Математическая модель

общая постановка задачи - student2.ru

Здесь переменная xij принимает значение 1, если коммивояжер переезжает из города i в город j (i, j = 1, 2, …, n, i ≠ j) и 0 в противном случае. Условие (1) представляет собой оптимизируемую функцию, где сij – расстояние между городами (i, j = 1, 2, …, n, i ≠ j), причем, в общем случае сij ≠ сji ; условие (2) означает, что коммивояжер выезжает из каждого города только один раз; (3) – что он въезжает в каждый город только один раз; (4) обеспечивает замкнутость маршрута и отсутствие петель, где ui и uj – некоторые вещественные значения i, j = 1, 2, …, n, i ≠ j.

Содержательная постановка задачи

Имеется 6 пунктов. Коммивояжер должен посетить их по одному разу и вернуться в исходный город. Найти кратчайший маршрут. Расстояния между городами заданы в виде матрицы чисел, представленной в Таблице 8:

Таблица 8

Матрица расстояний между городами

общая постановка задачи - student2.ru

Оптимизационное моделирование

Построение модели

1. Разместите на Листе Excel исходные данные. Один из возможных вариантов размещения представлен на Рис.44.

общая постановка задачи - student2.ru общая постановка задачи - student2.ru

Рис.44. Фрагмент рабочего листа исходных данных и ограничений

2. Диапазон ячеек B2:G7 содержит исходную матрицу расстояний между городами, в которой расстояние от города до самого себя приняты достаточно большими, по сравнению с другими расстояниями (например, 1000). Данный прием замены нулевых расстояний на бесконечные используется в классическом методе «ветвей и границ» решения задач данного типа с целью заранее исключить из решения нулевые по расстоянию переходы, которые хотя и являются наикратчайшими, но не допустимы по смыслу задачи.

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

4. В ячейках B15:G15 и H9:H14 находятся формулы расчета количества въездов и выездов из городов (Рис. 45).

5. В ячейке D23 – целевая функция, использующая вспомогательные промежуточные расчеты блока D17:D22 (суммы переходов из городов) (Рис.46).

общая постановка задачи - student2.ru

Рис.45. Фрагмент рабочего листа в режиме формул

общая постановка задачи - student2.ru

Рис.46. Фрагмент рабочего листа в режиме формул

Исследование модели

1. Выполните поиск решения (Рис. 47), задав ограничения согласно Таблице 9.

Таблица 9

Ограничения на въезды и выезды

общая постановка задачи - student2.ru

общая постановка задачи - student2.ru

Рис. 47. .Настройка окна ПОИСК РЕШЕНИЯ

2. Результат выполнения поиска решения – на Рис. 48.

общая постановка задачи - student2.ru

Рис. 48. Результат выполнения поиска решения.

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