En la base abierta y desacoplada EvoX,el módulo de flujo de trabajose encarga de orquestar la división de etapas, el orden de ejecución y la forma de transición de las iteraciones evolutivas, yel módulo de monitoreose encarga de recopilar estados e indicadores en tiempo real durante la ejecución. En conjunto, convierten el «ciclo evolutivo de caja negra desconocida» en un proceso controlado, observable, evaluable, intervenible y reproducible. En una frase: el flujo de trabajo responde «en qué orden ejecutar» y el monitoreo responde «en qué punto estamos, qué tan bien va y si hay que intervenir».
Flujo de trabajo: orquestación del orden y los límites de etapa
El objeto de orquestación del flujo de trabajo sonlos pasos y las dependencias, no la lógica del algoritmo en sí. Define el orden, los bordes de retorno y los límites de etapa de «Inicialización → Evaluación → Selección → Mutación/Cruce → Actualización de estado → Criterio de terminación», y conecta el módulo de algoritmo con el módulo de problema mediante una interfaz unificada. La clave de la orquestación radica enla granularidad y los límites: tratar «una evaluación por lotes» como una etapa planificable en su totalidad, en lugar de avanzar individuo por individuo; el límite de etapa es a la vez punto de muestreo del monitoreo y punto de cambio de planificación.
- Orden: determina la relación de precedencia entre las etapas y cuándo volver a «Evaluación» para formar el bucle principal.
- Borde de retorno: especifica qué condiciones activan la siguiente iteración y cuáles salen del bucle.
- Límite de etapa: es tanto un punto de cambio del flujo de trabajo como un punto de muestreo natural del monitoreo.
Monitoreo: recopilar estados, exponer indicadores y guiar decisiones
El módulo de monitoreo es la capa derecopilación y exposición del estado de ejecución: rastrea continuamente el tamaño de la población, el número de evaluaciones, la distribución de objetivos/aptitud, la convergencia y la diversidad, el tiempo por generación y métricas de recursos como la memoria de GPU y el rendimiento. Pero el propósito de la observación no es registrar, sinodecidir: los indicadores se usan para activar la terminación, la parada temprana, el reinicio o el cambio de parámetros o estrategias, formando así el bucle cerrado «Monitoreo → Decisión → Intervención», que es precisamente donde se materializa la controlabilidad del proceso evolutivo.
La controlabilidad también exige que el estado seaserializable: el guardado y la restauración de puntos de control permiten reanudar evoluciones prolongadas tras una interrupción, localizar fallos y reproducir experimentos, y son condición previa para la fiabilidad de la ingeniería. Además, el desacoplamiento exige que el monitoreo se integre mediantecallbacks/hookssin invadir los módulos de algoritmo y de problema; por ello, distintos backends de monitoreo como consolas, registros o paneles de curvas pueden intercambiarse sin modificar el algoritmo central.
Volviendo al ejemplo: en la evolución tensorizada por GPU, el flujo de trabajo planifica la «evaluación por lotes» como una etapa completa, y el módulo de monitoreo registra por generación la aptitud óptima/media, la diversidad de la población y el tiempo por generación dentro de esa misma etapa; cuando los indicadores se estancan durante N generaciones consecutivas, se activa el criterio de terminación o se cambia a una estrategia con mayor perturbación, y se guarda sincrónicamente un punto de control, de modo que esa evolución puede reproducirse y también reanudarse desde el punto de interrupción.
