¿Cuál es el nombre de esta variante logística de TSP?

8

Tengo un problema logístico que puede verse como una variante de TSP. Es tan natural, estoy seguro de que se ha estudiado en la investigación de operaciones o algo similar. Aquí hay una forma de ver el problema.

Tengo almacenes en el plano cartesiano. Hay un camino desde un almacén a cualquier otro almacén y la métrica de distancia utilizada es la distancia euclidiana. Además, hay elementos diferentes. Cada elemento puede estar presente en cualquier número de almacenes. Tenemos un colector y se nos da un punto de partida por ello, por ejemplo el origen . El colector recibe una orden, por lo que una lista de artículos. Aquí, podemos suponer que la lista solo contiene elementos distintos y solo uno de cada uno. Debemos determinar el recorrido más corto a partir de visita a varios almacenes para que podamos recoger cada artículo del pedido.Pn1ins(0,0)s

Aquí hay una visualización de una instancia generada aleatoriamente con . Los almacenes se representan con círculos. Los rojos contienen el elemento , los azules el elemento y los verdes el elemento . Dados algunos puntos de partida el pedido ( ), debemos elegir un almacén rojo, uno azul y uno verde para que se pueda completar el pedido. Por accidente, no hay almacenes multicolores en este ejemplo, por lo que todos contienen exactamente un artículo. Esta instancia particular es un caso de set-TSP .P=35123s1,2,3

Una instancia del problema.

Puedo demostrar que el problema es de hecho -hard. Considere una instancia donde cada artículo se encuentra en un almacén diferente . El orden es tal que contiene cada artículo. Ahora debemos visitar cada almacén y encontrar el recorrido más corto al hacerlo. Esto es equivalente a resolver una instancia de .NPiPiPiTSP

Siendo tan obviamente útil al menos en el contexto de logística, enrutamiento y planificación, estoy seguro de que esto se ha estudiado antes. Tengo dos preguntas:

  1. ¿Cuál es el nombre del problema?
  2. ¿Qué tan bien se puede esperar aproximar el problema (suponiendo )?PNP

Estoy bastante contento con el nombre y / o referencia (s) al problema. Quizás la respuesta al segundo punto se sigue fácilmente o puedo averiguarlo yo mismo.

Juho
fuente
1
¿Has intentado formularlo en términos del problema del flujo de productos múltiples ?
uli
@uli No, ni en ningún otro formalismo. Primero pensé en un programa entero lineal (binario), pero pensé que alguien podría saber el nombre y una referencia para el problema. Por lo tanto, podría ahorrar tiempo y esfuerzo. Gracias, lo consideraré también.
Juho
1
establecer TSP? No es exactamente equivalente porque los conjuntos son disjuntos. Pero podría ser un punto de partida?
rahul
@blufox De hecho, y en realidad el ejemplo ilustrado es una instancia de set TSP. Entonces, el problema tiene eso como su caso especial también.
Juho

Respuestas:

6

El problema está en si el número de elementos es constante.P

Sea el número de elementos (independiente de ). Para cada pedido de artículos, use el rastreo para probar todas las rutas permitidas: primero pasa por algún almacén para el primer artículo (prueba todos los almacenes), luego uno para el segundo artículo y así sucesivamente.Kn

Hay ordenamientos los artículos. Sea el número de almacenes para el artículo . El número de rutas es . Por lo tanto, el tiempo de ejecución del algoritmo anterior es , que es polinomio para fijo .O(K!)Wiii=1KWii=1Kn=nKO(K!nK)K

Si el número de elementos puede ser lineal en , el problema es al menos tan difícil de aproximar como : puede tomar una instancia de , hacer un elemento para cada vértice como observó y luego agregar vértices adicionales muy lejos de todos los demás vértices para inflar (y, por lo tanto, permitir suficientes elementos para que cada vértice de la instancia de tenga un elemento diferente), sin destruir la dureza de la accesibilidad de . Tenga en cuenta que si sus puntos están en el plano euclidiano, esto realmente no lo ayudará, ya que hay un para planar .nTSPTSPnTSPTSPPTASTSP

Alex ten Brink
fuente
5

Entre otros, este problema puede verse como una instancia del Problema del Comprador Viajero. TPP es una generalización de TSP y fue propuesto por primera vez por T. Ramesh, problema del comprador viajero, 1981. El problema es el siguiente:

Nos dan un set M={1,...,m} de mercados y un conjunto de N={1,...,n}de productos. También nos dancij, el costo de viajar desde la ciudad i a la ciudad jy no negativo dij, el costo de un producto i en el mercado j. El comprador comienza desde su ciudad de origen (por ejemplo, ciudad1) y viaja a un subconjunto de m ciudades y compra cada una de las nproductos de las ciudades que visita y regresa a su ciudad natal. El objetivo es encontrar un recorrido para el comprador que minimice la suma del viaje y los costos de compra.

Entonces, en términos de la pregunta original, los almacenes son mercados. Cada artículo disponible en un mercado tiene el mismo precio. Si el artículoi no está disponible en un mercado j, su precio dij se establece en un valor alto.

Además de contener TSP, TPP contiene premios coleccionables TSP, problema de ubicación de la instalación no capacitada, problema del árbol Steiner grupal y el problema de la cobertura del conjunto como sus casos especiales inmediatos. Para la dureza, siguiendo los resultados de dureza actuales para la cubierta establecida, se deduce que no hay PTAS paraTPP incluso con costos de viaje métricos cuya relación de rendimiento es mejor que (1o(1))lnn a no ser que P=NP. Para una discusión y formulación adicional como IP, ver por ejemplo R. Ravi y FS Salman, Algoritmos de aproximación para el problema del comprador viajero y sus variantes en el diseño de redes, 1999 . La entrada de Wikipedia para TPP también ofrece enlaces a algunos enfoques heurísticos.

Juho
fuente
2

Lo que describiste suena más como un problema de planificación en IA. Parece lo que podría modelarse con un lenguaje de planificación, como STRIPS , ADL, PDDL, etc. Una vez modelado, el plan puede resolverse mediante uno de los muchos algoritmos / heurísticos de planificación, que generalmente son algoritmos de búsqueda de espacio de estados. Los enlaces de Wiki deberían ayudarlo a comenzar. Un capítulo de planificación en cualquier libro de texto de IA también puede ayudar. Un ejemplo de planificador PDDL es el software GraphPlanner .

Por supuesto, algunas instancias bastante degeneradas de este problema pueden ser equivalentes a TSP, este problema no es, en general, el mismo que TSP, ni es Set TSP. Tanto en TSP como en Set TSP, el conjunto de ciudades (almacenes) a visitar está predefinido. Aquí, realmente no nos importa qué almacenes se visitan, sino que solo nos preocupamos por cumplir un pedido de la manera más económica y eficiente posible. Podría tener órdenes que no se pueden cumplir. Un planificador volverá con un plan vacío o parcial en tal caso, un informe de no satisfacción. En general, se sabe que el problema de la capacidad de saturación del plan es completo para PSPACE. En TSP o Set TSP, siempre existe un recorrido óptimo, aunque puede que no sea único.

rrufai
fuente
Me resulta difícil creer que esos problemas de planificación no sean NP-hard. ¿Puedes dar una referencia que lo diga / lo pruebe?
Raphael
@Raphael: Claramente, si buscamos planes óptimos en general, el problema es PSPACE-complete o NP-complete . Sin embargo, los planificadores no siempre devuelven un plan óptimo, ya que esto no sería práctico en general.
rrufai