2010-11-09 3 views
4

Наиболее распространенные эвристики для решения проблемы TSP (в частности, эвристика Kernighan-Lin) требуют работы с произвольно сгенерированным туром и для улучшения решения, начиная с этого. Тем не менее, единственный способ, который я придумал, - создать случайную перестановку вершин и проверить, является ли это решением или нет.Алгоритм для генерации решений TSP случайным образом

Для больших случаев проблемы (например, 1000 вершин) этот процесс может занять некоторое время. Есть ли еще один умный способ быстрее генерировать случайный тур для задачи TSP? Обратите внимание, что я ищу тур, независимо от стоимости, а не оптимальное решение.

Заранее спасибо

+0

_генерировать случайную перестановку вершин и проверять, является ли это решением или нет. Зачем вам нужно проверить, является ли это решением? Если граф не является неполным, случайная перестановка всегда является гамильтоновым циклом (если вы считаете, что первая и последняя вершина в перестановке должны быть связаны). –

ответ

1

Вы можете просто создать массив, содержащий города проблем, а затем случайным образом перетасовать этот массив (есть методы, которые могут это сделать). Результирующий массив на самом деле является случайной перестановкой.

2

Если вы просто ищете любой тур, вы можете использовать широты или глубины первого поиска, чтобы создать путь, а маркировка узлов посещенные.

+0

Не какой-то тур, он должен быть гамильтоновским циклом. – skd

0

Вы хотите использовать кривую заполнения пробела.

Смежные вопросы