Introducción a los algoritmos hiperheurísticos

Con el desarrollo del campo de la computación inteligente en los últimos años, ha surgido un nuevo tipo de algoritmo llamado Algoritmo Hiperheurístico. En los últimos años, famosas conferencias internacionales en el campo de la computación inteligente (GECCO 2009, CEC 2010, PPSN 2010) [1] han celebrado respectivamente talleres o sesiones dedicadas a algoritmos hiperheurísticos. A partir de GECCO 2011, la investigación relacionada con algoritmos hiperheurísticos se ha convertido oficialmente en un campo de la conferencia (autobúsqueda-nueva frontera). El Journal of Heuristics and Evolutionary Computation, dos revistas internacionales muy conocidas en el campo de la computación inteligente, también organizaron números especiales en 2010 y 2012 respectivamente, centrándose en los avances de la investigación relacionados con los algoritmos hiperheurísticos.

Definición 1. El algoritmo hiperheurístico proporciona una determinada estrategia de alto nivel (Estrategia de alto nivel, HLS) mediante la manipulación o gestión de un conjunto de algoritmos heurísticos de bajo nivel (Heurística de bajo nivel, LLH) para Obtener nuevos algoritmos heurísticos. Estos nuevos algoritmos heurísticos se utilizan para resolver varios problemas NP-difíciles.

La figura anterior muestra un diagrama esquemático del modelo conceptual del algoritmo hiperheurístico. Como se puede ver en la figura, el algoritmo hiperheurístico se divide en dos niveles: en el nivel del dominio del problema, los expertos en el dominio de la aplicación deben proporcionar la definición del problema, la función de evaluación y otra información y una serie de LLH basados ​​en sus conocimientos previos; la estrategia de alto nivel En el mismo nivel, los expertos en informática inteligente construyen nuevos algoritmos heurísticos diseñando mecanismos eficientes de manipulación y gestión y utilizando la información característica del problema y la biblioteca de algoritmos LLH proporcionada por el dominio del problema. Debido a que se implementa un estricto blindaje de dominio entre estos dos niveles, un algoritmo hiperheurístico se puede migrar rápidamente a nuevos problemas simplemente modificando la definición del problema del dominio del problema y la información relacionada con el dominio, como LLH y funciones de evaluación. Por lo tanto, los algoritmos hiperheurísticos son particularmente adecuados para resolver problemas entre dominios. Cabe señalar que el objetivo del estudio de algoritmos súper heurísticos no es reemplazar a los expertos en computación inteligente, sino cómo promover la tecnología de computación inteligente a más campos de aplicación más rápido y al mismo tiempo reducir efectivamente la dificultad de diseñar algoritmos heurísticos, dividendo así efectivamente el enfoque de la investigación de expertos en el dominio y expertos en informática inteligente. Según la Figura 1, se puede ver que los expertos en informática inteligente se centran principalmente en estrategias de alto nivel en el diseño de algoritmos hiperheurísticos, mientras que los expertos en dominios se centran en la función objetivo y el LLH del problema.