You are on page 1of 4

Metaheurstica

Una metaheurstica es un mtodo heurstico para resolver un tipo de problema


computacional general, usando los parmetros dados por el usuario sobre unos
procedimientos genricos y abstractos de una manera que se espera eficiente.
Normalmente, estos procedimientos son heursticos. El nombre combina el prefijo griego
"meta" ("ms all", aqu con el sentido de "nivel superior") y "heurstico" (de ,
heuriskein, "encontrar").
Las metaheursticas generalmente se aplican a problemas que no tienen un algoritmo o
heurstica especfica que d una solucin satisfactoria; o bien cuando no es posible
implementar ese mtodo ptimo. La mayora de las metaheursticas tienen como objetivo
los problemas de optimizacin combinatoria, pero por supuesto, se pueden aplicar a
cualquier problema que se pueda reformular en trminos heursticos, por ejemplo en
resolucin de ecuaciones booleanas.
Las metaheursticas no son la panacea y suelen ser menos eficientes que las heursticas
especficas, en varios rdenes de magnitud, en problemas que aceptan este tipo de
heursticas puras.

ndice

1 Conceptos generales y nomenclatura


2 Metaheursticas comunes
3 Vase tambin
4 Bibliografa
5 Enlaces externos

Conceptos generales y nomenclatura


El objetivo de la optimizacin combinatoria es encontrar un objeto matemtico finito (por
ejemplo, un vector de bits o permutacin) que maximice (o minimice, dependiendo del
problema) una funcin especificada por el usuario de la metaheurstica. A estos objetos se
les suele llamar estados, y al conjunto de todos los estados candidatos se le llama espacio
de bsqueda. La naturaleza de los estados y del espacio de bsqueda son usualmente
especficos del problema.
La funcin a optimizar se le llama funcin objetivo, y se da al usuario como un
procedimiento caja-negra que evala el estado actual o la funcin. Dependiendo de la
metaheurstica, el usuario puede tener que dar otras funciones caja-negra que produzcan un
nuevo estado, generan variantes del estado actual, elijan un estado entre varios, aporten
valores mximos o mnimos para la funcin objetivo en un conjunto de estados, y en ese
estilo.

Algunas metaheursticas mantienen en cada instante de ejecucin un nico estado actual, y


lo cambian en cada iteracin por uno nuevo. Este paso bsico se conoce como transicin de
estado, movimiento o actualizacin del estado. El movimiento es colina arriba o colina
abajo dependiendo de si los valores que da la funcin objetivo se incrementa o se
decrementa. El nuevo estado puede estar construido desde la nada por un generador de
estados dado por el usuario. Alternativamente, el nuevo estado puede derivar del estado
actual por un mutador proporcionado por el usuario; en este caso, el nuevo estado se
conoce como vecino del estado actual. Generadores y mutadores son habitualmente
procedimientos probabilsticos. El conjunto de todos los nuevos estados dados por el
mutador es el vecindario del estado actual.
Metaheursticas ms sofisticadas mantienen, en vez de un nico estado actual, un conjunto
de varios estados candidato. As, el paso bsico aade o elimina estados de este conjunto.
En este caso, los procedimientos dados por el usuario seleccionan estados para ser
descartados, y generan nuevos estados a aadir. El ltimo estado puede ser generado como
combinacin o cruce de dos o ms estados del conjunto.
Una metaheurstica puede guardar informacin del ptimo actual, escogiendo el estado
ptimo entre todos los ptimos actuales obtenidos en varias etapas del algoritmo.
Dado que el nmero de candidatos puede ser muy grande, normalmente, las metaheursticas
estn diseadas de manera que puedan ser interrumpidas por un tiempo mximo
especificado por el usuario. Si no se interrumpen, algunas metaheursticas exactas
examinaran todos los candidatos, y usarn mtodos heursticos slo para escoger el orden
de la enumeracin; de hecho, siempre devolvern un ptimo real, si el tiempo mximo es lo
suficientemente grande. En cambio, otras metaheursticas dan slo una garanta
probabilstica pobre de poder alcanzar el ptimo, de manera que cuando el tiempo mximo
se aproxima a infinito, la probabilidad de examinar cada candidato tiende a 1.

Metaheursticas comunes

Este diagrama presenta una manera de clasificar algunas de las Metaheursticas ms


conocidas. Un elemento entre dos categoras indica que se puede colocar en una o en la otra
segn el enfoque.

Algunas metaheursticas muy conocidas son

Optimizacin aleatoria
Bsqueda local
Bsqueda local iterada (Iterated Local Search)
Bsqueda en entornos variados (Variable Neighborhood Search)
Algoritmos voraces y Ascensin de colinas
Aceptacin por umbrales (Threshold Accepting)
Ascensin de colinas con reinicializacin aleatoria
Bsqueda primero el mejor
Recocido simulado (Simulated Annealing)
Optimizacin basada en colonias de hormigas
Algoritmos de enjambre
Bsqueda tab
Algoritmos genticos
Algoritmos memticos
GRASP
Meta-RaPS
Algoritmos multiarranque
Inteligencia de enjambre
Optimizacin de enjambre de partculas
Bsqueda por difusin estocstica
Optimizacin extrema
PeSOA: Penguins Search Optimization Algorithm
Bsqueda dispersa (Scatter Search)
Re-encadenamiento de trayectorias (Path Relinking)

Hay un nmero enorme de variables e hbridos propuestos, y muchas ms metaheursticas


han sido probadas en problemas especficos. Este es un campo en investigacin, con un
gran nmero de publicaciones en revistas, un gran nmero de investigadores y usuarios,
adems de un gran nmero de aplicaciones.

Vase tambin

Matheurstica
Heurstica
Programacin Matemtica
Investigacin de operaciones
Modelo matemtico
Espacio de bsqueda
Optimizacin multiobjetivo

Bibliografa
C. Blum and A. Roli A. (2003). Metaheuristics in combinatorial optimization: Overview
and conceptual comparison. ACM Computing Surveys 35(3) 268308.

Enlaces externos

You might also like