7. Conceptos Previos (Cont.) Ejemplo de un Algoritmo constructivo Procedure GreedyConstHeurist; Sp ElegirPrimeraComponente; while (Sp no sea completada) C ComponenteGreedy(Sp); Sp Sp C; end-while S Sp; return S; end-procedure Esta parte es la que determina la “voracidad”
8.
9. Espacio de Búsqueda del Problema (Ejemplo, TSP) Tamaño N=5, 5!=120 Posibles soluciones N=6, 6!=720 N=100, 100! = ? EB Cada punto en EB es una permutación de las ciudades, p.e. 35142 o 25341 3 4 2 5 1
10. 5 5! en Total 3 4 2 1 Espacio de Búsqueda - TSP Algoritmo de Construcción 3 1 2 5 4 4 1 2 5 5 5 1 2 2 1 1 1 5 1 ¿Cómo elegir la rama a seguir?
19. 5 3 4 2 1 Espacio de Búsqueda - TSP Algoritmo ACO 3 1 2 5 4 4 1 2 5 5 5 1 2 2 1 1 1 5 1 ¿Cómo se elige en un ACO la rama a seguir?
20. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k ; Guardar la mejor solución; Actualizar Rastro (i.e., ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada;
21. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k ; Guardar la mejor solución; Actualizar Rastro (i.e., ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada; La construcción se realiza paso a paso en forma probabilística considerando ij y ij
22. AS - Construcción de una solución para TSP /* S k : Solución o permutación construida por la hormiga k */ S k = Ciudad_Inicial ; (escogida de acuerdo a algún criterio) mientras no se haya completado el tour { Seleccionar próx. Ciudad ( j ) con probabilidad (i es la última ciudad incluida) S k = S k j }
23. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e., ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada; Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas
24. Actualización del Rastro en AS Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAnts soluciones): Actualización Efectiva ( es el factor de persistencia del rastro) Este valor es calculado directamente proporcional a la calidad de la solución