You are on page 1of 9

PROBLEMA DEL AGENTE VIAJERO

Diego Parra
Victor Puerto

El problema del agente viajero es uno de los problemas ms estudiados en Inteligencia artificial
e investigacin Operativa. Este se centra en estudiar problemas de la siguiente clase: un
comercial debe visitar varios clientes y desea conocer cul es el camino de mnima distancia
que, partiendo de su lugar de trabajo, vaya a todas las ciudades y regrese.

Este problema de apariencia sencilla es famoso por su gran complejidad computacional.
Puesto que encuadra dentro de la categora NP-hard por lo que, al da de hoy, no se ha
encontrado ningn algoritmo que logre resolverlo en un tiempo polinmico. No obstante, su
importancia no se debe nicamente a la complejidad de su resolucin, sino a la gran variedad
de situaciones prcticas en las que puede ser aplicado. La mayor parte de estas se encuentran
en el campo de la logstica (reparto de mercancas, correo, rutas escolares), aunque tambin
podemos encontrar aplicaciones de estos problemas en industria (produccin de circuitos
integrados) o en gentica.

PROBLEMAS DE RUTAS (Clasificacin del problema del agente viajero)

La importancia de esta clase de problemas se debe al gran nmero de situaciones de logstica
y distribucin reales en las que se puede aplicar. Debido al potencial ahorro de estas tcnicas,
las inversiones en investigacin y software de las empresas relacionadas con el sector logstico
han ido aumentando considerablemente en los ltimos aos.

En el siguiente cuadro se encuentran los tipos ms importantes de problemas de rutas junto
con los nombres que histricamente han recibido.


Como se puede observar en el cuadro, existen dos grandes tipos de problemas de rutas segn
los clientes se encuentren sobre los nodos o sobre los arcos. En el primero de los casos, la ruta
ptima a determinar debe visitar todos los nodos, mientras que, en el segundo, se deben
recorrer todos los arcos del grafo que define el problema.

Los problemas de rutas sobre nodos tienen su origen en el siglo XIX cuando el irlands W.R.
Hamilton y el britnico T. Kirkman inventaron el denominado Icosian Game". Este juego
consista en encontrar una ruta entre los 20 puntos del juego usando slo los caminos
permitidos y regresando al nodo origen.

Los problemas de rutas sobre arcos tienen su origen en el siglo XVIII cuando los habitantes de
Konigsberg, un pequeo pueblo de la actual Rusia, empezaron a debatir si exista alguna ruta
que pasase una nica vez por los siete (7) puentes que atravesaban el ro Pregel y volviese al
punto de origen.

EL PROBLEMA DEL VIAJERO ANDANTE(Traveling Salesman Problem)

El problema del viajante (TSP) es uno de los problemas ms famosos y mas estudiados en su
rea. A pesar de la aparente sencillez de su planteamiento, el TSP es uno de los ms
complejos de resolver.

El problema del agente viajero (TSP), consiste en un agente de ventas que tiene que visitar, n
ciudades, comenzando y terminando en la misma ciudad, visitando nicamente una vez cada
ciudad, y haciendo el recorrido de costo mnimo, que puede estar expresado en trminos de
tiempo o distancia, es decir, recorrer el mximo de kilmetros o llevar a cabo un recorrido en el
menor tiempo posible.

APLICACIONES DEL TSP

La mayor parte de las mejoras en TSP durante los primeros aos estaban motivadas por
aplicaciones directas del mismo. El TSP se ha aplicado sobre una gran variedad de problemas
que van desde rutas de vendedores hasta la gentica. A Continuacin, se comentan
brevemente algunas de las aplicaciones ms importantes del problema del viajante:

Logstica:

Las aplicaciones ms directas y ms abundantes del TSP se centran en el campo de la
logstica. El flujo de personas, mercancas y vehculos en torno a una serie de ciudades o
clientes se adapta perfectamente a la filosofa del TSP, como ya demostraron los primeros
estudiosos del problema. Entre las mltiples aplicaciones logsticas del problema del viajante,
se destacan:


Vendedores y turistas
Aunque los viajes que se realizan por placer o por negocio rara vez se plantean como un TSP,
la mayor parte de los vendedores y turistas utilizan algn planificador de rutas para determinar
cul es el mejor camino para visitar los puntos que desean y volver al punto de origen Estos
planificadores generalmente incluyen algn algoritmo de resolucin del TSP.

Rutas escolares
Las rutas escolares representan una de las primeras aplicaciones del TSP (El matemtico
Merrill Flood se interes por el problema del viajante cuando estaba intentando determinar una
ruta escolar ptima). Actualmente, muchas empresas dedicadas al transporte de personas
adquieren software de resolucin de TSP que les permite reducir gastos de una manera
significativa.

Reparto de correo
Aunque generalmente el reparto de correo se ajusta mejor a un problema de rutas sobre arcos,
en ocasiones el reparto de correo puede modelarse como un TSP. Se trata de los casos en los
que las casas estn muy alejadas unas de otras o cuando slo se debe visitar algunas de ellas
. Este esquema es aplicable al reparto de cualquier otro tipo de mercanca.


Industria

Las aplicaciones en industria no son tan numerosas como en logstica, pero la aplicacin del
problema en este mbito tambin ha dado lugar a una significativa reduccin de los costes.
Entre las aplicaciones a la industria se encuentran:



Secuenciacin de tareas
Supongamos que una mquina debe realizar una serie de tareas en el mnimo tiempo posible y
sin importar el orden de las mismas. Supongamos que se tarda un tiempo tij en poner a punto
la mquina para realizar la tarea j si la ltima tarea que realiz fue la i. En ese caso, podemos
aplicar un TSP suponiendo que cada tarea es uno de los nodos a visitar, han de realizarse
todas las tareas para producir el producto y que la distancia entre ellos es tij. El nodo origen y
destino sern el estado de la mquina cuando empieza o termina el producto. Dado que el
tiempo que se emplea en realizar cada tarea no depende del orden, no ser necesario incluir
estos tiempos en el modelo, pues la suma de todos es constante independientemente del
orden.

Produccin de circuitos electrnicos

La utilizacin del TSP para la produccin de circuitos electrnicos se centra en dos aspectos: el
orden ptimo de taladrar las placas y los caminos ptimos necesarios para conectar los chips
entre s.
Taladrar placas: El TSP en este campo consiste en, tomando como ciudades
cada una de las posiciones donde debe realizarse una perforacin y las distancias entre
ellas como el tiempo que necesita la mquina en trasladarse de una a otra, minimizar el
tiempo que pierde la taladradora en moverse de una posicin a otra.
Conectar chips: Este tipo de ejemplos se da frecuentemente en el diseo de
ordenadores y de otros dispositivos digitales. Dentro de muchos de estos dispositivos
existen placas que cuentan con chips que deben ser conectados entre s por cables.
Para evitar problemas de interferencias y debido al pequeo tamao de los chips, no se
pueden poner ms de dos cables en un nico pin. La idea es, por tanto, minimizar la
cantidad de cable necesaria para unir todos los puntos. Claramente este modelo puede
ser modelado como un TSP tomando los pines como las ciudades y la distancia entre
ellas, la cantidad de cable necesario para unirlas.

Creacin de clster de datos.
La organizacin de datos en grupos (clusters) de elementos con propiedades similares es un
problema bsico en anlisis de datos. El problema del viajante ha sido aplicado frecuentemente
en problemas de este tipo cuando existe una buena medida de la similitud s(a; b) entre cada
pareja de datos (a; b). La idea es que, usando s(a; b) como distancias, un camino Hamiltoniano
de coste mximo situara las observaciones ms parecidas cerca unas de otras y se podr, por
tanto, utilizar intervalos del camino como clusters. Cabe destacar que se busca un camino de
coste mximo, puesto que la medida de similitud toma un valor mayor cuanto ms prximas
estn las observaciones entre s.


ALGORITMOS TSP

Tres algoritmos master -worker diferentes para obtener la solucin exacta TSP en una mquina
paralela se desarrollaron con el fin de analizar la influencia de los diferentes niveles de
indeterminismo en la prediccin del rendimiento.
Cada ciudad est representada por dos coordenadas en el plano euclidiano. Considerando C
diferentes ciudades, el maestro define un cierto nivel L para dividir las tareas. Las tareas son
las permutaciones posibles de C- 1 ciudades en L elementos. La granularidad G, de una tarea
es el nmero de ciudades que define la tarea subrbol: G = C - L.
Al inicio de la ejecucin el maestro enva las ciudades coordina a todos los trabajadores.
Un diagrama de las permutaciones posibles para el 5 ciudades, considerando las aperturas
vendedor y termina su viaje en la ciudad 1 , se puede ver en la siguiente figura.
El maestro puede dividir este problema en 1 tarea de nivel 0 4 tareas de nivel 1 o 12 tareas
de nivel 2, por ejemplo. Las tareas del primer nivel estaran representados por las ciudades 1 y
2 para la primera tarea, 1 y 3 para el segundo, seguido de 1 y 4 y 1 y 5







Los trabajadores son responsables para el clculo de la distancia de las permutaciones que
quedan en la tarea y enviar al maestro el mejor camino y la distancia de estas permutaciones.

Una de las caractersticas de la TSP es que una vez que la distancia de un camino es superior
a la distancia mnima ya computado es posible podar este rbol de ruta.
Un proceso de poda se ilustra en la figura. 2 donde cada flecha tiene la distancia entre las dos
ciudades que conecta.

La distancia total para la primera trayectoria seguida (en la izquierda) en la figura. 2 es de 38
unidades. La distancia entre 1 y 2 en el segundo camino (en la derecha) es 42 unidades. A
continuacin, no es necesario que el algoritmo siga el clculo de distancias desde la ciudad 2
porque es imposible llegar a una mejor distancia para esta rama.

Los algoritmos TSP difieren sobre la estrategia de la poda. En el primer enfoque, que se llama
exhaustiva (algoritmo a), no hay poda y la distancia para el conjunto de las permutaciones
posibles se calcula.
Se espera un comportamiento predecible para este enfoque porque la cantidad de operaciones
no cambia con los datos de entrada, pero el verdadero problema es su costo prohibitivo en
trminos de complejidad de tiempo. Para el segundo enfoque, llamado poda tarea (algoritmo de
b), cada trabajador comienza una tarea sin distancia mnima y ciruelas pasas con las distancias
que se encuentran dentro de la tarea.
En el tercer enfoque, la poda mundial (algoritmo c), el maestro enva tareas con una variable
que contiene la longitud del camino ms corto encontrado hasta ahora y los trabajadores podar
siempre que sea posible; Si la longitud de una ruta parcial es ms grande que la longitud
mnima cantidad de corriente, este camino no se expande ms all y una parte del espacio de
bsqueda se poda.

Algoritmo de peces artificiales (Artificial fish algorithm)

Este algoritmo consiste en optimizar el comportamiento natural (movimiento) de los peces en
grandes bancos o cardmenes, en momentos como bsqueda de comida y huida de
depredadores, as como la cooperacin entre los diferentes bancos de peces, por lo que logra
la optimizacin.

Proceso de solucin del problema TSP basado en peces artificiales:

a) En un primer momento, el lugar original de n peces form estocsticamente, suponiendo que
el parmetro del algoritmo de pescado. Incluyendo el tamao de la dimensin de pescado, el
mayor tiempo repetido, el rango de factor de percepcin visual de la congestin.
b) Clculo de la densidad de los alimentos de los individuos iniciales de peces artificiales en el
lugar definido, comparar sus tamaos mutuamente, encontrar el mximo de la situacin
presente y mantener sus estados.
c) La ejecucin de algoritmo de peces artificiales (AFA).
d) Despus de cada pez artificial alternando una vez, evaluar su resultado X y Xmax de toda
situacin, si
XX> max, en sustitucin de su condicin con la mejor condicin actual, otro modo presentando
la mejor condicin presente.
e) repetir la etapa (c) hasta que X llega a la ms grande nmero alternativo, por lo que el final
mxima de toda situacin es la mejor respuesta.

El algoritmo de peces artificiales posee capacidad muy fuerte de toda situacin de bsqueda,
sin embargo, cuando la regin de bsqueda es pequea, el pez artificial, que se mueve sin
rumbo y al azar, no puede saltar fuera de la regin indicada.


VARIANTES DEL TSP

Existen multitud de variantes al problema de viajante general, tal cual se ha explicado
anteriormente. Seguidamente se enumeran algunas de ellas:

MAX-TSP: Consiste en encontrar un circuito hamiltoniano de coste mximo.

TSP con cuello de botella: Consiste en encontrar un circuito hamiltoniano tal que
minimice el mayor coste de entre todas las aristas del mismo, en vez de minimizar el
coste total.

TSP grfico: Consiste en encontrar un circuito de coste mnimo tal que se visiten las
ciudades al menos una vez.

TSP agrupado: Los nodos o ciudades estn divididos en clusters" o grupos, de manera
que lo que se busca es un circuito hamiltoniano de coste mnimo en el que se visiten los
nodos de cada grupo de manera consecutiva.

TSP generalizado: Los nodos o ciudades tambin estn divididos en grupos, pero lo que
se busca es un circuito de coste mnimo que visite exactamente un nodo de cada grupo.

TSP con mltiples viajantes: Existen un nmero m de viajantes, cada uno de los cuales
debe visitar algunas de las ciudades. El problema se transforma, por tanto, en la
bsqueda de una particin de los nodos a visitar X1: Xm y de m ciclos, uno para cada
Xi, de manera que la suma de las distancias recorridas por los m viajantes sea mnima.
Esta variante del TSP puede ser vista tambin como una simplificacin de los
problemas de rutas de vehculos, que sern estudiados en la siguiente seccin.

En la siguiente figura puede observarse un ejemplo de las variantes del TSP explicadas
anteriormente






En cuanto a las soluciones ptimas, no existen mtodos que resuelvan de manera exacta
cualquier TSP, pero s que existen soluciones exactas para algunos casos concretos. A lo largo
de los ltimos cincuenta aos se han producido continuos avances en la resolucin ptima del
TSP, lo que ha permitido obtener soluciones ptimas para TSP con cada vez mayor nmero de
nodos, hasta alcanzar una cifra de casi 86.000.



REFERENCIAS

http://catarina.udlap.mx/u_dl_a/tales/documentos/lii/martinez_g_ag/capitulo2.pdf

http://www.math.uwaterloo.ca/~bico/papers/tsp_icm.pdf

http://eio.usc.es/pub/mte/descargas/ProyectosFinMaster/Proyecto_762.pdf

http://www3.alcatel-lucent.com/bstj/vol44-1965/articles/bstj44-10-2245.pdf

Wang Jian-ping; Hu Meng-jie, "A Solution for TSP Based on Artificial Fish Algorithm,"
Computational Intelligence and Natural Computing, 2009. CINC '09. International
Conference on , vol.2, no., pp.26,29, 6-7 June 2009 doi: 10.1109/CINC.2009.72
URL:http://biblio.uptc.edu.co:2093/stamp/stamp.jsp?tp=&arnumber=5231047&isnumber=5
230911

Fritzsche, P.C.; Rexachs, D.; Luque, E., "TSP Performance Prediction Using Data Mining,"
Intelligent Data Acquisition and Advanced Computing Systems: Technology and
Applications, 2007. IDAACS 2007. 4th IEEE Workshop on , vol., no., pp.425,430, 6-8 Sept.
2007
doi: 10.1109/IDAACS.2007.4488453 URL:
http://biblio.uptc.edu.co:2093/stamp/stamp.jsp?tp=&arnumber=4488453&isnumber=448835
9

You might also like