You are on page 1of 15

Agente Viajero

Algoritmo genético

Integrantes:
Aguilar Rodríguez Beatriz
Mendoza Valencia Manuel Alejandro
García Fernández Brianda Mariel
Historia
La primera solución reportada para resolver el problema del Agente Viajero fue en 1954,
cuando George Dantzig, Ray Fulkerson, y Selmer Johnson publicaron la descripción de un
método de solución del Problema del Agente Viaje, titulado “Solutions of a large scale
traveling salesman problem“ para resolver una instancia de 49 ciudades donde un agente
viajero desea visitar un conjunto de ciudades, asignándoles un costo por visitar ciudades
contiguas. Para esta solución se propusieron 2 condiciones: regresar a la misma ciudad de
la cual partió y no repetir ciudades con el objetivo de encontrar una ruta o un camino con el
menor costo posible.
Conceptualización del problema
El objetivo es encontrar un recorrido completo que conecte todos los nodos de una red,
visitándolos tan solo una vez y volviendo al punto de partida, y que además minimice la
distancia total de la ruta, o el tiempo total del recorrido.

Ejemplo:

Si tenemos 3 ciudades por visitar, entonces tendríamos una función de combinaciones


sin repetición c(3,2), es decir, tendríamos 6 posibles soluciones, para el caso de 4 nodos
tendríamos 12 combinaciones y así sucesivamente.
Aplicaciones
Método de solución con Algoritmos
Genéticos
REPRESENTACIÓN DE LOS GENES
Cadena de números naturales ejemplo [1,4,2,3]
Representa el orden de recorrido de las ciudades, el último valor
tendrá que regresar a la ciudad ubicada en la primera posición
Función de aptitud
f(x)= costoRuta + v *100
Donde v = al número de ciudades repetidas en el gen
Denominando así rutas aptas y no aptas
De este modo las rutas que visitan una ciudad más de una
vez son consideradas no aptas
Ejemplo
Matriz de costos:

[10 6 6 8 9]
[7 4 7 9 6]
[8 1 5 2 6]
[8 10 5 10 10]
[5 10 2 1 1]
Ejemplo
POBLACIÓN INICIAL CON APTITUDES
35225 424
3 3 5 5 2 421
33143 629
5 4 4 2 2 420
55512 634
11235 229
4 2 5 2 4 428
15351 427
34221 233
21131 638
Selección por combate
Compiten: 421 y 229 Compiten: 233 y 229
Gana: 229 Gana: 229
Compiten: 638 y 233 Compiten: 427 y 421 Ganadores:
Gana: 233 Gana: 421 5873051302

Compiten: 634 y 427 Compiten: 420 y 638


Gana: 427 Gana: 420
Compiten: 420 y 629 Compiten: 428 y 424
Gana: 420 Gana: 424
Compiten: 428 y 424 Compiten: 634 y 629
Gana: 424 Gana: 629
Nueva población
11235
34221
15351
54422
35225
11235
33552
54422
35225
33143
Cruza
A cruzar:
01
Punto de corte 3
Antes:
11235
34221
Después:
112|21
342|35
Nueva población
11221
34235
15351
54422
35225
11235
33552
54422
35225
33143
Mutación
Mutaron:
Gen número: 4 posición :1
11221
34235
15351
54422
34225
11235
33552
54422
35225
33143
Después de 100 iteraciones
32154 23
32154 23
22154 231
32154 23
32154 23
32154 23
32154 23
32154 23
32154 23
32154 23
Análisis de Resultados
Con un total de 5 ciudades dadas y una población de 10 se realizaron 100 ejecuciones.
Se utilizó un índice de cruza considerado apto de 0.12 al igual que un índice de mutación
de 0.02.
Para la Generación 100 puede observarse que en la mayoría de las soluciones reportadas
en esta última generación son factibles, además de ser el recorrido óptimo.

➢ Convergencia de un Algoritmo Genético

Cuando el AG se ha implementado correctamente, la población evolucionará a través de


generaciones sucesivas con el fin de que la aptitud del mejor individuo y el promedio de
aptitudes general dentro de cada generación se dirija hacia el óptimo global.
Se dice que la población ha convergido cuando todos los individuos comparten el mismo
valor.
Se puede observar que mientras la población converge, la aptitud promedio se aproxima al
mejor individuo.