Académique Documents
Professionnel Documents
Culture Documents
Metaheursticas
JAVIER DURN MICCO
2016-2
Problemas Combinatorios
Como vimos en el captulo anterior, los problemas de programacin entera se
pueden tornar muy difciles de resolver.
En particular, los Problemas Combinatorios se pueden definir como aquellos
en que se busca una solucin entre un conjunto finito (o infinito contable).
Est solucin tpicamente corresponde a valores enteros, subconjuntos, una
permutacin, ordenamiento, asignacin o estructura de grafo.
Problemas Combinatorios
Por esto, en muchos casos se prefiere sacrificar algo de calidad en las
soluciones y resolver los problemas con mtodos aproximados.
Exactos
Mtodos de
solucin
Heursticas
Aproximados
Metaheursticas
Heursticas
Son mtodos de solucin especficos para problemas particulares.
Metaheursticas
Heurstica de nivel ms alto (Glover, 1986)
Bsqueda Local
Es un procedimiento heurstico sencillo y ahorrativo.
Para esto debemos saber que es la representacin de una solucin, operador de variacin, vecino y
vecindad.
Ejemplo: En el problema del vendedor viajero, una solucin se puede como la secuencia ordenada de
ciudades a visitar (vector de permutacin).
2
Bsqueda Local
De forma iterativo se acerca a la
solucin ptima.
La calidad de la solucin se puede
medir por el valor del FO del modelo
matemtico o por otro indicador.
Bsqueda Local
Pero ste mtodo es propenso a
quedar atrapado en ptimos
locales.
Solucin final depende de
solucin inicial y del operador de
vecindad.
Existen mltiples variaciones a
ste algoritmo para intentar
evitar dicha situacin.
10
11
Metaheursticas
El algoritmo de bsqueda local sirve para entender las metaheursticas.
Algunas se desprenden directamente de ste mientras que otras son
totalmente distintas.
Una diferencia fundamental es que las metaheursticas permiten, bajo ciertas
condiciones, aceptar soluciones peores a la actual.
Diversificacin
Potenciar elementos
de la solucin que dan
buenos resultados.
12
Metaheursticas
El desarrollo e implementacin de metaheursticas es un campo de
investigacin abierto.
Se han propuesto muchas metaheursticas diferentes y muchas ms
hibridaciones entre distintas metaheursticas o metaheursticas con otros tipos
de procedimientos de solucin.
13
Simulated Annealing
Consiste en un proceso de bsqueda local probabilstico, mejorado para
escapar de ptimos locales.
Se basa en el proceso metalrgico de recocido (annealing).
14
Simulated Annealing
-Parmetro T es la temperatura, que indica el
avance del proceso.
-Temperatura inicial se debe predeterminar.
Generar vecino de S (S )
f(S )<f(S)?
no
no
S=S
Actualizar T
T<T_min?
s
FIN
S es la solucin entregada
Cambiar solucin?
no
15
Simulated Annealing
Es un procedimiento aplicable a problemas diferentes, pero con un conjunto
de elementos u operadores que se deben determinar para cada problema
particular.
Los principales en este caso son:
Temperatura inicial.
Operador para generar vecinos.
Esquema de enfriamiento.
Temperatura final (criterio de trmino).
16
Simulated Annealing
El proceso de ajustar/determinar estos elementos se denomina
parametrizacin, que de por s es un problema de optimizacin complejo.
En la parametrizacin se busca que el algoritmo entregue soluciones de
calidad en tiempo razonable. Los valores seleccionados pueden afectar
sustancialmente el desempeo del mismo.
17
Simulated Annealing
Comportamiento tpico de f(S) en el transcurso de las iteraciones.
18
Bsqueda Tab
Se trata de un proceso de bsqueda determinstico (sin probabilidades) que
parte como un proceso de bsqueda local, pero al alcanzar un ptimo local
sigue el proceso de bsqueda (aceptando soluciones peores) con el objetivo
de llegar al ptimo global.
Para evitar caer en ciclos, se tiene una lista tab con movimientos
prohibidos o movimientos tab.
Por el uso de la lista tab, se dice que es un procedimiento con memoria.
19
Bsqueda Tab
Generar solucin inicial (S)
Generar vecindad de S
Evaluar soluciones vecinas
Elegir mejor vecino
cumpliendo movimientos tab
(reemplazar S)
Cumple criterio de
trmino?
Actualizar lista
tab
no
FIN
S es la solucin entregada
20
Bsqueda Tab
Los principales elementos a determinar para desarrollar ste algoritmo son:
21
Algoritmos Genticos
Se trata de una tcnica muy diferente a las anteriores, que no se desprende de
los algoritmos de bsqueda local.
Una diferencia fundamental es que en vez de mantener solo una solucin de
prueba en cada iteracin trabaja con una poblacin de soluciones.
Al igual que el Simulated Annealing es un proceso probabilstico con una
analoga a un proceso natural.
22
Algoritmos Genticos
Se basa en la aplicacin de la teora de la evolucin y seleccin natural de
Charles Darwin.
Bsicamente, se tiene una poblacin de individuos (soluciones) que en el
transcurso de las generaciones (iteraciones) van potenciando, de manera
probabilstica, las caractersticas ms aptas mediante operadores de
cruzamiento y mutacin, mantenindose constante el tamao de la poblacin.
En su forma simple, las soluciones se representan por vectores binarios
(cromosomas), donde cada bit corresponde a un gen.
23
Algoritmos Genticos
Generar poblacin inicial (S)
Nmero max de
iteraciones?
s
FIN
S es la mejor solucin de la
poblacin
24
Algoritmos Genticos
Los principales elementos a determinar para desarrollar ste algoritmo son:
Tamao de la poblacin.
Forma de seleccionar a los padres.
Operadores de cruzamiento y mutacin.
Tasa de mutacin.
Criterio de trmino.
25
Conclusiones
Se presentaron las versiones ms bsicas de los tres algoritmos, existiendo
mltiples variaciones de cada una, incluso para un mismo problema.
Tambin existe procedimientos hbridos. Por ejemplo, empezar con un
algoritmo gentico para encontrar la zona de la regin factible con mejores
soluciones, para luego acercarse al ptimo con una Bsqueda Tab.
26