SlideShare una empresa de Scribd logo
1 de 12
Problema del Agente Viajero
Programación Lógica
Alfaro Mostacero Rubí
Gutiérrez Valdivia Carolina
Lastra Bazán Maicol
Programación Lógica Problema del AgenteViajero
Indice
Dedicatoria............................................................................................................................... 2
Introducción ............................................................................................................................. 3
Marco Teórico........................................................................................................................... 4
Título:................................................................................................................................... 4
El Problema del Agente Viajero .............................................................................................. 4
Definición:............................................................................................................................. 4
Responde a la siguiente pregunta:.......................................................................................... 4
CapítuloI: Descripción del Problema.................................................................................... 5
¿Cómo funciona?................................................................................................................... 5
Complejidad Computacional................................................................................................... 5
Estructuras de datos utilizadas: .............................................................................................. 5
CapituloII: Fundamentación................................................................................................. 6
Algoritmo Base:..................................................................................................................... 6
Las variablesempleadas: ........................................................................................................... 6
Aplicación de TSP ...................................................................................................................... 7
Algoritmos propuestos........................................................................................................... 8
Capítulo3: Algoritmo........................................................................................................... 9
Conclusiones:...........................................................................................................................11
Webgrafía................................................................................................................................11
Programación Lógica Problema del AgenteViajero
Dedicatoria
Este trabajo está dedicado para nuestra Escuela de Informática de la “Universidad
Nacional de Trujillo”, como fuente motivadora de investigación, enriquecimiento de
nuestros conocimientos y la motivación de conocer nuevas áreas que nos permitan
incrementar nuestras habilidades como informáticos a través de la resolución de
nuevos casos de estudio.
Esperamos que sea gratificante para ustedes,
Programación Lógica Problema del AgenteViajero
Problema del Agente Viajero
Introducción
El problema del viajante es uno de los problemas más famosos de la matemática computacional.
Pertenece a una serie de problemas que parecen tener una fácil solución pero en la práctica
presentan una gran dificultad. Este problema en concreto ha sido muy estudiado por sus múltiples
aplicaciones en la optimización de recursos, tanto en el campo empresarial (logística de
transporte) como en el de la robótica (desplazamientos que se realizan al hacer un circuito
impreso).
Plantea cómo un viajante podría empezar y terminar en una ciudad concreta, pasando por todas
las ciudades que están en su mapa una sola vez, y por la mínima ruta posible. A priori la solución
puede parecer sencilla, solo habría que probar cuál de las posibles combinaciones de rutas sería la
óptima, lo que llamamospor “fuerza bruta”. La dificultad aparece cuando el número de ciudades es
elevado, las posibles combinaciones aumentan de manera exponencial.
Los problemas cuyo aumento de datos hacen que el tiempo de resolución (o computación)
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 número de combinaciones
posibles y, debido a esto, el número de pruebas que hay que realizar para ver cuál es la
combinación óptima, incrementando exponencialmente el tiempo de resolución. Aquí estriba su
impedimento en la práctica, si el número de ciudades es elevado no existe computadora a nuestro
alcance capaz de computar (o solucionar) el problema en un tiempo razonable.
Programación Lógica Problema del AgenteViajero
Marco Teórico
Título:
El Problema del Agente Viajero
Definición:
Responde a la siguiente pregunta:
Dada una lista de ciudades y las distancias entre cada par de
ellas. ¿Cuál es la ruta más corta posible que visita cada
ciudad exactamente una vez y regresa a la ciudad origen?
Este problema es muy famoso en la matematica computacional.
La importancia es que como este pertenece a una serie de problemas
que parecen tener una facil solucion pero en la practica presentan una
gran dificultad, permite desarrollar de forma ordenada las percepciones
brindadas, las acciones a realizar, para así buscar una solucion optima en
sus recursos.
Es importante definir en este tipo de problemas:
• Los nodos
• Las distancias
• El objetivo
• Heurísticas
Programación Lógica Problema del AgenteViajero
Capítulo I: Descripción del Problema
¿Cómo 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 mínimo, este costo puede estar
expresado en términos de tiempo o distancia, es decir recorre el mínimo de
kilómetros 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 sólo una vez las ciudades restantes y que a la vez esta
ruta sea la mínima posible.
Los costos son simétricos 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
condición 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 solución polinómica.
Podemos aplicar técnicas heurísticas, obteniendo soluciones aproximadas en
unos 97%, no necesariamente óptimas.
Estructuras de datos utilizadas:
Fue mediante Árboles y puede representarse mediante grafos
El problema se puede moldear fácilmente mediante un grafo completo dirigido,
en donde los vértices son las ciudades y los arcos son los caminos, dichos arcos
Programación Lógica Problema del AgenteViajero
deben de tener un peso, y este representa la distancia que hay entre dos
vértices que están conectados por medio de dicho arcos.
Capitulo II: Fundamentación
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 número de nodos, su posición 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 más cercano no se ha visitado
Visitar nodo j
Actualizar lista de nodos visitados
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, días, semanas, etc.
Programación Lógica Problema del AgenteViajero
 Distancia de recorrido entre ciudades: metros, kilómetros, millas,
milímetros, etc.
 Costo de traslado: dinero, desgaste de las piezas, gasto de energía, etc.
 Las variables que se pueden adoptar dependen de cada problema, por
ejemplo:
 Circuitos electrónicos: cantidad de soldadura utilizada, menor espacio
entre los puntos de soldadura de los circuitos, evitar el cruce entre las
líneas de soldadura, tiempo de fabricación, distribución de los circuitos,
entre otras.
 Control de semáforos: Número de semáforos (nodos), tiempo de
traslado entre semáforos, cantidad de autos que pasan por un punto,
entre otras variables.
 Previsión del tránsito terrestre: puntos en una ciudad, cantidad de
vehículos, tiempo de traslado, tipos de vehículos, horas pico, correlación
entre variables, regresión lineal, etc.
 Entrega de productos: Peso de las entregas, número de entregas, nodos
(domicilios) a visitar, recorridos, tiempos de traslado, tipo de vehículo,
etc.
 Estaciones de trabajo: secuencia de actividades, lugar de las
herramientas (nodos), Tipo de herramientas, tiempo de uso, etc.
 Edificación: puntos de edificación (construcciones), distancia entre las
construcciones y los insumos, vehículos (grúas, camiones de volteo,
etc.), cantidad de combustible que emplean, etc.
 Entre otras variables
Aplicación de TSP
TSP se puede emplear en cualquier situación que requiere seleccionar nodos en
cierto orden que reduzca los costos:
Programación Lógica Problema del AgenteViajero
 Reparto de productos. Mejorar una ruta de entrega para seguir la
más corta.
 Transporte. Mejorar el recorrido de caminos buscando la menor
longitud
 Robótica. Resolver problemas de fabricación para minimizar el
número 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 explícito del Problema del Agente Viajero,
las compañías dedicadas a este giro utilizan un software que hace
todo el trabajo. Estos paquetes son capaces de resolver instancias
pequeñas 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 solución
del TSP.
 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
producción.
Algoritmos propuestos
El Problema del Agente Viajero puede resolverse de diferentes maneras:
 Enumeración de todas las soluciones factibles. Es decir, enlistar
todas las posibles soluciones al problema, calcular sus costos
asociados, e identificar, por comparación, cuál es la solución con el
costo más conveniente.
Programación Lógica Problema del AgenteViajero
 Métodos exactos. También llamados algoritmos óptimos, intentan
descartar familias enteras de posibles soluciones, tratando así de
acelerar la búsqueda y llegar a una óptima. Los que más se usan para
resolver el TSP son Ramificación y Acotamiento, y Ramificación y
Corte.
 Heurísticas. Son métodos obtienen buenas soluciones en tiempos
de cómputo muy cortos, aunque sin garantizar la solución única.
Capítulo 3: Algoritmo
El TSP puede ser formulado por la programación lineal en
enteros.7 8 9Sea 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 desde la ciudad i a la ciudad j. Entonces el
modelo de programación 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
Programación Lógica Problema del AgenteViajero
ciudad (ambas restricciones también implican que exista exactamente una
salida desde la ciudad 0.) La última restricción obliga a que un solo camino
cubra todas las ciudades y no dos o más caminos disjuntos cubran
conjuntamente todas las ciudades. Para probar esto se muestra en (1) que
toda solución 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 solución factible contiene solamente una secuencia
cerrada de ciudades, es suficiente mostrar que cada sub-ruta en una
solución factible pasa a través de la ciudad 0 (note que las igualdades
aseguran que solamente pude haber un recorrido de ese tipo). Por tanto, si
sumamos todas las desigualdades correspondiente a para cada
sub-ruta de k pasos que no pasan a través de la ciudad 0,
obtenemos lo cual es una contradicción.
Ahora, mostramos que para cada recorrido que cubre todas las ciudades,
hay valores de las variables que satisfacen las restricciones.
Sin pérdida 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 dado no puede ser mayor que n y no
puede ser menor que 1; por lo tanto las restricciones se satisfacen siempre
que Para
se satisfacen las
restricciones.
Programación Lógica Problema del AgenteViajero
Conclusiones:
• Concluimosque graciasa este tipode problemaspodemosmejorarennuestroanálisisy
aprenderprincipiosde inteligenciaartificial.
• Este problemase utilizamásque todopara acortar lasdistanciasyoptimizarel tiempo.
Webgrafía
• http://es.wikipedia.org/wiki/Problema_del_viajante
• http://queaprendemoshoy.com/problema-del-viajante/
• http://doranellygonzalez.blogspot.com/2010/05/proyecto-5-problema-del-viajante-
tsp.html
• http://www.uaeh.edu.mx/scige/boletin/tlahuelilpan/n3/e5.html
• https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Travelling_salesman_pr
oblem.html

Más contenido relacionado

La actualidad más candente

Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsaSool Egurrola
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.Emmanuel Colon
 
Algoritmos para generar numeros pseudoaleatorios
Algoritmos para generar numeros pseudoaleatoriosAlgoritmos para generar numeros pseudoaleatorios
Algoritmos para generar numeros pseudoaleatoriosjulian javier solis herrera
 
Pasos para la construcción de una máquina de turing
Pasos para la construcción de una máquina de turingPasos para la construcción de una máquina de turing
Pasos para la construcción de una máquina de turingJonathan Bastidas
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
Segmentación por umbralización método de otsu
Segmentación por umbralización   método de otsuSegmentación por umbralización   método de otsu
Segmentación por umbralización método de otsuJorge Antonio Parra Serquen
 
Clase 2 - Metodo simplex
Clase 2 - Metodo simplexClase 2 - Metodo simplex
Clase 2 - Metodo simplexguestcfb4affd5
 
Ejercicio máquina de turing
Ejercicio máquina de turingEjercicio máquina de turing
Ejercicio máquina de turingvmtorrealba
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIAAPLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIAwendybejarano02
 
Ejemplo de flujo a costo minimo 1
Ejemplo de flujo a costo minimo 1Ejemplo de flujo a costo minimo 1
Ejemplo de flujo a costo minimo 1eduardo307
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones Marco Jiménez
 
Problema del agente viajero (TSP)
Problema del agente viajero (TSP)Problema del agente viajero (TSP)
Problema del agente viajero (TSP)Juan Jose Durango
 

La actualidad más candente (20)

Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsa
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.
 
Algoritmos para generar numeros pseudoaleatorios
Algoritmos para generar numeros pseudoaleatoriosAlgoritmos para generar numeros pseudoaleatorios
Algoritmos para generar numeros pseudoaleatorios
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Pasos para la construcción de una máquina de turing
Pasos para la construcción de una máquina de turingPasos para la construcción de una máquina de turing
Pasos para la construcción de una máquina de turing
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
Segmentación por umbralización método de otsu
Segmentación por umbralización   método de otsuSegmentación por umbralización   método de otsu
Segmentación por umbralización método de otsu
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de Dijkstra
 
Clase 2 - Metodo simplex
Clase 2 - Metodo simplexClase 2 - Metodo simplex
Clase 2 - Metodo simplex
 
Redes
RedesRedes
Redes
 
Diseno
DisenoDiseno
Diseno
 
Ejercicio máquina de turing
Ejercicio máquina de turingEjercicio máquina de turing
Ejercicio máquina de turing
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIAAPLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
 
Ejemplo de flujo a costo minimo 1
Ejemplo de flujo a costo minimo 1Ejemplo de flujo a costo minimo 1
Ejemplo de flujo a costo minimo 1
 
Red de Petri
Red de Petri Red de Petri
Red de Petri
 
Monografia de mate 3 imprimir 2
Monografia de mate 3 imprimir 2Monografia de mate 3 imprimir 2
Monografia de mate 3 imprimir 2
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones
 
Problema del agente viajero (TSP)
Problema del agente viajero (TSP)Problema del agente viajero (TSP)
Problema del agente viajero (TSP)
 

Destacado

Agente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoAgente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoUTPL
 
Heurística y el problema del agente viajero
Heurística y el problema del agente viajeroHeurística y el problema del agente viajero
Heurística y el problema del agente viajeroPedro Alberto
 
Regimen de Transito: Transbordo y Reembarque
Regimen de Transito: Transbordo y ReembarqueRegimen de Transito: Transbordo y Reembarque
Regimen de Transito: Transbordo y ReembarquePaula Pinto
 
Transbordo Aduanero
Transbordo AduaneroTransbordo Aduanero
Transbordo AduaneroMiguel Angel
 
ESTRATEGIA DE TRANSPORTE
ESTRATEGIA DE TRANSPORTEESTRATEGIA DE TRANSPORTE
ESTRATEGIA DE TRANSPORTEJABIL
 

Destacado (9)

Agente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoAgente Inteligente: Viajero Perdido
Agente Inteligente: Viajero Perdido
 
Heurística y el problema del agente viajero
Heurística y el problema del agente viajeroHeurística y el problema del agente viajero
Heurística y el problema del agente viajero
 
13 problema de redes
13 problema de redes13 problema de redes
13 problema de redes
 
El Problema Del Transporte
El Problema Del TransporteEl Problema Del Transporte
El Problema Del Transporte
 
Regimen de Transito: Transbordo y Reembarque
Regimen de Transito: Transbordo y ReembarqueRegimen de Transito: Transbordo y Reembarque
Regimen de Transito: Transbordo y Reembarque
 
Diseño de la red
Diseño de la redDiseño de la red
Diseño de la red
 
Transbordo Aduanero
Transbordo AduaneroTransbordo Aduanero
Transbordo Aduanero
 
Gestion del transporte
Gestion del transporteGestion del transporte
Gestion del transporte
 
ESTRATEGIA DE TRANSPORTE
ESTRATEGIA DE TRANSPORTEESTRATEGIA DE TRANSPORTE
ESTRATEGIA DE TRANSPORTE
 

Similar a Problema del agente viajero monografia

Tercera, Cuarta y Quinta Parte Práctica: Teoría de Redes
Tercera, Cuarta y Quinta Parte Práctica: Teoría de RedesTercera, Cuarta y Quinta Parte Práctica: Teoría de Redes
Tercera, Cuarta y Quinta Parte Práctica: Teoría de RedesMetodos Cuantitativos II
 
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1Universidad Católica San Pablo
 
Agente Carro Aplicando La Búsqueda A Star
Agente  Carro Aplicando La Búsqueda  A StarAgente  Carro Aplicando La Búsqueda  A Star
Agente Carro Aplicando La Búsqueda A StarUTPL
 
104889745-Agente-Viajero-analisis.doc
104889745-Agente-Viajero-analisis.doc104889745-Agente-Viajero-analisis.doc
104889745-Agente-Viajero-analisis.docarturoruizlopez1
 
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfUniversidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfarturoruizlopez1
 
Algoritmo del viajero.
Algoritmo del viajero.Algoritmo del viajero.
Algoritmo del viajero.JXAlarcon
 
10 semana sesion 19 problema de transporte
10 semana   sesion 19 problema de transporte10 semana   sesion 19 problema de transporte
10 semana sesion 19 problema de transporteDIrector del INNOVAE
 
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...MarisolJhaninaQuilic
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxYared Redman
 
Agente Carro
Agente CarroAgente Carro
Agente CarroUTPL
 
Algoritmos de enrutamiento presentaciónnnnnnnnn
Algoritmos de enrutamiento presentaciónnnnnnnnnAlgoritmos de enrutamiento presentaciónnnnnnnnn
Algoritmos de enrutamiento presentaciónnnnnnnnnedwinjesus
 

Similar a Problema del agente viajero monografia (20)

Tercera, Cuarta y Quinta Parte Práctica: Teoría de Redes
Tercera, Cuarta y Quinta Parte Práctica: Teoría de RedesTercera, Cuarta y Quinta Parte Práctica: Teoría de Redes
Tercera, Cuarta y Quinta Parte Práctica: Teoría de Redes
 
Proyecto pibap
Proyecto pibapProyecto pibap
Proyecto pibap
 
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1
Proyecto PIBAP 03-295 Contrato #040 Informe Componente 1
 
Memmetpp
MemmetppMemmetpp
Memmetpp
 
Agente Carro Aplicando La Búsqueda A Star
Agente  Carro Aplicando La Búsqueda  A StarAgente  Carro Aplicando La Búsqueda  A Star
Agente Carro Aplicando La Búsqueda A Star
 
104889745-Agente-Viajero-analisis.doc
104889745-Agente-Viajero-analisis.doc104889745-Agente-Viajero-analisis.doc
104889745-Agente-Viajero-analisis.doc
 
Redes.pptx
Redes.pptxRedes.pptx
Redes.pptx
 
Redes.pptx
Redes.pptxRedes.pptx
Redes.pptx
 
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfUniversidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
 
Algoritmo del viajero.
Algoritmo del viajero.Algoritmo del viajero.
Algoritmo del viajero.
 
Ruteo
RuteoRuteo
Ruteo
 
Variables de estudio
Variables de estudioVariables de estudio
Variables de estudio
 
Opt redes logistica2
Opt redes logistica2Opt redes logistica2
Opt redes logistica2
 
10 semana sesion 19 problema de transporte
10 semana   sesion 19 problema de transporte10 semana   sesion 19 problema de transporte
10 semana sesion 19 problema de transporte
 
UNA - Metodos cuantitativos (Transporte y Asignacion)
UNA - Metodos cuantitativos (Transporte y Asignacion)UNA - Metodos cuantitativos (Transporte y Asignacion)
UNA - Metodos cuantitativos (Transporte y Asignacion)
 
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...
diseño de carretera y caminos ,identificacion de los puntos maximos y minima ...
 
Manual transcad
Manual transcadManual transcad
Manual transcad
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
 
Agente Carro
Agente CarroAgente Carro
Agente Carro
 
Algoritmos de enrutamiento presentaciónnnnnnnnn
Algoritmos de enrutamiento presentaciónnnnnnnnnAlgoritmos de enrutamiento presentaciónnnnnnnnn
Algoritmos de enrutamiento presentaciónnnnnnnnn
 

Problema del agente viajero monografia

  • 1. Problema del Agente Viajero Programación Lógica Alfaro Mostacero Rubí Gutiérrez Valdivia Carolina Lastra Bazán Maicol
  • 2. Programación Lógica Problema del AgenteViajero Indice Dedicatoria............................................................................................................................... 2 Introducción ............................................................................................................................. 3 Marco Teórico........................................................................................................................... 4 Título:................................................................................................................................... 4 El Problema del Agente Viajero .............................................................................................. 4 Definición:............................................................................................................................. 4 Responde a la siguiente pregunta:.......................................................................................... 4 CapítuloI: Descripción del Problema.................................................................................... 5 ¿Cómo funciona?................................................................................................................... 5 Complejidad Computacional................................................................................................... 5 Estructuras de datos utilizadas: .............................................................................................. 5 CapituloII: Fundamentación................................................................................................. 6 Algoritmo Base:..................................................................................................................... 6 Las variablesempleadas: ........................................................................................................... 6 Aplicación de TSP ...................................................................................................................... 7 Algoritmos propuestos........................................................................................................... 8 Capítulo3: Algoritmo........................................................................................................... 9 Conclusiones:...........................................................................................................................11 Webgrafía................................................................................................................................11
  • 3. Programación Lógica Problema del AgenteViajero Dedicatoria Este trabajo está dedicado para nuestra Escuela de Informática de la “Universidad Nacional de Trujillo”, como fuente motivadora de investigación, enriquecimiento de nuestros conocimientos y la motivación de conocer nuevas áreas que nos permitan incrementar nuestras habilidades como informáticos a través de la resolución de nuevos casos de estudio. Esperamos que sea gratificante para ustedes,
  • 4. Programación Lógica Problema del AgenteViajero Problema del Agente Viajero Introducción El problema del viajante es uno de los problemas más famosos de la matemática computacional. Pertenece a una serie de problemas que parecen tener una fácil solución pero en la práctica presentan una gran dificultad. Este problema en concreto ha sido muy estudiado por sus múltiples aplicaciones en la optimización de recursos, tanto en el campo empresarial (logística de transporte) como en el de la robótica (desplazamientos que se realizan al hacer un circuito impreso). Plantea cómo un viajante podría empezar y terminar en una ciudad concreta, pasando por todas las ciudades que están en su mapa una sola vez, y por la mínima ruta posible. A priori la solución puede parecer sencilla, solo habría que probar cuál de las posibles combinaciones de rutas sería la óptima, lo que llamamospor “fuerza bruta”. La dificultad aparece cuando el número de ciudades es elevado, las posibles combinaciones aumentan de manera exponencial. Los problemas cuyo aumento de datos hacen que el tiempo de resolución (o computación) 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 número de combinaciones posibles y, debido a esto, el número de pruebas que hay que realizar para ver cuál es la combinación óptima, incrementando exponencialmente el tiempo de resolución. Aquí estriba su impedimento en la práctica, si el número de ciudades es elevado no existe computadora a nuestro alcance capaz de computar (o solucionar) el problema en un tiempo razonable.
  • 5. Programación Lógica Problema del AgenteViajero Marco Teórico Título: El Problema del Agente Viajero Definición: Responde a la siguiente pregunta: Dada una lista de ciudades y las distancias entre cada par de ellas. ¿Cuál es la ruta más corta posible que visita cada ciudad exactamente una vez y regresa a la ciudad origen? Este problema es muy famoso en la matematica computacional. La importancia es que como este pertenece a una serie de problemas que parecen tener una facil solucion pero en la practica presentan una gran dificultad, permite desarrollar de forma ordenada las percepciones brindadas, las acciones a realizar, para así buscar una solucion optima en sus recursos. Es importante definir en este tipo de problemas: • Los nodos • Las distancias • El objetivo • Heurísticas
  • 6. Programación Lógica Problema del AgenteViajero Capítulo I: Descripción del Problema ¿Cómo 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 mínimo, este costo puede estar expresado en términos de tiempo o distancia, es decir recorre el mínimo de kilómetros 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 sólo una vez las ciudades restantes y que a la vez esta ruta sea la mínima posible. Los costos son simétricos 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 condición 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 solución polinómica. Podemos aplicar técnicas heurísticas, obteniendo soluciones aproximadas en unos 97%, no necesariamente óptimas. Estructuras de datos utilizadas: Fue mediante Árboles y puede representarse mediante grafos El problema se puede moldear fácilmente mediante un grafo completo dirigido, en donde los vértices son las ciudades y los arcos son los caminos, dichos arcos
  • 7. Programación Lógica Problema del AgenteViajero deben de tener un peso, y este representa la distancia que hay entre dos vértices que están conectados por medio de dicho arcos. Capitulo II: Fundamentación 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 número de nodos, su posición 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 más cercano no se ha visitado Visitar nodo j Actualizar lista de nodos visitados 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, días, semanas, etc.
  • 8. Programación Lógica Problema del AgenteViajero  Distancia de recorrido entre ciudades: metros, kilómetros, millas, milímetros, etc.  Costo de traslado: dinero, desgaste de las piezas, gasto de energía, etc.  Las variables que se pueden adoptar dependen de cada problema, por ejemplo:  Circuitos electrónicos: cantidad de soldadura utilizada, menor espacio entre los puntos de soldadura de los circuitos, evitar el cruce entre las líneas de soldadura, tiempo de fabricación, distribución de los circuitos, entre otras.  Control de semáforos: Número de semáforos (nodos), tiempo de traslado entre semáforos, cantidad de autos que pasan por un punto, entre otras variables.  Previsión del tránsito terrestre: puntos en una ciudad, cantidad de vehículos, tiempo de traslado, tipos de vehículos, horas pico, correlación entre variables, regresión lineal, etc.  Entrega de productos: Peso de las entregas, número de entregas, nodos (domicilios) a visitar, recorridos, tiempos de traslado, tipo de vehículo, etc.  Estaciones de trabajo: secuencia de actividades, lugar de las herramientas (nodos), Tipo de herramientas, tiempo de uso, etc.  Edificación: puntos de edificación (construcciones), distancia entre las construcciones y los insumos, vehículos (grúas, camiones de volteo, etc.), cantidad de combustible que emplean, etc.  Entre otras variables Aplicación de TSP TSP se puede emplear en cualquier situación que requiere seleccionar nodos en cierto orden que reduzca los costos:
  • 9. Programación Lógica Problema del AgenteViajero  Reparto de productos. Mejorar una ruta de entrega para seguir la más corta.  Transporte. Mejorar el recorrido de caminos buscando la menor longitud  Robótica. Resolver problemas de fabricación para minimizar el número 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 explícito del Problema del Agente Viajero, las compañías dedicadas a este giro utilizan un software que hace todo el trabajo. Estos paquetes son capaces de resolver instancias pequeñas 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 solución del TSP.  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 producción. Algoritmos propuestos El Problema del Agente Viajero puede resolverse de diferentes maneras:  Enumeración de todas las soluciones factibles. Es decir, enlistar todas las posibles soluciones al problema, calcular sus costos asociados, e identificar, por comparación, cuál es la solución con el costo más conveniente.
  • 10. Programación Lógica Problema del AgenteViajero  Métodos exactos. También llamados algoritmos óptimos, intentan descartar familias enteras de posibles soluciones, tratando así de acelerar la búsqueda y llegar a una óptima. Los que más se usan para resolver el TSP son Ramificación y Acotamiento, y Ramificación y Corte.  Heurísticas. Son métodos obtienen buenas soluciones en tiempos de cómputo muy cortos, aunque sin garantizar la solución única. Capítulo 3: Algoritmo El TSP puede ser formulado por la programación lineal en enteros.7 8 9Sea 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 desde la ciudad i a la ciudad j. Entonces el modelo de programación 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
  • 11. Programación Lógica Problema del AgenteViajero ciudad (ambas restricciones también implican que exista exactamente una salida desde la ciudad 0.) La última restricción obliga a que un solo camino cubra todas las ciudades y no dos o más caminos disjuntos cubran conjuntamente todas las ciudades. Para probar esto se muestra en (1) que toda solución 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 solución factible contiene solamente una secuencia cerrada de ciudades, es suficiente mostrar que cada sub-ruta en una solución factible pasa a través de la ciudad 0 (note que las igualdades aseguran que solamente pude haber un recorrido de ese tipo). Por tanto, si sumamos todas las desigualdades correspondiente a para cada sub-ruta de k pasos que no pasan a través de la ciudad 0, obtenemos lo cual es una contradicción. Ahora, mostramos que para cada recorrido que cubre todas las ciudades, hay valores de las variables que satisfacen las restricciones. Sin pérdida 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 dado no puede ser mayor que n y no puede ser menor que 1; por lo tanto las restricciones se satisfacen siempre que Para se satisfacen las restricciones.
  • 12. Programación Lógica Problema del AgenteViajero Conclusiones: • Concluimosque graciasa este tipode problemaspodemosmejorarennuestroanálisisy aprenderprincipiosde inteligenciaartificial. • Este problemase utilizamásque todopara acortar lasdistanciasyoptimizarel tiempo. Webgrafía • http://es.wikipedia.org/wiki/Problema_del_viajante • http://queaprendemoshoy.com/problema-del-viajante/ • http://doranellygonzalez.blogspot.com/2010/05/proyecto-5-problema-del-viajante- tsp.html • http://www.uaeh.edu.mx/scige/boletin/tlahuelilpan/n3/e5.html • https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Travelling_salesman_pr oblem.html