Fundamentos
Algoritmos Genéticos
Un algoritmo genético corresponde a un algoritmo de optimización para problemas de tipo np-completo. Para utilizar un algoritmo genético, es necesario construir una forma de parametrizar el dominio de la función objetivo a optimizar, hacia un vector de bits los cuales representan el cromosoma del valor del dominio.
Se denomina población al conjunto de individuos (vectores de bits) los cuales se someten a un proceso de selección, cruzamiento y mutación. Se denomina generación al conjunto de soluciones presentadas en cada iteración.
Un diagrama del proceso se muestra a continuación:
Diagrama de bloques
para algoritmos genéticos
Algoritmos Meméticos
Un algoritmo memético puede verse como un algoritmo genético con un paso extra al proceso de cruzamiento y mutación, el cual corresponde a una búsqueda local de cada individuo. Cada generación, al terminar la iteración, realiza una búsqueda local para ver si existe alguna solución más apta a la representada por si misma dentro de un rango local. De este modo, se introduce un “bias” al algoritmo genético.
El diagrama para estos algoritmos se presenta a continuación:
Diagrama de bloques
para algoritmos meméticos