Académique Documents
Professionnel Documents
Culture Documents
Índice
Problemas de optimización
Búsqueda local
Búsqueda en escalada
Enfriamiento simulado
Algoritmos genéticos
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Introducción
• Algoritmos de búsqueda de soluciones óptimas
• Buscar la mejor solución dentro de un espacio de posibles
soluciones
• Maximizar o minimizar
• Mejoras iterativas
• Empezar con un estado inicial cualquiera
• Mejorar su calidad paso a paso
• Algoritmos:
• Escalada
• Escalada con reinicio aleatorio
• Enfriamiento simulado
• Algoritmos genéticos
• Reparación heurística (tema 5)
• Ninguno de estos algoritmos ofrece completitud, pero a
veces es la única aproximación en la práctica
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
CO
JA
SE
HU
GR
AL
MA
CA
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
• Alternativa:
• Estados: permutación de las ciudades
• Operadores: obtener una nueva permutación, usando
técnicas heurísticas e incluyendo cierta aleatoriedad
• Mejorar los estados en iteraciones sucesivas
• La bondad de los estados se cuantifica por una función
objetivo (en este caso, la distancia total del circuito)
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
b h b h
c g c g
d f
d f
e e
• Heurística + aleatoriedad
• Heurística: trata de reducir los “cruces”
• Aleatoriedad: al elegir el par de ciudades
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Búsqueda en escalada
• Idea de la búsqueda en escalada:
• Aplicar una simple mejora iterativa
• Guiado por la heurística y aleatoriedad de la función que
genera sucesores
• No se permite recuperarse de un camino erróneo (no se
mantiene un árbol de búsqueda)
• Puede verse como una escalada (ascenso o descenso)
F. objetivo
F(e’)
Estados
F(e)
e’=genera−sucesor(e)
e
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Búsqueda en escalada
• Ejemplos
> (load "viajante")
...
> (escalada-aleatoria)
((CADIZ HUELVA CORDOBA JAEN ALMERIA SEVILLA GRANADA MALAGA)
1366.7968)
> (escalada-aleatoria)
((SEVILLA JAEN HUELVA CORDOBA MALAGA ALMERIA GRANADA CADIZ)
1488.9255)
> (escalada-aleatoria)
((SEVILLA GRANADA ALMERIA CORDOBA JAEN CADIZ MALAGA HUELVA)
1431.388)
Búsqueda en escalada
FUNCION ESCALADA-CON-REINICIO-ALEATORIO(ITERACIONES)
1. Hacer MEJOR-ESTADO igual GENERA-ESTADO-INICIAL() y
MEJOR-VALOR igual a F-OBJETIVO(MEJOR-ESTADO)
2. Hacer un número de veces igual a ITERACIONES:
2.1 Realizar una escalada aleatoria.
2.2 Si el estado obtenido tiene un valor mejor
que MEJOR-VALOR, actualizar MEJOR-ESTADO
y MEJOR-VALOR con el nuevo estado y valor
obtenido.
3. Devolver MEJOR-ESTADO y MEJOR-VALOR
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
(0,3)
(0,2)
(0,1)
(0,0)
(1,0) (2,0) (3,0) (n,0)
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Enfriamiento simulado
• Idea principal:
• Aceptar probabilísticamente estados “peores”
• La probabilidad de que un estado peor sea aceptado varía
en función del incremento producido en la función objetivo
• Permitimos así salir de óptimos locales, sin salir del óptimo
global
• Algoritmo inspirado en el proceso físico-químico de
enfriamiento de metales
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Enfriamiento simulado
• Aceptación probabilística
• Probabilidad de aceptación de un estado que incrementa
∆F
∆F el valor de la función objetivo: e − T
• Criterio de parada
• Valor suficientemente bueno de la función objetivo
• Número máximo de iteraciones sin mejora
• En nuestro caso, número fijo de iteraciones totales
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
FUNCION ENFRIAMIENTO-SIMULADO(T-INICIAL,FACTOR-DESCENSO,
N-ENFRIAMIENTOS,N-ITERACIONES)
• Cruces:
1 0 0 0 1 1 1 0 0 0 0 0
0 1 1 0 0 0 0 1 1 0 1 1
• Mutaciones:
1 0 0 0 1 1 1 0 1 0 1 1
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
t := 0
Inicia-Población P(t)
Evalúa-Población P(t)
• Función objetivo:
• Penalización por camino incompleto
PENALIZACION-POR-INCOMPLETO(CAMINO)=
100 * |*GENES* - CAMINO|
• Una ejecución:
> (algoritmo-genetico 100 50 0.75 0.6 0.05)
Mejor individuo:
(HUELVA SEVILLA CORDOBA GRANADA ALMERIA JAEN MALAGA CADIZ)
Valor: 2015.8258
• Es usual realizar varios ejecuciones del algoritmo
• En este caso, en el experimento 84 se obtiene la solución
óptima:
Mejor individuo:
(MALAGA GRANADA ALMERIA JAEN CORDOBA SEVILLA HUELVA CADIZ),
Valor: 1859.8511
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
4 3 8
9 5 1
2 7 6
• Caso n = 3
;;; Soluciones N=3 (se encuentra fácilmente)
;;; ((8 1 6) (3 5 7) (4 9 2))
• Caso n = 4
;;; Soluciones N=4
;;; Encontrado con
;;; (algoritmo-genetico 1000 500 0.75 0.6 0.1)
;;; en la generación 125:
;;; ((7 14 9 4) (16 2 5 11) (1 15 12 6) (10 3 8 13))
7 14 9 4
16 2 5 11
1 15 12 6
10 3 8 13
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Selección probabilística
• En el algoritmo anterior, la selección de individuos está
basada en un método elitista
• Esto asegura que los mejores siempre pasan a la siguiente
generación y siempre son escogidos para cruce
• La diversidad se garantiza introduciendo individuos
seleccionados aleatoriamente
• La selección probabilística es un método alternativo de
selección, que favorece a los mejores, manteniendo la
diversidad
• La idea es que la probabilidad de seleccionar un individuo
será mayor cuanto mejor sea
• Los peores individuos se seleccionarán con menos
frecuencia
• Con este método es posible seleccionar varias veces al
mismo individuo
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
t := 0
Inicia-Población P(t)
Evalúa-Población P(t)
Mientras no Fin hacer
P1 := Selección por ruleta de (1-r)·p individuos de P(t)
P2 := Selección por ruleta de (r·p) individuos de P(t)
P3 := Cruza P2
P4 := Union de P1 y P3
P(t+1) := Muta P4
Evalua-Población P(t+1)
t:= t+1
Fin-Mientras
Devolver el mejor de P(t)
Problemas de optimización Búsqueda local Búsqueda en escalada Enfriamiento simulado Algoritmos genéticos
Conclusión
• Algoritmos genéticos como proceso de búsqueda local
• Mejora iterativa
• Los cruces, las mutaciones y la diversidad tratan de evitar
el problema de los óptimos locales
• Existen otras muchas implementaciones de algoritmos
genéticos
• Pero todas se basan en las mismas ideas de reproducción,
mutación, selección de los mejores y mantenimiento de la
diversidad
• Fácil de aplicar a muchos tipos de problemas:
• optimización, aprendizaje automático, planificación,. . .
Bibliografía