Programación heurística y Metaheurísticas
Definiciones
Heurística: conjunto de técnicas o métodos para resolver un problema. es
vista como el arte de inventar por parte de los seres humanos, con la intención de
procurar estrategias, métodos, criterios, que permitan resolver problemas a través
de la creatividad.
Se basa en la experiencia propia del individuo en la de otros para encontrar la
solución más viable al problema.
Metaheurística: es un método heurístico para resolver un tipo de problema
computacional general. Generalmente se aplican a problemas que no tienen un
algoritmo o heurística específica que dé una solución satisfactoria.
Las metaheurísticas son estas estrategias generales para construir algoritmos,
que quedan por encima de las heurísticas, y van algo más allá, por lo cual se
denominan metaheurísticas. Son el resultado de la estrategia general de la
Inteligencia Artificial al aplicarla a las heurísticas.
Heurístico en I.A.
el término heurístico está relacionado con la tarea de resolver inteligentemente
problemas reales usando conocimiento. En un problema de optimización se busca
la solución que es óptima según algún criterio de comparación entre ellas.
Se califica de heurístico a un procedimiento para el que se tiene un alto grado de
confianza en que encuentra soluciones de alta calidad con un coste computacional
razonable, aunque no se garantice su optimalidad o su factibilidad, e incluso, en
algunos casos, no se llegue a establecer lo cerca que se está de dicha situación.
Metaheurísticas:
se refieren al diseño de los tipos fundamentales de procedimientos heurísticos de
solución de un problema de optimización.
Tipos fundamentales de Metaheurísticas
Las metaheurísticas para los métodos de relajación: se refieren a
procedimientos de resolución de problemas que utilizan modificaciones,
llamadas relajaciones, del modelo que hacen al problema más fácil de
resolver cuya solución facilita la solución del problema original.
Las metaheurísticas para los procesos constructivos: se orientan a los
procedimientos que tratan de la obtención de una solución a partir del
análisis y selección paulatina de las componentes que la forman.
Las metaheurísticas para las búsquedas por entornos: guían los
procedimientos que usan transformaciones o movimientos para recorrer el
espacio de soluciones alternativas y explotar las estructuras de entornos
asociadas.
Las metaheurísticas para los procedimientos evolutivos: están enfocadas a
los procedimientos basados en conjuntos de soluciones que evolucionan
sobre el espacio de soluciones.
Otras metaheurísticas se centran en el uso de algún tipo de recurso computacional
o formal especial como
las redes neuronales
los sistemas de hormigas
la programación por restricciones