Resumen Este documento detalla la implementación y evaluación de un Simple Genetic Algorithm (SGA) utilizando un esquema de codificación binaria para resolver problemas complejos de optimización. Objetivo y metodología El objetivo principal fue desarrollar una solución modular en Python (v3.10+) para implementar y probar el SGA. El sistema utiliza operadores estándar: selección proporcional (ruleta), cruce de un punto y mutación de bit-flip, mejorados mediante una estructura de Hall of Fame para preservar al mejor individuo histórico (elitismo). La implementación utilizó el framework DEAP para algoritmos evolutivos y Streamlit para crear una GUI dinámica para la configuración de parámetros y visualización en tiempo real. Problemas de prueba El algoritmo fue validado utilizando dos funciones con características topológicas distintas: Six-Hump Camel Back (2D): Una función con múltiples mínimos locales y dos mínimos globales simétricos, probada en el rango [-5, 5]. Schwefel Function (30D): Una función altamente compleja y multimodal evaluada en 30 dimensiones, que plantea un desafío significativo debido a su superficie irregular y numerosos mínimos locales distantes del óptimo global. Hallazgos clave y conclusión Six-Hump Camel Back: El algoritmo logró un 100% de eficacia, identificando el mínimo global (f(x*) = -1.0316) al principio del proceso (generación 23 de 200). Schwefel (30D): Los experimentos mostraron que encontrar un equilibrio entre exploración y explotación es crítico para problemas multimodales de alta dimensión. Impacto de los parámetros: La probabilidad de mutación (Pm) fue el factor con mayor impacto en el rendimiento, siendo la tasa más alta (Pm = 0.01) la que produjo consistentemente los mejores resultados. Esto indicó que una mayor mutación fue esencial para mantener la diversidad genética y prevenir la convergencia prematura. Configuración óptima: La mejor solución general (fitness de -8904.14600) se logró utilizando una combinación de cruce moderado (Pc = 0.60) y alta mutación (Pm = 0.01). La parametrización óptima general identificada para robustez y calidad fue {N=500, G=200, Pc=0.8, Pm=0.005, L=16, Elitism=Active}
Estoy abierta a nuevas oportunidades. Hablemos sobre cómo puedo aportar este nivel de ingeniería a tu equipo.
Hablemos