Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. El programa debe leer desde un archivo tipo texto las coordenadas x e y de cada
ciudad y el nombre de la ciudad. Cabe sealar que el programa deber calcular
automticamente el nmero de ciudades en donde se realizar la entrega. A
continuacin se muestra ejemplo del archivo tipo texto:
INFORMACION_CIUDADES.TXT
Paso 1. Determinar una matriz que contenga una poblacin inicial con diferentes
rutas distintas. Cabe sealar que la poblacin inicial deber ser lo ms
aleatoria posible. A continuacin se muestra un ejemplo para el caso de 8
ciudades:
7 1 4 5 8 3 6 2 1
4 2 3 1 7 8 6 5 2
2 5 6 3 4 1 8 7 3
. .
2 8 3 7 5 6 4 1 M
7 1 4 5 8 3 6 2 dist(x,y) 1
4 2 3 1 7 8 6 5 dist(x,y) 2
2 5 6 3 4 1 8 7 dist(x,y) 3
. .
2 8 3 7 5 6 4 1 dist(x,y) M
Dnde:
x= vector de coordenadas x de las ciudades.
y= vector de coordenadas y de las ciudades.
Paso 3. Una vez calculada la distancia de cada ruta, ordenar de menor a mayor las
filas de la matriz con respecto a la distancia calculada. Utilizar cualquier
algoritmo de ordenamiento (p.e. Seleccin ).
Paso 5. Definir la funcin cruce, que realice aleatoriamente un cruce de dos filas de
los datos escogidos en el Paso 4. A continuacin se muestra un ejemplo:
ALEATORIO = 4
7 1 4 5 8 3 6 2 PADRE 1
4 2 3 1 7 8 6 5 PADRE 2
7 1 4 5 7 8 6 5 HIJO 1
4 2 3 1 8 3 6 2 HIJO 2
7 1 4 5 7 8 6 5 dist(x,y) HIJO 1
4 2 3 1 8 3 6 2 dist(x,y) HIJO 2
Paso 6. Definir el nmero de datos para mutacion (Recomendacin
n_mutacion=40); una vez definida el nmero de datos para mutacion,
escoger n_mutacion datos aleatorios de la matriz ordenada en el Paso 3.
ALEATORIO ALEATORIO
=2 =6
7 1 4 5 8 3 6 2 PADRE 3
7 3 4 5 8 1 6 2 HIJO 3
7 3 4 5 8 1 6 2 dist(x,y) HIJO 3
Paso 10. Finalmente imprimir en pantalla y guardar en un archivo tipo texto, la ruta
ptima; es decir la primera fila de la matriz una vez realizada el proceso
iterativo.