2010-06-02 18 views
6

Hice un algoritmo memético en Python para traveling salesman problem. Sin embargo, todos los datos de prueba (lista de distancias entre ciudades) que he encontrado carecen de la información de la mejor solución, por lo que no puedo saber qué tan cerca del óptimo global se obtiene mi algoritmo.Ejemplo vendedor ambulante con óptimo global conocido

¿Alguien sabe dónde puedo encontrar algunos datos de prueba de tsp (preferiblemente en forma de matriz, pero todo está bien) con la mejor solución conocida?

+3

Siempre ha de vender en eBay, que al parecer es O (1). :-P http://xkcd.com/399/ –

Respuesta

9

¿Has google?

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

Esa página contiene varios casos de prueba de los cuales 16 tiene una solución óptima.

+0

Sí, pero no es la cosa más obvia por alguna razón. Gracias. – checker

+0

+1. Muy buen sitio. –

+0

Este es en realidad el primer resultado en google en este momento :) –

1

¿Tal vez pueda generar sus propios datos de prueba?

Esto definitivamente no será una prueba exhaustiva, pero podría ayudar. Nota: lo que sigue es sobre la ruta hamiltoniana, y si está buscando ciclos, algo similar funcionará.

Usted puede hacer lo siguiente:

Digamos que se le da un grafo no dirigido G con n nodos.

Ahora crea un gráfico ponderado G ', estableciendo el peso de los bordes en G para que sea 1, y agregando los bordes no en G, y dándoles un peso aleatorio> 1, es decir, G' es un gráfico completo con pesos asignados a todos sus bordes.

Ahora, si ejecuta un algoritmo TSP válido en G 'y genera una ruta de tamaño n-1, entonces G tiene una ruta hamiltoniana. De lo contrario, G no tiene un camino hamiltoniano.

Ahora puede usar gráficas que saber que tiene/no tiene camino hamiltoniano (para por ejemplo: Hypercube tiene camino hamiltoniano) y generar datos de prueba para su algoritmo de TSP.

Esta página tiene algunas condiciones suficientes que podrían ser útiles en la generación de gráficos que tienen camino hamiltoniano: http://www-math.cudenver.edu/~wcherowi/courses/m4408/gtln12.html

supongo que no tendrá dificultades para encontrar datos sobre los gráficos con/sin camino hamiltoniano.

Espero que ayude. ¡Buena suerte!

Cuestiones relacionadas