fbpx
Wikipedia

Metaheurística

Una metaheurística es un método heurístico para resolver un tipo de problema computacional general, usando los parámetros dados por el usuario sobre unos procedimientos genéricos y abstractos de una manera que se espera eficiente. Normalmente, estos procedimientos son heurísticos. El nombre combina el prefijo griego "meta" ("más allá", aquí con el sentido de "nivel superior") y "heurístico" (de ευρισκειν, heuriskein, "encontrar").

Las metaheurísticas generalmente se aplican a problemas que no tienen un algoritmo o heurística específica que dé una solución satisfactoria; o bien cuando no es posible implementar ese método óptimo. La mayoría de las metaheurísticas tienen como objetivo los problemas de optimización combinatoria, pero por supuesto, se pueden aplicar a cualquier problema que se pueda reformular en términos heurísticos, por ejemplo en resolución de ecuaciones booleanas.

Las metaheurísticas no son la panacea y suelen ser menos eficientes que las heurísticas específicas, en varios órdenes de magnitud, en problemas que aceptan este tipo de heurísticas puras.

Conceptos generales y nomenclatura

El objetivo de la optimización combinatoria es encontrar un objeto matemático finito (por ejemplo, un vector de bits o permutación) que maximice (o minimice, dependiendo del problema) una función especificada por el usuario de la metaheurística. A estos objetos se les suele llamar estados, y al conjunto de todos los estados candidatos se le llama espacio de búsqueda. La naturaleza de los estados y del espacio de búsqueda son usualmente específicos del problema.

La función a optimizar se le llama función objetivo, y se da al usuario como un procedimiento caja-negra que evalúa el estado actual o la función. Dependiendo de la metaheurística, 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 máximos o mínimos para la función objetivo en un conjunto de estados, y en ese estilo.

Algunas metaheurísticas mantienen en cada instante de ejecución un único estado actual, y lo cambian en cada iteración por uno nuevo. Este paso básico se conoce como transición de estado, movimiento o actualización del estado. El movimiento es colina arriba o colina abajo dependiendo de si los valores que da la función 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 probabilísticos. El conjunto de todos los nuevos estados dados por el mutador es el vecindario del estado actual.

Metaheurísticas más sofisticadas mantienen, en vez de un único estado actual, un conjunto de varios estados candidato. Así, el paso básico añade 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 añadir. El último estado puede ser generado como combinación o cruce de dos o más estados del conjunto.

Una metaheurística puede guardar información del óptimo actual, escogiendo el estado óptimo entre todos los óptimos actuales obtenidos en varias etapas del algoritmo.

Dado que el número de candidatos puede ser muy grande, normalmente, las metaheurísticas están diseñadas de manera que puedan ser interrumpidas por un tiempo máximo especificado por el usuario. Si no se interrumpen, algunas metaheurísticas exactas examinaran todos los candidatos, y usarán métodos heurísticos solo para escoger el orden de la enumeración; de hecho, siempre devolverán un óptimo real, si el tiempo máximo es lo suficientemente grande. En cambio, otras metaheurísticas dan solo una garantía probabilística pobre de poder alcanzar el óptimo, de manera que cuando el tiempo máximo se aproxima a infinito, la probabilidad de examinar cada candidato tiende a 1.

Metaheurísticas comunes

 
Este diagrama presenta una manera de clasificar algunas de las Metaheurísticas más conocidas. Un elemento entre dos categorías indica que se puede colocar en una o en la otra según el enfoque.

Algunas metaheurísticas muy conocidas son:


Hay un número enorme de variables e híbridos propuestos, y muchas más metaheurísticas han sido probadas en problemas específicos. Este es un campo en investigación, con un gran número de publicaciones en revistas, un gran número de investigadores y usuarios, además de un gran número de aplicaciones.

Véase también

Bibliografía

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

Enlaces externos

  • DGPF A distributed framework for randomized, heuristic searches like GA and Hill Climbing which comes with a specialization for Genetic Programming and allows to combine different search algorithms.
  • A toolbox of metaheuristic algorithms for MATLAB. It offers single-solution, population-based and hybrids metaheuristics. With this toolbox you can solve optimization problems defined in the MATLAB language using metaheuristic algorithms implemented in C++ and Java.
  • jMetal jMetal is an object-oriented Java-based framework aimed at facilitating the development of metaheuristics for solving multi-objective optimization problems (MOPs).
  •   Datos: Q1385229
  •   Multimedia: Metaheuristic

metaheurística, metaheurística, método, heurístico, para, resolver, tipo, problema, computacional, general, usando, parámetros, dados, usuario, sobre, unos, procedimientos, genéricos, abstractos, manera, espera, eficiente, normalmente, estos, procedimientos, h. Una metaheuristica es un metodo heuristico para resolver un tipo de problema computacional general usando los parametros dados por el usuario sobre unos procedimientos genericos y abstractos de una manera que se espera eficiente Normalmente estos procedimientos son heuristicos El nombre combina el prefijo griego meta mas alla aqui con el sentido de nivel superior y heuristico de eyriskein heuriskein encontrar Las metaheuristicas generalmente se aplican a problemas que no tienen un algoritmo o heuristica especifica que de una solucion satisfactoria o bien cuando no es posible implementar ese metodo optimo La mayoria de las metaheuristicas tienen como objetivo los problemas de optimizacion combinatoria pero por supuesto se pueden aplicar a cualquier problema que se pueda reformular en terminos heuristicos por ejemplo en resolucion de ecuaciones booleanas Las metaheuristicas no son la panacea y suelen ser menos eficientes que las heuristicas especificas en varios ordenes de magnitud en problemas que aceptan este tipo de heuristicas puras Indice 1 Conceptos generales y nomenclatura 2 Metaheuristicas comunes 3 Vease tambien 4 Bibliografia 5 Enlaces externosConceptos generales y nomenclatura EditarEl objetivo de la optimizacion combinatoria es encontrar un objeto matematico finito por ejemplo un vector de bits o permutacion que maximice o minimice dependiendo del problema una funcion especificada por el usuario de la metaheuristica A estos objetos se les suele llamar estados y al conjunto de todos los estados candidatos se le llama espacio de busqueda La naturaleza de los estados y del espacio de busqueda son usualmente especificos del problema La funcion a optimizar se le llama funcion objetivo y se da al usuario como un procedimiento caja negra que evalua el estado actual o la funcion Dependiendo de la metaheuristica 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 maximos o minimos para la funcion objetivo en un conjunto de estados y en ese estilo Algunas metaheuristicas mantienen en cada instante de ejecucion un unico estado actual y lo cambian en cada iteracion por uno nuevo Este paso basico se conoce como transicion de estado movimiento o actualizacion del estado El movimiento es colina arriba o colina abajo dependiendo de si los valores que da la funcion 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 probabilisticos El conjunto de todos los nuevos estados dados por el mutador es el vecindario del estado actual Metaheuristicas mas sofisticadas mantienen en vez de un unico estado actual un conjunto de varios estados candidato Asi el paso basico anade 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 anadir El ultimo estado puede ser generado como combinacion o cruce de dos o mas estados del conjunto Una metaheuristica puede guardar informacion del optimo actual escogiendo el estado optimo entre todos los optimos actuales obtenidos en varias etapas del algoritmo Dado que el numero de candidatos puede ser muy grande normalmente las metaheuristicas estan disenadas de manera que puedan ser interrumpidas por un tiempo maximo especificado por el usuario Si no se interrumpen algunas metaheuristicas exactas examinaran todos los candidatos y usaran metodos heuristicos solo para escoger el orden de la enumeracion de hecho siempre devolveran un optimo real si el tiempo maximo es lo suficientemente grande En cambio otras metaheuristicas dan solo una garantia probabilistica pobre de poder alcanzar el optimo de manera que cuando el tiempo maximo se aproxima a infinito la probabilidad de examinar cada candidato tiende a 1 Metaheuristicas comunes Editar Este diagrama presenta una manera de clasificar algunas de las Metaheuristicas mas conocidas Un elemento entre dos categorias indica que se puede colocar en una o en la otra segun el enfoque Algunas metaheuristicas muy conocidas son Aceptacion por umbrales Threshold Accepting Algoritmos memeticos Algoritmos multiarranque Algoritmos basados en arrecifes de coral CRO Algoritmos de enjambre Algoritmos geneticos Algoritmos voraces y Ascension de colinas Ascension de colinas con reinicializacion aleatoria Busqueda dispersa Scatter Search Busqueda de Vecindad Variable Variable Neighborhood Search Busqueda en entornos variados Variable Neighborhood Search Busqueda local iterada Iterated Local Search Busqueda local Busqueda por difusion estocastica Busqueda primero el mejor Busqueda tabu GRASP Inteligencia de enjambre Meta RaPS Optimizacion aleatoria Optimizacion de enjambre de particulas Optimizacion extrema Optimizacion basada en colonias de hormigas PeSOA Penguins Search Optimization Algorithm Re encadenamiento de trayectorias Path Relinking Recocido simulado Simulated Annealing Hay un numero enorme de variables e hibridos propuestos y muchas mas metaheuristicas han sido probadas en problemas especificos Este es un campo en investigacion con un gran numero de publicaciones en revistas un gran numero de investigadores y usuarios ademas de un gran numero de aplicaciones Vease tambien EditarMatheuristica Heuristica Programacion Matematica Investigacion de operaciones Modelo matematico Espacio de busqueda Optimizacion multiobjetivoBibliografia EditarC Blum and A Roli A 2003 Metaheuristics in combinatorial optimization Overview and conceptual comparison ACM Computing Surveys 35 3 268 308 Enlaces externos EditarDGPF A distributed framework for randomized heuristic searches like GA and Hill Climbing which comes with a specialization for Genetic Programming and allows to combine different search algorithms MHTB A toolbox of metaheuristic algorithms for MATLAB It offers single solution population based and hybrids metaheuristics With this toolbox you can solve optimization problems defined in the MATLAB language using metaheuristic algorithms implemented in C and Java jMetal jMetal is an object oriented Java based framework aimed at facilitating the development of metaheuristics for solving multi objective optimization problems MOPs Datos Q1385229 Multimedia Metaheuristic Obtenido de https es wikipedia org w index php title Metaheuristica amp oldid 128461968, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos