Los algoritmos genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acuerdo con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin. Por imitación de este proceso, los algoritmos genéticos son
capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas (Méndez Giraldo, 2011).
Los algoritmos genéticos difieren de las técnicas convencionales de optimización y procedimientos de búsqueda en varias formas fundamentales:
▪ Los AGs trabajan con una versión codificada de los parámetros
▪ No buscan desde un punto único si no a partir de una población de puntos
▪ Los AGs usan información de resultados (función de aptitud) en vez de derivados u otros conocimientos auxiliares
▪ Usan reproducción estocástica, o reglas de transición probabilísticas, en vez de reglas determinísticas.
Los algoritmos genéticos trabajan con un conjunto inicial de soluciones aleatorias denominada población, los individuos por los cuales está conformada se denominan
cromosomas, los cuales representan una solución factible a un problema dado, estos se componen por una cadena de símbolos, usualmente una cadena de bits binarios; el cromosoma evoluciona a través de sucesivas iteraciones llamadas generaciones, en donde se evalúa el cromosoma a través de medidas de aptitud, valor o puntuación relacionado con la bondad de dicha solución. La siguiente generación denominada descendencia (conjunto de nuevos cromosomas) se crea por la fusión de dos cromosomas de la generación actual usando un operador crossover o a partir de la modificación de un cromosoma utilizando un operador de mutación. De acuerdo con la evaluación de la medida de aptitud, se conforma la nueva generación por medio de la selección. En la figura 3 se encuentra la estructura general de los algoritmos genéticos
Los cromosomas cuyas medidas de aptitud tengan el mejor valor es decir aquellos individuos que posean la mayor adaptación al problema, tendrán más posibilidades de ser seleccionados para reproducirse y cruzar su material genético con otro individuo seleccionado de igual forma. Después de muchas generaciones, los algoritmos convergen al mejor cromosoma, es decir, la solución óptima o subóptima del problema; puesto que las buenas características se propagan a través de la población, favoreciendo el cruce de los individuos mejor adaptados, siendo exploradas las áreas más prometedoras del espacio de búsqueda.
Figura 3. Estructura general de los algoritmos genéticos 1100101010 1011101110 0011011001 1100110001 1100101010 1011101110 1100101110 1011101010 0011011001 0011001001 Crossover Mutación 1100101110 1011101010 0011001001 Evaluación Descendencia Soluciones Codificación Cromosomas Soluciones Decodificación Aptitud Rueda de la ruleta Selección Nueva población
Fuente: Adaptado de (Gen & Cheng, 1997)
En general, se puede decir que el algoritmo genético opera sobre una población de individuos y cada individuo es una solución potencial a un problema determinado. Después de una población inicial que se genera aleatoriamente, el algoritmo evoluciona mediante tres operadores:
Operadores genéticos:
▪ Cruce o crossover, representa la mezcla entre individuos: Opera sobre dos cromosomas al mismo tiempo y genera la descendencia a partir de la combinación de sus características. Una forma de obtenerlo es elegir dos individuos de la población elite y en un lugar seleccionado aleatoriamente dentro de sus cadenas de bits efectuar el corte a partir del cual se realizará la
combinación, es decir, si se tiene: 𝑆1 = 11000 y 𝑆2 = 10111 y el punto de cruce o crossover es 2, entonces: 𝑆1’ = 11111 y 𝑆2’ = 10000. Los dos nuevos individuos creados de esta combinación se ubican en la próxima generación.
▪ Mutación, introduce modificaciones aleatorias: Este operador produce cambios espontáneos aleatorios sobre los cromosomas, generando nuevos individuos; su propósito radica en mantener la diversidad dentro de la población e inhibir la convergencia prematura, es decir reemplazar los genes perdidos de la población durante el proceso de selección o proveer genes que no se presentaban en la población inicial.
Operador de evaluación:
▪ Selección, supervivencia de la estrategia elite: La clave es la preferencia de los mejores individuos (estrategia elite), lo que permite pasar sus genes a la próxima generación. El desempeño de cada individuo depende de su aptitud, la cual puede ser determinada por una función objetivo o por un juicio subjetivo. Algunos operadores de selección son: selección por ruleta, ranking, torneo y elitismo.
Es importante mencionar que asociados a los operados genéticos, se encuentran la tasa de crossover y la tasa de mutación, las cuales se refieren a la proporción de cromosomas que serán sometidos al operador crossover o bien el porcentaje de nuevos genes que serán introducidos en la población inicial. Una tasa crossover alta permite la exploración en un espacio de solución más amplio reduciendo la posibilidad de establecer un óptimo falso, sin embargo, puede resultar en la exploración de una región poco prometedora, desperdiciando tiempo computacional. Así mismo, si la tasa de mutación es baja, muchos genes que podrían resultar útiles no son probados, pero si la tasa es alta, se puede dar lugar a demasiada perturbación aleatoria.
Los tres aspectos fundamentales que se deben tener en cuenta al usar algoritmos genéticos son la definición de la función objetivo, la representación genética y la definición e implementación de los operadores genéticos.