Пример коммивояжера с известным мировым оптимумом - PullRequest
6 голосов
/ 02 июня 2010

Я сделал меметический алгоритм в Python для задачи коммивояжера . Однако все тестовые данные (список расстояний между городами), с которыми я столкнулся, не содержат информации о наилучшем решении, поэтому я не могу знать, насколько близок к глобальному оптимуму мой алгоритм.

Кто-нибудь знает, где я могу найти некоторые данные теста tsp (желательно в матричной форме, но что-нибудь хорошее) с известным лучшим решением?

Ответы [ 3 ]

9 голосов
/ 02 июня 2010

Вы гуглили?

http://www.tsp.gatech.edu/data/index.html

На этой странице представлено несколько тестов, из которых 16 имеет оптимальное решение.

1 голос
/ 02 июня 2010

Может быть, вы можете создать свои собственные тестовые данные?

Это определенно не будет всесторонним тестированием, но оно может помочь. Примечание: ниже рассказывается о гамильтоновом пути, и если вы ищете циклы, то сработает что-то подобное.

Вы можете сделать следующее:

Скажем, вам дан неориентированный граф G с n узлами.

Теперь вы создаете взвешенный граф G ', устанавливая вес ребер в G равным 1, и добавляя ребра не в G, и присваивая им случайный вес> 1, т.е. G' - полный граф с весами присваивается всем его ребрам.

Теперь, если вы запустите действительный алгоритм TSP на G 'и он сгенерирует путь размера n-1, то у G есть гамильтонов путь. В противном случае G не имеет гамильтонова пути.

Так что теперь вы можете использовать графики, которые вы знаете , которые имеют / не имеют гамильтоновы пути (например, для: Гиперкуб имеет гамильтоновы пути) и генерировать тестовые данные для вашего алгоритма TSP.

Эта страница имеет некоторые достаточные условия, которые могут оказаться полезными при создании графов с гамильтоновыми путями: http://www -math.cudenver.edu / ~ wcherowi / courses / m4408 / gtln12.html

Полагаю, вам не составит труда найти данные на графиках с / без гамильтоновых путей.

Надеюсь, это поможет. Удачи!

0 голосов
/ 30 июля 2010

TSPLIB - это библиотека примеров экземпляров для TSP (и связанных с ними проблем) из различных источников и различных типов.

http://comopt.ifi.uni -heidelberg.de / Программное обеспечение / TSPLIB95 /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...