СОДЕРЖАНИЕ
ВВЕДЕНИЕ…………………………………………………………………………3
ВВЕДЕНИЕ
Комбинаторика – раздел математики, посвященный решению задач выбора и
расположения элементов некоторого, обычно конечного множества в соответствии с
заданными правилами.
изучить понятие и особенности задачи коммивояжера;
ознакомиться с практическим применением задачи коммивояжера;
рассмотреть методы решения задачи коммивояжера;
получить представление о назначении надстройки MS Excel «Поиск решения»;
сформулировать задачу коммивояжера и решить ее при помощи надстройки MS
Excel «Поиск решения».
2
В задаче коммивояжера целевой функцией, которую надо минимизировать, является
стоимость обхода.
геометрическая задача коммивояжёра (также называемая планарной или
евклидовой, когда матрица расстояний отражает расстояния между точками на
плоскости);
треугольная задача коммивояжёра (когда на матрице стоимостей выполняется
неравенство треугольника);
симметричная и асимметричная задачи коммивояжёра.
Как правило, речь идет либо о простом перемещением по заданным точкам, либо с
развозом груза небольшого формата или веса на транспортном средстве, вмещающем
большое количество единиц, что создает предпосылки для применения задачи
коммивояжера. Примером реализации задачи на практике является составление
оптимального маршрута человека для доставки продуктов в магазины с оптового склада;
доставки бутилированной воды; обновления программных продуктов
автоматизированного учета на предприятии; пополнения банкоматов наличными
деньгами; сбора сотрудников для доставки вахтовым методом; расклейки афиш; сбора
наличных денежных средств их терминалов и др. В этом случае вершинами являются
места установки терминалов (банкоматов и т.д.) и «базовый пункт». Стоимостью каждого
ребра (отрезка маршрута) является время в пути между двумя точками (вершинами) на
маршруте.
Еще одно применение задачи коммивояжера – это задача о сверлильном станке. Данное
применение задачи является сугубо специализированным приложением, которое
заключается в оптимизации движений сверлильного станка ЧПУ для создания большого
количества нерегулярно расположенных отверстий или сварочного робота. Сверлильный
станок изготавливает металлические листы с некоторым количеством отверстий.
Координаты отверстий известны. Необходимо найти кратчайший путь через все
отверстия, а значит, и наименьшее время, затрачиваемое на изготовление одной детали. В
данном случае, если такой станок делает миллион деталей в год, то даже миллиметровая
выгода может сэкономить приличные средства. Этим объясняется стремление развитых
стран затрачивать огромные финансовые ресурсы на инвестиции в информационные
технологии.
Полный перебор (или метод «грубой силы») — метод решения задачи путем перебора
всех возможных вариантов. Сложность полного перебора зависит от количества всех
возможных решений задачи. Если пространство решений очень велико, то полный
перебор может не дать результатов в течение нескольких лет или даже столетий.
Случайный перебор;
Рисунок 1.1
Метод минимального остовного дерева (деревянный
алгоритм);
Доказано, что деревянный алгоритм ошибается менее чем в два раза, поэтому такие
алгоритмы называют приблизительными, а не просто эвристическими.
Метод ветвей и границ предложен в 1963 году группой авторов Дж. Литлом, К. Мурти,
Д. Суини, К. Кэролом. Широко используемый вариант поиска с возвращением,
фактически является лишь специальным частным случаем метода поиска с
ограничениями4. Ограничения в данном случае основываются на предположении, что на
множестве возможных и частичных решений задана некоторая функция цены и что нужно
найти оптимальное решение, т.е. решение с наименьшей ценой. Для применения метода
ветвей и границ функция цены должна обладать тем свойством, что цена любого
частичного решения не превышает цены любого расширения этого частичного решения
(Заметим, что в большинстве случаев функция цены неотрицательна и даже удовлетворяет
более сильному требованию).
Столь большой успех применения данного метода объясняется тем, что авторы первыми
обратили внимание на широту возможностей метода, отметили важность использования
специфики задачи и сами воспользовались спецификой задачи коммивояжера.
Вывод к главе 1:
Размер задачи, которую можно решить с помощью базовой версии этой программы,
ограничивается такими предельными показателями: количество неизвестных (decision
variable) – 200; количество формульных ограничений (explicit constraint) на неизвестные –
100; количество предельных условий (simple constraint) на неизвестные – 400.
Решение: Разместим исходные данные на рабочем листе (рис 2.1). Заменим знак
числом 10000 (на результат решения исключение пути не оказывает влияния).
8
Вводим формулы:
Таблица 1
Сценарий решения.
10
Таким образом, получаем следующий результат. Если Петров переходит из организации в
организацию, то на рис. 2.4 в диапазоне B4:F8 мы будем наблюдать порядок его
перемещений. Если видим, что в ячейке, которая отнесена к организации «В» стоит
единица, значит сотрудник посетил эту организацию следующей за пунктом «А». Если в
ячейке ноль – сотрудник организацию не посещал.
Рисунок 2.4
Результаты
решения задачи
коммивояжера
Вывод к главе 2:
В ходе анализа полученных результатов, приходим к выводу: наиболее оптимальным
маршрут Петрова будет в том случае, если он начал свой путь с организации «А», посетит
другие организации в следующем порядке «В», затем «Д», далее «Б» и «Г», из которой
вернется к началу своего пути (в организацию «А»). представим путь схематически:
Длина кратчайшего маршрута (значение целевой ячейки) в результате составит – 21.
Задача решена. Кратчайший маршрут Петрова найден.
ЗАКЛЮЧЕНИЕ
Задача коммивояжера была поставлена в 1934 году. Ее сущность заключается в поиске
оптимального маршрута движения при необходимости посетить все запланированные
объекты с наименьшими финансовыми и временными издержками. Как правило, речь
идет о простом перемещении по заданным точкам, либо с перевозкой груза небольшого
формата на транспортном средстве.
1.
Дулькейт В.И., Файзуллин Р.Т. Приближенное решение задачи коммивояжера
методом рекурсивного построения вспомогательной кривой // вычислительные
методы в дискретной математике. Омск. Изд-во Омского гос.тех.ун-та. 2009. № 1
(3). С. 72-78.
2.
Прикладное программное обеспечение для решения экономических задач:
лабораторный практикум. Екатеринбург: Изд-во Ур. гос.ун-та им. А.М. Горького,
2008. 30 с.
3.
Алгоритм имитации отжига [Электронный ресурс] // URL:
http://www.math.nsc.ru/AP/benchmarks/UFLP/uflp_sa.htm
l.
4.
Задачи коммивояжера [Электронный ресурс] // URL: http
://
window
.
edu
.
ru
/
window
_
catalog
12
/
pdf
2
txt
?
p
_
id
=26518&
p
_
page
=7.
5.
Задача – коммивояжер [Электронный ресурс] // URL:
http://www.ai08.org/index.php/term/,.xhtml.
6.
Задача о коммивояжере [Электронный ресурс] // URL: http
://
mirslovarei
.
com
/
content
_
biz
/
Zadacha
-
O
-
Kommivojazhere
-4474.
html.
7.
Задача о коммивояжере [Электронный ресурс] // URL:
http://zs7.ru/text/nauka/kommivoyager.
8.
Метод ветвей и границ [Электронный ресурс] // URL:
http://pco.iis.nsk.su/ICP/Practice/dd8-3/node9.html.
9.
Надстройка Microsoft Excel «Поиск решения» [Электронный ресурс] // URL: http
://
office
.
microsoft
.
com
/
ru
-
ru
13
/
excel
-
help
/
HP
005198443.
aspx.
10.
Практическое применение задачи коммивояжера [Электронный ресурс] // URL:
http://lmatrix.ru/news2/news2_4.html.
11.
Сетевые модели/ Коммивояжер [Электронный ресурс] // URL:
http://exsolver.narod.ru/NFP/NFP_salesman.html.
12.
Экономико-математическое моделирование в управлении компанией: оптимизация
транспортных потоков [Электронный ресурс] // URL: http://www.cig-
bc.ru/library/74190/78999/.
1 http://mirslovarei.com/content_biz/Zadacha-O-Kommivojazhere-4474.html
2 http://ru.wikipedia.org/wiki/Гамильтонов-цикл
3 http://ru.wikipedia.org/wiki/Задача_коммивояжёра
4 http://pco.iis.nsk.su/ICP/Practice/dd8-3/node9.html
14