Algoritmo genético

Determinación de los mínimos globales para problemas altamente no lineales

Un algoritmo genético (AG) es un método para solucionar problemas de optimización con o sin restricciones basándose en un proceso de selección natural que imita la evolución biológica. Este algoritmo modifica repetidamente una población de soluciones individuales. En cada paso, el algoritmo genético selecciona individuos de la población actual aleatoriamente y los utiliza como padres para producir los hijos de la siguiente generación. Tras varias generaciones sucesivas, la población "evoluciona" hacia una solución óptima.

El algoritmo genético se puede aplicar para solucionar problemas que no se adaptan bien a los algoritmos de optimización estándar, incluidos aquellos problemas en los que la función objetivo es discontinua, no diferenciable, estocástica o altamente no lineal.

El algoritmo genético difiere de un algoritmo de optimización clásico basado en derivadas de dos formas principales, tal y como se resume en la tabla siguiente.

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 de la secuencia mediante un cálculo determinista.Selecciona la siguiente población mediante un cálculo que emplea generadores de números aleatorios.

Para obtener más información sobre la aplicación de algoritmos genéticos, consulte Global Optimization Toolbox.

También puede consultar: OPC Toolbox, MATLAB, Global Optimization Toolbox, Optimization Toolbox, recocido simulado (simulated annealing), programación lineal, programación cuadrática, programación no lineal, optimización multiobjetivo, vídeos de algoritmo genético, Teoría de colas