Sei sulla pagina 1di 13

qwertyuiopasdfghjklzxcvbn

mqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjkl
Problema del Agente Viajero
zxcvbnmqwertyuiopasdfghj
klzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasd
fghjklzxcvbnmqwertyuiopa
sdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyu
iopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwe
rtyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzx
Alfaro Mostacero Rub

Gutirrez Valdivia Carolina


Lastra Bazn Maicol

Programacin Lgica

Programacin Lgica

Problema del Agente Viajero

Indice
Dedicatoria......................................................................................................... 2
Introduccin........................................................................................................ 3
Marco Terico...................................................................................................... 4
Ttulo:............................................................................................................... 4
El Problema del Agente Viajero........................................................................4
Definicin:........................................................................................................ 4
Responde a la siguiente pregunta:..................................................................4
Captulo I:

Descripcin del Problema................................................................5

Cmo funciona?............................................................................................. 5
Complejidad Computacional............................................................................ 5
Estructuras de datos utilizadas:.......................................................................5
Capitulo II: Fundamentacin............................................................................... 6
Algoritmo Base:............................................................................................... 6
Las variables empleadas:.................................................................................... 6
Aplicacin de TSP................................................................................................ 7
Algoritmos propuestos..................................................................................... 8
Captulo 3: Algoritmo........................................................................................ 9
Conclusiones:.................................................................................................... 11
Webgrafa.......................................................................................................... 11

Programacin Lgica

Problema del Agente Viajero

Dedicatoria
Este trabajo est dedicado para nuestra Escuela de Informtica de la
Universidad
investigacin,

Nacional

de

Trujillo,

enriquecimiento

de

como

fuente

nuestros

motivadora

conocimientos

de
la

motivacin de conocer nuevas reas que nos permitan incrementar


nuestras habilidades como informticos a travs de la resolucin de
nuevos casos de estudio.
Esperamos que sea gratificante para ustedes,

Programacin Lgica

Problema del Agente Viajero

Problema del Agente Viajero


Introduccin
El problema del viajante es uno de los problemas ms famosos de la matemtica
computacional. Pertenece a una serie de problemas que parecen tener una fcil
solucin pero en la prctica presentan una gran dificultad. Este problema en
concreto ha sido muy estudiado por sus mltiples aplicaciones en la optimizacin
de recursos, tanto en el campo empresarial (logstica de transporte) como en el de
la robtica (desplazamientos que se realizan al hacer un circuito impreso).
Plantea cmo un viajante podra empezar y terminar en una ciudad concreta,
pasando por todas las ciudades que estn en su mapa una sola vez, y por la
mnima ruta posible. A priori la solucin puede parecer sencilla, solo habra que
probar cul de las posibles combinaciones de rutas sera la ptima, lo que
llamamos por fuerza bruta. La dificultad aparece cuando el nmero de ciudades
es elevado, las posibles combinaciones aumentan de manera exponencial.
Los problemas cuyo aumento de datos hacen que el tiempo de resolucin (o
computacin) aumente exponencialmente, se les llama NP-completos. Por tanto, el
problema del viajante es NP-completo, ya que un aumento de ciudades eleva
exponencialmente el nmero de combinaciones posibles y, debido a esto, el
nmero de pruebas que hay que realizar para ver cul es la combinacin ptima,
incrementando exponencialmente el tiempo de resolucin. Aqu estriba su
impedimento en la prctica, si el nmero de ciudades es elevado no existe
computadora a nuestro alcance capaz de computar (o solucionar) el problema en
un tiempo razonable.

Programacin Lgica

Problema del Agente Viajero

Marco Terico
Ttulo:
El Problema del Agente Viajero

Definicin:
Responde a la siguiente pregunta:
Dada una lista de ciudades y las distancias entre
cada par de ellas. Cul es la ruta ms corta
posible que visita cada ciudad exactamente una
vez y regresa a la ciudad origen?

Este

problema

es

muy

famoso

en

la

matemtica

computacional.
La importancia es que como ste pertenece a una serie de
problemas que parecen tener una fcil solucin pero en la
prctica presentan una gran dificultad, permite desarrollar
de forma ordenada las percepciones brindadas, las acciones
a realizar, para as buscar una solucin ptima en sus
recursos.
Es importante definir en este tipo de problemas:

Los nodos
Las distancias
El objetivo
Heursticas

Programacin Lgica

Captulo I:

Problema del Agente Viajero

Descripcin del Problema

Cmo funciona?
Consiste en un agente de ventas que tiene n ciudades por
visitar, comenzando y terminando en la misma cuidad, visitando
solamente una vez cada cuidad, y haciendo que el recorrido sea el
costo mnimo, este costo puede estar expresado en trminos de
tiempo o distancia, es decir recorre el mnimo de kilmetros o lleva
a cabo un recorrido en el menor tiempo posible.
El problema consiste en encontrar una ruta que, empezando y
terminando en la misma ciudad, recorra slo una vez las ciudades
restantes y que a la vez esta ruta sea la mnima posible.
Los costos son simtricos en el sentido de que viajar desde la
ciudad X a la ciudad Y tiene el mismo costo que viajar desde la
ciudad Y a la ciudad X. La condicin de visitar todas las ciudades
implica que el problema se reduce a decidir en qu orden las
ciudades van a ser visitadas.

Complejidad Computacional
El problema del Vendedor Viajero es un problema NP Completo en
un orden de complejidad

exponencial, por ello, no existe una

solucin polinmica.
Podemos

aplicar

tcnicas

heursticas,

obteniendo

aproximadas en unos 97%, no necesariamente ptimas.

soluciones

Programacin Lgica

Problema del Agente Viajero

Estructuras de datos utilizadas:


Fue mediante rboles y puede representarse mediante grafos
El problema se puede moldear fcilmente mediante un grafo
completo dirigido, en donde los vrtices son las ciudades y los
arcos son los caminos, dichos arcos deben de tener un peso, y este
representa la distancia que hay entre dos vrtices que estn
conectados por medio de dicho arcos.

Capitulo II:

Fundamentacin

Algoritmo Base:
El Problema del Agente Viajero (TSP), es considerado como un
conjunto de grafos cuyas aristas son los posibles caminos que
puede seguir la entidad para visitar todos los nodos (ncan et al.,
2009), y cuyo algoritmo se puede representar de la siguiente
manera:
Definir el nmero de nodos, su posicin y el costo por cada arista
(i, j)
Donde i = ciudad 1 y j = ciudad 2
Elegir el nodo inicial i
Hacer
Si el nodo ms cercano no se ha
visitado
Visitar nodo j
Actualizar lista de nodos visitados

Programacin Lgica

Problema del Agente Viajero

Costo_total = costo_total + costoij


Nodo i = nodo j
Hasta haber visitado todos los nodos

Las variables empleadas:

Tiempo de recorrido entre ciudades: horas, minutos, das,

semanas, etc.
Distancia de recorrido entre ciudades: metros, kilmetros,

millas, milmetros, etc.


Costo de traslado: dinero, desgaste de las piezas, gasto de

energa, etc.
Las variables que se pueden adoptar dependen de cada

problema, por ejemplo:


Circuitos electrnicos:

cantidad

de soldadura

utilizada,

menor espacio entre los puntos de soldadura de los circuitos,


evitar el cruce entre las lneas de soldadura, tiempo de

fabricacin, distribucin de los circuitos, entre otras.


Control de semforos: Nmero de semforos (nodos), tiempo
de traslado entre semforos, cantidad de autos que pasan

por un punto, entre otras variables.


Previsin del trnsito terrestre: puntos en una ciudad,
cantidad

de

vehculos,

tiempo

de

traslado,

tipos

de

vehculos, horas pico, correlacin entre variables, regresin

lineal, etc.
Entrega de productos: Peso de las entregas, nmero de
entregas, nodos (domicilios) a visitar, recorridos, tiempos de
traslado, tipo de vehculo, etc.

Programacin Lgica

Problema del Agente Viajero

Estaciones de trabajo: secuencia de actividades, lugar de las


herramientas (nodos), Tipo de herramientas, tiempo de uso,

etc.
Edificacin: puntos de edificacin (construcciones), distancia
entre las construcciones y los insumos, vehculos (gras,
camiones de volteo, etc.), cantidad de combustible que

emplean, etc.
Entre otras variables

Aplicacin de TSP
TSP se puede emplear en cualquier situacin que requiere seleccionar
nodos en cierto orden que reduzca los costos:

Reparto de productos. Mejorar una ruta de entrega

para seguir la ms corta.


Transporte. Mejorar el recorrido de caminos buscando la

menor longitud
Robtica. Resolver

problemas

de

fabricacin

para

minimizar el nmero de desplazamientos al realizar una

serie de perforaciones en un circuito impreso.


Turismo y agencias de viajes. Aun cuando los agentes
de

viajes

no

tienen

un

conocimiento

explcito

del

Problema del Agente Viajero, las compaas dedicadas a


este giro utilizan un software que hace todo el trabajo.
Estos paquetes son capaces de resolver instancias

pequeas del TSP.


Horarios de transportes laborales y/o escolares.
Estandarizar los horarios de los transportes es claramente
una de sus aplicaciones, tanto que existen empresas que
se especializan en ayudar a las escuelas a programarlos
para optimizarlos en base a una solucin del TSP.

Programacin Lgica

Problema del Agente Viajero

Inspecciones a sitios remotos. Ordenar los lugares que

deber visitar un inspector en el menor tiempo.


Secuencias. Se refiere al orden en el cual n trabajos
tienen que ser procesados de tal forma que se minimice
el costo total de produccin.

Algoritmos propuestos
El

Problema

del

Agente

Viajero

puede

resolverse

de

diferentes maneras:

Enumeracin de todas las soluciones factibles. Es


decir, enlistar todas las posibles soluciones al problema,
calcular

sus

costos

asociados,

identificar,

por

comparacin, cul es la solucin con el costo ms


conveniente.
Mtodos exactos.

Tambin

llamados

algoritmos

ptimos, intentan descartar familias enteras de posibles


soluciones, tratando as de acelerar la bsqueda y llegar a
una ptima. Los que ms se usan para resolver el TSP son
Ramificacin y Acotamiento, y Ramificacin y Corte.
Heursticas. Son mtodos obtienen buenas soluciones

en

tiempos

de

cmputo

muy

cortos,

aunque

sin

garantizar la solucin nica.

Captulo 3:

Algoritmo

El TSP puede ser formulado por la programacin lineal en


enteros.7

8 9

Sea

igual 1, si existe el camino de ir de la i a la

ciudad j, y 0 en otro caso, para el conjunto de ciudades 0,..., n.


Sean

para i = 1,..., n variables artificiales y sea

la distancia

Programacin Lgica

desde

la

Problema del Agente Viajero

ciudad i a

la

ciudad j.

Entonces

el

modelo

de

programacin lineal en enteros puede ser escrito como:

El primer conjunto de igualdades asegura que cada ciudad


0,..., n de salida llegue exactamente a una ciudad, y el segundo
conjunto de igualdades aseguran que desde cada ciudad
1,..., n se

salga

exactamente

hacia

una

ciudad

(ambas

restricciones tambin implican que exista exactamente una


salida desde la ciudad 0.) La ltima restriccin obliga a que un
solo camino cubra todas las ciudades y no dos o ms caminos
disjuntos cubran conjuntamente todas las ciudades. Para probar
esto se muestra en (1) que toda solucin factible contiene
solamente una secuencia cerrada de ciudades, y en (2) que
para cada uno de los recorridos que cubren todas las ciudades,
hay valores para todas las variables

que satisfacen las

restricciones.
Para probar que cada solucin factible contiene solamente una
secuencia cerrada de ciudades, es suficiente mostrar que cada
sub-ruta en una solucin factible pasa a travs de la ciudad 0
(note que las igualdades aseguran que solamente pude haber

Programacin Lgica

Problema del Agente Viajero

un recorrido de ese tipo). Por tanto, si sumamos todas las


desigualdades correspondiente a
k

pasos

que

no

pasan

obtenemos

para cada sub-ruta de


travs

de

la

ciudad

0,

lo cual es una contradiccin.

Ahora, mostramos que para cada recorrido que cubre todas las
ciudades, hay valores de las variables

que satisfacen las

restricciones.
Sin prdida de generalidad, se define el recorrido con origen y
fin en la ciudad 0. Escoger

si la ciudad i es visitada en el

paso t (i, t = 1, 2,..., n). Entonces


puede ser mayor que n y

dado

no puede ser menor que 1; por lo

tanto las restricciones se satisfacen siempre que


Para

se

satisfacen las restricciones.

Conclusiones:

Concluimos que gracias a este tipo de problemas podemos mejorar en


nuestro anlisis y aprender principios de inteligencia artificial.

Este problema se utiliza ms que todo para acortar las distancias y


optimizar el tiempo.

Webgrafa

no

http://es.wikipedia.org/wiki/Problema_del_viajante

Programacin Lgica

Problema del Agente Viajero

http://queaprendemoshoy.com/problema-del-viajante/

http://doranellygonzalez.blogspot.com/2010/05/proyecto-5-problema-delviajante-tsp.html

http://www.uaeh.edu.mx/scige/boletin/tlahuelilpan/n3/e5.html

https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Travelling_sale
sman_problem.html

Potrebbero piacerti anche