En labase abierta y desacopladade EvoX, un flujo evolutivo completo se divide en dos «piezas» intercambiables:el módulo de algoritmoresponde «cómo buscar»,el módulo de problemaresponde «qué evaluar y cómo retroalimenta el entorno». Ambos se conectan mediante un conjunto claro de contratos de interfaz, y juntos componen un flujo evolutivo reutilizable, reemplazable y transferible.
Módulo de algoritmo: encapsula «cómo buscar»
- Generación de soluciones candidatas y actualización de la población: la lógica evolutiva —inicialización, mutación, cruce, selección, preservación de élites, etc.— la implementa de forma unificada el módulo de algoritmo.
- Control de búsqueda: el número de iteraciones, el tamaño de la población, los criterios de reinicio y convergencia y la programación de parámetros de los operadores son decisiones del lado del algoritmo.
- El módulo de algoritmo solo depende de la premisa abstracta de que «las soluciones candidatas serán evaluadas», sin importarle el significado físico ni la forma concreta de la función objetivo.
Módulo de problema: define «qué evaluar y cómo retroalimenta el entorno»
- Convertir soluciones candidatas en retroalimentación comparable: valores objetivo, aptitud, magnitud de violación de restricciones o el resultado de una interacción con el entorno.
- Declarar los límites y las restricciones del problema: dimensión de las variables, rango de valores y reglas de la región factible, para que el algoritmo sepa dónde puede generar soluciones candidatas.
- Ofrecer una evaluación consistente para un mismo lote de soluciones candidatas, de modo que puedan compararse horizontalmente distintos individuos, generaciones y algoritmos.
Contrato de interfaz: lote de soluciones candidatas ⇄ resultado de evaluación
El módulo de algoritmo envía al módulo de problemaun lote de soluciones candidatas; el módulo de problema devuelveun resultado de evaluación estructurado(vector objetivo, magnitud de violación de restricciones e información de diagnóstico adicional opcional); con base en ello, el módulo de algoritmo actualiza la población y avanza a la siguiente generación. Este ciclo de «envío—respuesta» constituye una generación de evolución.
Beneficios del desacoplamiento
- Ampliación independiente: añadir o reemplazar algoritmos no afecta la definición del problema; modificar o añadir problemas tampoco exige reescribir el módulo de algoritmo.
- Combinable: un mismo módulo de problema puede conectarse a distintos algoritmos evolutivos, y un mismo módulo de algoritmo también puede cambiarse a distintos módulos de problema.
- Transferible: mientras el contrato de interfaz se mantenga estable, el algoritmo y el problema pueden reutilizarse, reemplazarse y transferirse entre tareas.
Por qué es especialmente importante en el contexto de esta lección: compensaciones multiobjetivo y retroalimentación costosa
Esta lección se centra en problemas de ingeniería del mundo físico real, por ejemplo, el diseñode perfiles alares supercríticos en COMAC. Este tipo de problemas suele reunir tres características a la vez: múltiples objetivos que se condicionan mutuamente (por ejemplo, aumentar la sustentación suele implicar mayor resistencia y menor estabilidad), restricciones anidadas entre sí (como el coeficiente de sustentación de buffet crítico o que la tensión máxima no supere el valor admisible del material) yretroalimentación costosa y dispersa(el coste de una sola evaluación con simulación de alta precisión es muy alto). La división en módulos nace precisamente para hacer frente a estos tres puntos.
Del lado del módulo de problema, los múltiples objetivos y las restricciones se convierten de forma unificada en resultados de evaluación comparables: el vector objetivo describe cada indicador, la magnitud de violación de restricciones describe el grado de incumplimiento y, cuando es necesario, se recurre amodelos subrogadospara ofrecer evaluaciones aproximadas a menor coste y aliviar el cuello de botella de retroalimentación que impone la simulación de alta precisión. Del lado del módulo de algoritmo, la búsqueda ya no persigue converger prematuramente a una única «respuesta óptima», sino que mantieneun conjunto diversificado de soluciones candidatas, para que los expertos optimicen preferencias y tomen decisiones entre sustentación, resistencia y margen de seguridad.
Por lo tanto, el contrato «lote de soluciones candidatas ⇄ resultado de evaluación» no solo debe poder transportar una única aptitud escalar, sino también el vector objetivo y la magnitud de violación de restricciones: la compensación multiobjetivo exige que el algoritmo pueda hacer comparaciones no dominadas, y el tratamiento de restricciones exige que pueda distinguir entre factible e infactible. Si el contrato queda incompleto, la información multiobjetivo y de restricciones se pierde de forma permanente en la interfaz, y con ello también se pierden la reutilización y la transferibilidad que aporta el desacoplamiento.
