¿Por qué no se utilizan algoritmos genéticos?

En realidad, se usan, generalmente no en áreas que son muy convencionales. Simplemente vaya a Wikipedia aquí y hay una lista de más de 50 usos de ellos (aunque algunos de ellos están técnicamente mejor descritos como Algoritmos Evolutivos). También hay una pregunta casi idéntica en el desbordamiento de pila que tiene muchas buenas respuestas sobre usos. Hace unos años participé personalmente en una aplicación comercial de la cadena de suministro que los usó para optimizar la distribución de bienes entre fábricas y almacenes.

Una mejor pregunta es quizás “¿Por qué los algoritmos genéticos no se usan con tanta frecuencia?”.

Solo puedo especular sobre la respuesta, pero creo que hay algunas razones:

(1) Muchos problemas prácticos de optimización pueden expresarse en una forma matemática muy específica (por ejemplo, Programas de enteros mixtos) o pueden reducirse a instancias de problemas bien conocidos (por ejemplo, Vendedor ambulante). Se han realizado intensas investigaciones durante más de 40 años desarrollando soluciones para estos problemas particulares. Esencialmente, es poco probable que un GA general sea competitivo con un algoritmo especializado (por ejemplo, para MIP o TSP).

(2) Los GA / EA son de naturaleza no determinista. Eso no es realmente un problema desde una perspectiva teórica, pero puede dificultar la venta en entornos comerciales. Trate de explicarle a un gerente de logística que sus rutas cuidadosamente planificadas pueden moverse aparentemente al azar solo porque cambió un pequeño parámetro.

(3) Los GA necesitan una función objetivo (medida de aptitud), es decir, algo que mida cuán relativamente “buena” es una solución. Para algunos problemas, esta función es obvia y bastante natural (por ejemplo, la longitud de una ruta en una aplicación de logística: menos millas = mejor). Sin embargo, si tiene un problema de decisión binaria con solo una medida de aptitud “buena” o “mala”, la AG esencialmente no puede distinguir todas las soluciones “malas” y tratar de sesgar la selección hacia las “más buenas”.

Entonces, para mí, los GA son una herramienta útil en el arsenal de técnicas de optimización, es solo que hay muchos problemas donde existen otros y mejores enfoques.

Los algoritmos genéticos son excelentes para problemas de optimización que pueden beneficiarse del proceso evolutivo, pero (a) son difíciles de configurar, y (b) no todos los problemas son problemas de optimización.