El plano experimental de optimización bilevel debe responder una pregunta concreta:¿cuál debería ser exactamente el valor del factor de mutación F de la evolución diferencial (DE)?. Su enfoque no es seguir ajustando a mano, sino elevar F de hiperparámetro fijo aobjeto evolucionable del bucle externo, y tomar «ejecutar una tarea de resolución DE con una determinada configuración de F» comoproceso de evaluación del bucle interno; el bucle externo actualiza la configuración según el rendimiento de la tarea del bucle interno. Este plano funciona porque se apoya sobre la base computacional moderna de EvoX: la población, los resultados de evaluación y el estado del algoritmo se organizan comotensorescalculables en su conjunto, de modo que las configuraciones candidatas se mutan y evalúan por lotes y entran en el grafo de cómputo para recibir optimización por compilación; después, el planificador Runtimedistribuye el cómputo a GPU, dispositivos aceleradores o clústeres distribuidos, comprimiendo así el largo ciclo experimental en serie a una ventana de tiempo aceptable.
Tarea del bucle interno: convertir el rendimiento en una señal comparable
El bucle interno es unexperimento reproducible. Primero se elige una tarea de optimización o un conjunto de funciones benchmark, y luego se bloquean por completo la estructura principal de DE, la dimensión, el presupuesto de evaluación y el conjunto de semillas aleatorias; la única cantidad que varía es la configuración de F transmitida por el bucle externo. En cada ejecución hay que registrar: el mejor valor, la velocidad de convergencia (generaciones necesarias para alcanzar el umbral), la tasa de éxito, la violación de restricciones, las métricas multiobjetivo (como el hipervolumen) y la diversidad de candidatos. Estos registros son toda la información que el bucle externo puede «ver» y la única base para que juzgue si algo es bueno o malo. La evaluación se ejecuta por lotes de forma tensorializada; los candidatos de un mismo lote comparten un único grafo de cómputo, evitando el coste de evaluar individuo a individuo en serie.
Objeto de estrategia del bucle externo: F ya no es una constante
El bucle externo no busca un número, sino una estrategia F. Hay tres tipos comunes de codificación: F constante; constante por etapas, por ejemplo el gen [F1, F2, F3] que conmuta según intervalos de generaciones; y funciones de programación controladas por unos pocos genes, que por ejemplo activan distintas F según la tasa de éxito actual, la varianza de la población o la proporción de generaciones. En las codificaciones de tipo estrategia, además de los genes en sí, hay que especificar las características de entrada y las reglas de salida; de lo contrario, el mismo segmento de genes producirá resultados completamente distintos según la implementación.
Forma de mapeo: del genotipo a la configuración en tiempo de ejecución
El mapeo del genotipo del bucle externo a la configuración en tiempo de ejecución del bucle interno debe serexplícito y reproducible. Por ejemplo, el gen [F_ini, F_fin, decaimiento] se mapea a una programación que decae con las generaciones: F(t) = F_ini + (F_fin − F_ini) × e^(−decaimiento × t / T), donde t es la generación actual y T el total de generaciones; el gen [F1, F2, F3] se mapea a una conmutación de tres tramos constantes. Un mismo genotipo debe mapearse siempre a la misma configuración en tiempo de ejecución; de lo contrario, los «buenos genes» aprendidos por el bucle externo no se podrán explicar ni transferir a nuevas tareas.
Flujo de bucle cerrado y registros obligatorios
El circuito completo es: la población del bucle externo genera un lote de configuraciones de F → el planificador Runtime distribuye en paralelo las tareas DE del bucle interno por lotes tensorializados → evaluación por lotes en GPU → resumen de métricas → selección, mutación, cruce y actualización del bucle externo → paso a la siguiente ronda. Aquí se sigue la organización por capas de EvoX: la capa de algoritmos alberga la evolución del bucle externo y la lógica DE del bucle interno, el módulo de problemas proporciona las tareas benchmark, el planificador Runtime se encarga de distribuir el cómputo por lotes a GPU o clústeres distribuidos, y el módulo de monitorización recoge las métricas. En el bucle cerrado deben quedar registros reproducibles: semilla aleatoria, presupuesto de evaluación, ID de tarea, modelo de hardware y criterio de parada. Cualquier conclusión de «victoria del bucle externo» debería poder reproducirse bajo las mismas condiciones.
Condiciones límite y línea base: triple protección
Protección frente al ruido:cuando la evaluación del bucle interno fluctúa mucho, el resultado de una sola ejecución no es fiable; hay que ejecutar varias veces de forma independiente y reportar intervalos de confianza. La aptitud puede agregarse con la media, la mediana o el peor cuantil, y conviene separar las tareas de entrenamiento de las de validación para evitar que el bucle externo se sobreajuste solo a unas cuantas semillas afortunadas.Protección de costes:cuando las tareas del bucle interno son costosas, primero se hace un cribado con modelos de baja fidelidad o evaluaciones sustitutas, y luego se reevalúan con alta fidelidad unos pocos candidatos.Protección de línea base:la F fija = 0.5 y el DE adaptativo clásico deben compararse en igualdad de condiciones, y hay que usar experimentos de ablación para confirmar que la ganancia proviene de la evolución del bucle externo en sí, y no de un mayor número de evaluaciones. Si el espacio de búsqueda del bucle externo es demasiado pequeño, la optimización bilevel degenera en un ajuste manual de parámetros; en ese caso hay que ampliar el espacio de codificación en lugar de limitarse a aumentar el presupuesto.
