Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

¿Qué es el algoritmo genético?

El algoritmo genético es un método para resolver problemas de optimización con y sin restricciones que se basa en la selección natural, el proceso que impulsa la evolución biológica. El algoritmo genético modifica repetidamente una población de soluciones individuales. En cada paso, el algoritmo genético selecciona individuos de la población actual para que sean padres y los utiliza para producir los hijos de la próxima generación. A lo largo de generaciones sucesivas, la población “evoluciona” hacia una solución óptima. Se puede aplicar el algoritmo genético para resolver una variedad de problemas de optimización que no son adecuados para los algoritmos de optimización estándar, incluidos problemas en los que la función objetivo es discontinua, no diferenciable, estocástica o altamente no lineal. El algoritmo genético puede abordar problemas de programación entera mixta, donde algunos componentes están restringidos a tener valores enteros.

Este diagrama de flujo describe los principales pasos algorítmicos. Para obtener más detalles, consulte Cómo funciona el algoritmo genético.

Flow chart: create initial population, score and scale population, retain elite, select parents, produce crossover and mutation children, return to score and scale

El algoritmo genético utiliza tres tipos principales de reglas en cada paso para crear la próxima generación a partir de la población actual:

  • Las reglas de selección seleccionan a los individuos, llamados padres, que contribuyen a la población en la siguiente generación. La selección es generalmente estocástica y puede depender de las puntuaciones de los individuos.

  • Las reglas de cruce combinan dos padres para formar hijos para la siguiente generación.

  • Las reglas de mutación aplican cambios aleatorios a padres individuales para formar hijos.

An elite child is identical to its parent. A crossover child gets some of each parent. A mutation child comes from one parent, and includes a change.

El algoritmo genético se diferencia de un algoritmo de optimización clásico basado en derivadas en dos aspectos principales, como se resume en la siguiente tabla:

Algoritmo clásicoAlgoritmo genético

Genera un único punto en cada iteración. La secuencia de puntos se aproxima a una solución óptima.

Genera una población de puntos en cada iteración. El mejor punto de la población se aproxima a una solución óptima.

Selecciona el siguiente punto en la secuencia mediante un cálculo determinista.

Selecciona la siguiente población mediante un cálculo que utiliza generadores de números aleatorios.

Generalmente converge rápidamente a una solución local.

Generalmente se necesitan muchas evaluaciones de funciones para converger. Puede o no converger a un mínimo local o global.

Temas relacionados