Agente Viajero



Comments



Description

Agente Viajero: Simple y Múltiple (Grupo 5) Agente Viajero Simple y Múltiple El Problema del Agente Viajero (PAV) o Traveling Salesman Problem (TSP) es un problema que se estudia en Investigación de Operaciones como parte de la toma de decisiones en las organizaciones. Este problema se plantea la siguiente pregunta: Dada una lista de ciudades y las distancias entre cada par de ciudades, ¿cuál es la ruta más corta posible que visita cada ciudad exactamente una sola vez y vuelve a la ciudad de origen? A este tipo de problemas a las ciudades se les define como nodos y a los caminos entre las ciudades se les llama arcos. Los arcos pueden ser dirigidos y no dirigidos. Si el arco es dirigido solo se puede ir desde el nodo inicial hasta el nodo final, es decir, una calle con un solo sentido, y si el arco es no dirigido, significa que los nodos se pueden recorrer en ambos sentidos. A cada arco se le puede asociar una distancia o un costo. El objetivo principal es ayudar al agente viajero a que dado n ciudades, siendo el Cij el costo o distancia del viaje, desde la ciudad i hasta la ciudad j, encontrar una ruta o un camino que sea el más corto posible y que regrese a su ciudad de partida. Si Cij = Cij para todos las ciudades, el problema es simétrico y si Cij ≠ Cij para un par de ciudades, entonces el problema es asimétrico. Problema del Agente Viajero Simétrico Conocido como el Symmetric Traveling Salesman Problem (TSP o PAV). Dado un conjunto de n nodos y distancias para cada par de nodos, encontrar una longitud total mínima que visite cada uno de los nodos exactamente una vez. La distancia del nodo i al nodo j es la misma que del nodo j al nodo i. Problema del Agente Viajero Asimétrico X45. estas restricciones no bastan para garantizar que se está optimizando sobre recorridos. pero a medida que crece el número de ciudades.X53.2. n+1) Para garantizar que se sale de cada ciudad exactamente una vez: (i= 0. en el caso de seis ciudades haciendo 1 variables X 01. es decir. la distancia del nodo i al nodo j y la distancia del nodo j al nodo i puede ser diferente. que las soluciones factibles son sólo recorridos. Para formular el TSP como un problema de programación entera se usa la variable Xij que toma el valor de 1 si el arco (i.X012.. y el valor de 0 en cualquier otro caso. se satisfacen todas estas restricciones.…….Conocido como Asymmetric Traveling Salesman Problem (ATSP). el tiempo para obtener una solución óptima crece más. porque permiten la existencia de subrecorridos: Por ejemplo.. La formulación de este problema es la siguiente: Sujeto a las siguientes restricciones.j) es usado. Dado un conjunto de nodos y distancias para cada par de nodos. En este caso.. n) Sin embargo. Formulación del El Problema del Agente Viajero (PAV) o Traveling Salesman Problem (TSP) El TSP presenta una gran facilidad para formularse.…. hay que añadir restricciones adicionales.X26. Para restringir sólo a recorridos. Para garantizar que se llega a cada ciudad exactamente una vez: (j= 1. encontrar una ruta de longitud total mínima que visite cada uno de los nodos exactamente una vez. Esto es. Una forma de hacerlo es que en cada recorrido para .1. Vehicle Routing Problem). los métodos de Inserción y de Ahorros.n. El objetivo en este caso será minimizar el tiempo total de cambio de referencia. Existen también métodos de solución Heurística que buscan explotar la estructura del problema para obtener soluciones en tiempos muy cortos. − Optimización de rutas en el Problema de enrutamiento de vehículos: Una de las aplicaciones de mayor importancia que se le ha asociado al TSP es su relación con el Problema de enrutamiento de vehículos (VRP.).youtube. debe haber un arco que vaya a su complemento y otro que venga.…. Un vehículo o una persona debe recoger todos los artículos que luego serán enviados al cliente.com/watch?v=xZXm2bM_MdI .1. Entre estos métodos se cuentan el vecino más cercano (Nearest Neighbor. La relación con el TSP es inmediata. − Recolección de órdenes en bodegas y centros de distribución: Este problema está asociado con la recolección de materiales en las bodegas. Se puede ver la resolución de este método a través del siguiente link: http://www. Por su gran facilidad para ser formulado y por su gran adaptabilidad a múltiples situaciones prácticas el TSP ha sido uno de los problemas de optimización que mayor interés ha despertado a los investigadores en las áreas de matemáticas discretas. Algunos casos especiales del problema pueden resolverse fácilmente.. Suponiendo que una orden que llega requiere un subconjunto de los artículos almacenados en la bodega.cada subconjunto de índices de N= 0. Los lugares de almacenamiento de los artículos corresponden a las ciudades. computación e investigación de operaciones. El problema de encontrar la ruta más corta es decir con el tiempo de recogida más pequeño se puede resolver como un TSP. la distancia entre dos ciudades está dada por el tiempo requerido para desplazarse desde una localización a otra. El TSP se puede asociar con gran facilidad a múltiples problemas prácticos tales como: − Programación de tareas en máquinas: Aunque poco parecido a un TSP. En general. para cualquier L ⊆ N con 2 ≤ |L| ≤ n−1 (los de tamaño 1 ya están) las restricciones son satisfechas por todo tour pero todo subtour viola al menos una de ellas. esta situación se puede formular de la misma manera. Cada tarea se puede ver como una de las ciudades a visitar y el tiempo necesario para cambiar de tarea será la distancia que hay entre una ciudad y otra. El programa de producción diaria de Rainbow Company lotes de pinturas blanca (W). en minutos. Como un color no puede seguir así mismo. La siguiente tabla indica que W->Y ->R->B->W es el ciclo óptimo. El caso se reduce así a determinar el circuito más corto que se inicie en el lote de pintura y pase exactamente una vez por cada uno de los tres lotes restantes. Este problema se puede resolver enumerando exhaustivamente de los seis [(4 -1)! =3!=6] bucles posibles de la red. donde al color del renglón sigue el color de la columna. el tiempo de limpieza es de 10 minutos. que minimice el tiempo total de limpieza necesario. roja (R) y negra (B). cuando después de la pintura blanca sigue la amarilla. a los elementos correspondientes se les asigna un tiempo de preparación infinito.A continuación. La siguiente tabla resume el tiempo de limpieza. para regresar al punto de partida. Por ejemplo. Ciclo de producción: W -> Y ->B ->R ->W W -> Y ->R ->B ->W W -> B ->Y ->R ->W W -> B ->R ->Y ->W W -> R ->B ->Y ->W 10+19+25+45=99 10+18+20+50=98 17+44+18+45=124 17+25+40+20=102 15+20+44+20=99 . se mostrará un ejemplo extraído del libro: Investigaciones de operaciones de Handy Taha. Determinar la secuencia óptima para la producción diaria de los cuatro colores. es necesario hacer una buena limpieza entre los lotes. Minutos de limpieza si la siguiente pintura es Pintura actual Blanca Amarilla Negra Roja Blanca ∞ 20 50 45 Amarilla 10 ∞ 44 40 Negra 17 19 ∞ 20 Roja 15 18 25 ∞ Pintura actual Blanca Amarilla Negra Roja Blanca ∞ 20 50 45 Amarilla 10 ∞ 44 40 Negra 17 19 ∞ 20 Roja 15 18 25 ∞ Se puede concebir que cada pintura es una “ciudad” y que las “distancias” representan el tiempo de limpieza necesario para cambiar de un lote de pintura al siguiente. Como Rainbow usa las mismas instalaciones en las cuatro clases de pintura. amarilla (Y). y cero en caso contrario. El uso de M en la Función Objetivo garantiza que un lote de cierta pintura no siga de otro de la misma pintura. Sea M con un valor positivo suficientemente grande. XWW+ XWY+ XWB+ XWR= 1 XYW+ XYY+ XYB+ XYR= 1 XBW+ XBY+ XBB+ XBR= 1 XRW+ XRY+ XRB+ XRR= 1 XWY+ XYY+ XBY+ XRY= 1 XWB+ XYB+ XBB+ XRB= 1 XWY+ XYR+ XBR+ XWR= 1 Xij = (0. Ejemplo del problema Agente Viajero Simple en Winqsb . se puede formular el problema de Rainbow: Minimizar Z= MX WW + 10X WY + 17X WB+ 15X WR+ 20X YW+ MX YY+ 19X YB + 18X YR+ 50X BW+ 44X BY+ MXBB+ 25X BR + 45X RW+ 40X RY+ 20X RB+ MX RR Sujeto a.1) para toda i y j La solución es un ciclo.W -> R -> Y ->B ->W W -> Y ->B ->R ->W W -> Y ->R ->B ->W 15+40+19+50=124 10+19+25+45=99 10+18+20+50=98 W -> B ->Y ->R ->W 17+44+18+45=124 W -> B ->R ->Y ->W 17+25+40+20=102 W -> R ->B ->Y ->W 15+20+44+20=99 W -> R -> Y ->B ->W 15+40+19+50=124 Para resolver la formulación del problema de pinturas basadas en asignación se define a: Xij= 1 si es pintura j sique a las pintura i. . Ejemplo del problema Agente Viajero Simple con Sort de EXCEL En el siguiente link se podrá encontrar un ejemplo de un problema de Agente Viajero Simple resuelto con la herramienta de EXCEL llamada . cada ruta conserva las mismas condiciones de un TSP (Parten desde la ciudad origen recorren un número n de ciudades. − Cargos Fijos: Cuando el número de vendedores en el problema no es fijo.html El problema de Agente Viajero Múltiple o Multiple traveling salesman problem (m-TSP) Para clarificar aún más la utilidad que tiene el TSP se explicará una de sus extensiones. El m-TSP consiste en determinar un conjunto de rutas para m vendedores quienes parten al mismo tiempo y después de haber realizado su ruta retornan al punto de partida. − Número de vendedores: El número de vendedores en el problema es un parámetro establecido a priori o puede tratarse como una variable cuyo valor resulta de la solución del m-TSP.prenhall. el m-TSP (Multiple Traveling Salesman Problem) en el cual hay m agentes viajeros. cada ciudad es visitada solo una vez y retornan a la ciudad origen). Su formulación es la siguiente: El m-TSP tiene algunas variantes importantes: − Uno o varios lugares de despacho: En el caso de un solo lugar de despacho los vendedores empiezan y terminan el viaje desde un mismo punto.cw/ index. Además se debe considerar la asignación de los vendedores a los centros de despacho. Mientras que en el otro caso pueden empezar en uno y terminar en otro. a cada vendedor se le asocia un costo en el cual se incurre cuando el vendedor es . El m-TSP busca minimizar el costo total para visitar todas las ciudades.com/esm_tannenbaum_excursions_5/14/3688/944318.Sort: http://wps. así como entre ellas. Orestes Manzanilla. entonces agregar "m-1" ciudades de "inicio" (normalmente hay sólo una). para el problema de ruteo de vehículos. d) Aplicar la misma heurística que para el problema de Agente Viajero Simple. Las indicaciones son las siguientes: a) Si hay "m" viajeros. deben ponerse como "infinito". en este caso. − Otras variantes especiales: Las cuales tienen restricciones sobre el número de ciudades que pueden visitarse en cada viaje o la distancia máxima o mínima que puede tener un viaje. que es el mismo problema de Ruteo de Vehículos. ha dichos robots se les asignan un número de tareas especificadas. . − Robótica: los robots con el tiempo han tenido cada día más utilizaciones tanto en las empresas como en los hogares. horarios de aerolíneas y en navieras. debe redireccionarse a la ciudad origen ficticia f)Se finaliza el ejercicio Referencia: Prof. se mostrará una forma en que se puede resolver un problema o ejercicio de Agente Viajero Múltiple: Hay una "transformación" para resolver el problema de Agente Viajero Múltiple. − Ventanas de tiempo (m-TSPTW): Aquí determinados nodos necesitan ser visitados en periodos específicos de tiempo (conocidos como ventanas de tiempo). cada "ida" o "venida" a una de las m-1 ciudades origen ficticias. se puede obtener una solución. el volumen pequeño de las cartas hace que no haya restricciones de capacidad de los viajeros y por eso puede modelarse como un m-TSP.utilizado en la solución del problema. c) Las distancias entre las ciudades de inicio (las m-1 ficticias y la real) y las ciudades donde se va a "vender" deben definirse como "0" en la matriz de distancias. teniendo este caso específico utilización en ruteo de buses escolares. Siguiéndola. e) Al considerar el resultado. − Enrutamiento de buses escolares: el objetivo es minimizar tanto el número de buses como la distancia total del recorrido de cada uno de estos. en este caso la minimización del número de vendedores utilizados puede ser el objetivo. pero no óptima. A continuación. b) Las distancias que hay entre las ciudades de inicio y la ciudad de inicio de los viajeros. la relación que tiene con el m-TSP consiste en encontrar la ruta más eficiente para que un conjunto de robot realice sus tareas. Algunas de las aplicaciones para el m-MTSP son: − Recogida postal: el problema consiste en determinar las distintas rutas para los mensajeros con el mínimo costo posible. usando el mismo método en EXCEL que para el Agente Viajero Simple y que se encuentra en el link anteriormente escrito. 2007). se debe encontrar la ruta de costo mínimo para visitarlas todas pasando sólo una vez por cada una de ellas.org/ Artículo volver Estudio de heurísticas para el problema del Agente Viajero Asimétrico Nancy Aracely Arellano Arriaga1 Egresada de la Facultad de Ciencias Físico Matemáticas Irma Delia García Calvillo2 Centro de Investigación en Matemáticas Aplicadas Cuerpo Académico de Análisis Numérico y Optimización Facultad de Sistemas Universidad Autónoma de Coahuila CIENCIACIERTA No. Se puede describir de la siguiente forma: Dadas n ciudades y el costo Cij que se tiene al viajar de una ciudad a otra. Lenstra. Bixby.mx 1 El Problema del Agente Viajero (Traveling Salesman Problem. y Lawler. 1998. El TSP es muy popular. Cook. y regresando a la de partida.30 • Abril . se encuentran: Reparto de productos. pero sigue siendo difícil de resolver. TSP.uadec. Chvatal y Cook.http://www.com 2 Autor para correspondencia:[email protected] 2012 Autor para correspondencia: nya. Chvatal.269@gmail. Entre sus amplias aplicaciones (Applegate. Donde se puede mejorar una ruta . pero difícil de resolver. Bixby. A cada ruta se le llama tour o ciclo hamiltoniano. Su popularidad se debe a que es fácil de plantear. Rinnooy y Shmoys. por sus siglas en inglés) es quizá el más estudiado de los problemas de optimización combinatoria (Applegate.cio2014. 1985). Fuente: Becker (2004). Permite resolver problemas de fabricación para minimizar el número de desplazamientos al realizar una serie de perforaciones en una plancha o en un circuito impreso. Otro ejemplo similar es el caso donde un grupo de la Universidad de Maryland modeló el problema de los horarios de una tripulación barquera para que visitaran aproximadamente 200 estaciones en la bahía de Chesapeake.de entrega para seguir la más corta. esto es. Transporte. no es el mismo que el que se tiene de viajar de la ciudad j a la ciudad i. Aun cuando los agentes de viajes no tienen un conocimiento explícito del Problema del Agente Viajero. En las aplicaciones. Secuencias. se tiene que el modelo . Modelo matemático Si se considera una matriz de distancias Cij. el costo que se genera de viajar de la ciudad i a la ciudad j. donde matemático del TSP es el siguiente (Öncan et al. f. en general. Donde se refiere al orden en el cual n trabajos tienen que ser procesados de tal forma que se minimice el costo total de producción. 2009): . la solución es una permutación de las n ciudades dadas. sin embargo. porque al cambiar la dirección de la ruta ésta no cambia y sigue siendo la misma. Pulleyblank (s. 2009). En el Problema del Agente Viajero. Inspecciones a sitios remotos. abanderados con el lema de “La distancia más corta entre dos puntos no es divertida”. no buscan tours óptimos. Para ambos casos la formulación matemática es la misma. y para el segundo no. Se han desarrollado formulaciones matemáticas específicas para el caso asimétrico (Öncan. Mejorando la distribución del camino seguido usando el de menor longitud. con la diferencia de que la matriz de costos para el primero es simétrica. El Problema del Agente Viajero en su forma asimétrica tiene (n-1)! rutas posibles. Estos paquetes son capaces de resolver instancias pequeñas del TSP.. tanto el caso simétrico como el asimétrico son sumamente importantes. Kuban y Laporte. Estandarizar los horarios de los transportes es claramente una de sus aplicaciones. y se divide en dos tipos: TSP simétrico (STSP): En este caso. es decir. la matriz de costos Cij es simétrica. La forma simétrica tiene tours. la matriz de costos Cij no es simétrica. tanto que existen empresas que se especializan en ayudar a las escuelas a programarlos para optimizarlos en base a una solución del TSP. es decir. (n-1)! posible soluciones.) reportó el uso del TSP para crear rutas a una firma petrolera que deseaba inspeccionar 47 plataformas ubicadas en las costas de Nigeria. Turismo y agencias de viajes. la parte simétrica ha sido más explorada en cuanto a investigación y desarrollo de algoritmos para resolver el TSP.A) completo y las variables de decisión Xij como variables binarias. TSP asimétrico (ATSP): En este caso. en este ejemplo las plataformas fueron visitadas vía aérea. el costo que genera viajar de la iudad i a la ciudad j es el mismo que el que se tiene al viajar de la ciudad j a la ciudad i. Robótica. las compañías dedicadas a este giro utilizan un software que hace todo el trabajo. Horarios de transportes laborales y/o escolares. En general. un grafo G=(V. Realmente esta es la restricción que complica el modelo al tener un crecimiento exponencial. intentan descartar familias enteras de posibles soluciones. calcular sus costos asociados. Heurísticas. haciendo que sea difícil resolverlo.Con las restricciones (1) y (2) se indica que se entra y se sale de cada ciudad una sola vez. Cada una de estas restricciones tiene una cardinalidad n. Es decir. La restricción (3) garantiza que no habrá subtours en la solución. al no permitir que se pase más de una vez por la misma ciudad. tratando así de acelerar la búsqueda y llegar a una óptima. y Ramificación y Corte. ya que se tiene una restricción por cada subconjunto del conjunto de vértices. También llamados algoritmos óptimos. Es decir. Los que más se usan para resolver el TSP son Ramificación y Acotamiento. es un . propiamente dicho como NP-Completo. Métodos exactos. enlistar todas las posibles soluciones al problema. Son métodos obtienen buenas soluciones en tiempos de cómputo muy cortos. por comparación. El TSP es un problema considerado difícil de resolver. El Problema del Agente Viajero puede resolverse de diferentes maneras: Enumeración de todas las soluciones factibles. cuál es la solución con el costo más conveniente. e identificar. Esta restricción tiene una cardinalidad 2 n. aunque sin garantizar la optimalidad de la solución. sin ver que esto puede obligarle a tomar malas decisiones posteriormente (Johnson et al. el agente viajero se mueve a la ciudad más próxima a la de donde se encuentra. Gutin. por esto.problema para el que no podemos garantizar que se encontrará la mejor solución en un tiempo de cómputo razonable. Los vértices eliminados se reinsertan al tour resultante de la forma más barata posible. Heurísticas Las heurísticas son métodos inteligentes que buscan una buena solución en un tiempo de cómputo razonable. Heurísticas de búsqueda local. de tal forma que. Es una heurística miope. ya que en una iteración3 escoge la mejor opción que tiene disponible. Procedimientos que se encargan de obtener una solución a partir de un criterio inicial.. Lyle. 2002). . de todas las opciones. McGeoch y Zhang. 2001): Heurísticas constructivas. 2000): El vecino más cercano (heurística constructiva). La idea central de esta heurística está basada en el algoritmo de inserción aleatorizada.. esto es. Esta heurística se basa en la idea de moverse de una ciudad a la siguiente. después elegir una trayectoria de forma aleatoria. pero sin garantizar que ésta sea la óptima (Johnson et al. Yeo y Zverovich. ubicando mínimos locales. construyen una solución factible. Heurísticas combinadas: Procedimientos que constan de una heurística constructiva y una heurística de búsqueda local. cuando una instancia de grandes dimensiones se resuelve con algún método exacto. Con el uso de heurísticas se tienen soluciones de muy buena calidad en tiempos de cómputo mucho más pequeños. 2002). creando un mejor tour que el inicial (Johnson et al. Fuente: Elaboración propia. Algunas heurísticas para el Problema del Agente Viajero Asimétrico son las siguientes (Cirasella. Procedimientos para mejorar soluciones ya encontradas. y consiste en crear una ruta inicial de la forma más económica posible. la ciudad elegida sea la más cercana a donde se encuentra ubicado el agente viajero (figura 1).. Inserción aleatorizada (heurística constructiva). 2005). toma un extenso periodo de tiempo. Existen diferentes tipos de heurísticas (Glover. En la heurística del vecino más cercano. 2002). Tratan de optimizar localmente alrededor de una solución. y eliminar los vértices que pertenecen a ella (Brest y Zerovnik. Figura 1. Fuente: Elaboración propia. obteniendo una nueva trayectoria asociada a una solución factible del problema. y reconectándolos de una manera diferente para obtener un nuevo ciclo (Johnson et al. esto es. Los resultados muestran el valor de la función objetivo. Todos los tiempos están dados en segundos. Búsqueda local (2-opt). . El movimiento 2-Opt consiste en eliminar dos aristas rompiendo una ruta inicial en dos caminos. Experimentación computacional Los algoritmos de las heurísticas descritas se implementaron computacionalmente. La heurística de Inserción aleatorizada consiste en crear una ruta inicial de la forma más económica posible.. y eliminar los vértices que pertenecen a ella. 2002). después elegir una trayectoria de forma aleatoria. la distancia total recorrida por el agente viajero y el tiempo total de la ejecución del algoritmo. Enseguida se muestran los resultados obtenidos al resolverlas con cada uno de los procedimientos heurísticos antes descritos. Cabe destacar que sólo existe una manera de reconectar el tour. Figura 2. y se resolvieron tanto instancias pequeñas como de la librería electrónica TSPLIB4. dos en algoritmos instancias constructivos pequeñas. es el algoritmo con . El movimiento 2-Opt consiste en eliminar dos aristas rompiendo una ruta inicial en dos caminos. son todos capaces con un En instancias grandes. la miopía del vecino más cercano se hace evidente. los de llegar al óptimo tiempo de cómputo pequeño. y reconectándolos de una manera diferente para obtener un nuevo ciclo. Conclusiones En general.Fuente: Elaboración propia. Figura 3. Fuente: Elaboración propia. sin embargo. Brest. Chvatal V. Cook. John Wiley & Sons.D.. G... Instance Generators. Para decidir qué algoritmo utilizar se debe ponderar tanto el tiempo que se tiene para dar una solución.J.. 2005. Unida a la inserción aleatorizada. Zhang.R.... Springer Lecture Notes in Computer Science 2153. pero es más tardada que el vecino más cercano.W. Computers and Operational Research. E. Bixby. “A comparative analysis of several asymmetric traveling salesman problem formulations”. 1985. Zerovnik. “The Asymmetric Traveling Salesman Problem: Algorithms.A.. The Traveling Salesman Problem and its Variations. “A heuristic for the Asymmetric Traveling Salesman Problem”.W.T. esto es.. La inserción aleatorizada ofrece soluciones de buena calidad aun en instancias grandes. Shmoys. Glover. el tiempo aumenta considerablemente. The 6th Metaheuristics International Conference. así como qué tan estricta es la exigencia de la calidad de la solución. A. 645-656.A.. “On the solution of the Traveling Salesman Problem”. “Construction Heuristics for the asymmetric TSP”.G. 2009. McGeoch.. 1998. 36 Issue III. Öncan. Cirasella. Referencias bibliográficas Applegate. European Journal of Operational Research 129 III. Zhang. DocumentaMathematica-Extra Volume ICM III. D.D. 32-59. L... 145-150. McGeoch. 2000. The Traveling Salesmen Problem: A Guided Tour of Combinatorial Optimization. A. Laporte. Kuban A.W. Lyle. 2002.. and Tests”.. 445-487. Lenstra. Gutin. Experimental Analysis of heuristics for the ATSP. J.F. sigue obteniendo muy buenas soluciones. 637-654 .. Zverovich. Yeo.J.J..A.. sin embargo. Zverovitch..el mejor tiempo de cómputo. Yeo. Rinnooy. 2001. Gutin. G.. Lawler. D.L. Johnson . el más rápido. 555568. La búsqueda local unida al vecino más cercano genera una mejora significativa sin comprometer el tiempo..
Copyright © 2024 DOKUMEN.SITE Inc.