O plano experimental de otimização bilevel deve responder a uma questão concreta:qual valor deve ser atribuído ao fator de mutação F da evolução diferencial (DE). A abordagem não é continuar ajustando manualmente, mas sim elevar F de hiperparâmetro fixo aobjeto evolutivo do nível externo, tratando “executar uma tarefa de resolução por DE com uma determinada configuração de F” como oprocesso de avaliação do nível interno; o nível externo atualiza a configuração com base no desempenho das tarefas do nível interno. Esse plano só funciona porque se apoia na base computacional moderna do EvoX: população, resultados de avaliação e estado do algoritmo são organizados comotensorescomputáveis em conjunto, permitindo que configurações candidatas sejam mutadas e avaliadas em lote e entrem no grafo computacional para otimização por compilação, sendo então agendador Runtimedistribui o processamento para GPUs, dispositivos aceleradores ou clusters distribuídos, comprimindo o antes longo ciclo experimental serial em uma janela de tempo aceitável.
Tarefa do nível interno: transformar o desempenho em sinal comparável
O nível interno é umexperimento reproduzível. Primeiro, escolha uma tarefa de otimização ou um conjunto de funções de benchmark; em seguida, trave a estrutura principal da DE, as dimensões, o orçamento de avaliação e o conjunto de sementes aleatórias — a única variável é a configuração de F fornecida pelo nível externo. A cada execução devem ser registrados: melhor valor, velocidade de convergência (gerações necessárias para atingir o limiar), taxa de sucesso, violação de restrições, métricas multiobjetivo (como hipervolume) e diversidade dos candidatos. Esses registros são toda a informação que o nível externo “enxerga” e a única base para julgar o que é bom ou ruim. A avaliação é executada em lote com tensores, e o mesmo lote de candidatos compartilha um único grafo computacional, evitando o custo da avaliação serial de cada indivíduo.
Objeto de estratégia do nível externo: F deixa de ser uma constante
O nível externo não busca um valor numérico, mas sim uma estratégia de F. Há três tipos comuns de codificação: F constante; constante por estágios, por exemplo o gene [F1, F2, F3] alternando conforme intervalos de gerações; e funções de agendamento controladas por poucos genes, por exemplo disparando diferentes F conforme a taxa de sucesso atual, a variância da população ou a proporção de gerações. Além dos próprios genes, a codificação do tipo estratégia deve especificar as características de entrada e as regras de saída; caso contrário, o mesmo trecho de genes produzirá resultados completamente diferentes em implementações distintas.
Forma de mapeamento: do genótipo à configuração em tempo de execução
O mapeamento do genótipo do nível externo para a configuração em tempo de execução do nível interno deve serexplícito e reproduzível. Por exemplo, o gene [F_inicial, F_final, decaimento] mapeia para um agendamento que decai com as gerações: F(t) = F_inicial + (F_final − F_inicial) × e^(−decaimento × t / T), em que t é a geração atual e T é o total de gerações; o gene [F1, F2, F3] mapeia para uma alternância entre três constantes. O mesmo genótipo deve sempre mapear para a mesma configuração em tempo de execução; caso contrário, os “bons genes” aprendidos pelo nível externo não poderão ser explicados nem transferidos para novas tarefas.
Fluxo do ciclo fechado e registros obrigatórios
O ciclo completo é: a população externa gera um lote de configurações de F → o agendador Runtime distribui em paralelo as tarefas internas de DE em lotes tensorizados → avaliação em lote na GPU → consolidação de métricas → seleção, mutação, cruzamento e atualização no nível externo → início da próxima rodada. Aqui se mantém a organização em camadas do EvoX: a camada de algoritmo abriga a evolução do nível externo e a lógica de DE do nível interno, o módulo de problema fornece as tarefas de benchmark, o agendador Runtime distribui o processamento em lote para GPU ou cluster distribuído, e o módulo de monitoramento coleta as métricas. O ciclo fechado deve deixar registros reproduzíveis: semente aleatória, orçamento de avaliação, ID da tarefa, modelo de hardware e condição de parada. Qualquer conclusão de “vitória do nível externo” deve poder ser reproduzida nas mesmas condições.
Condições de contorno e baselines: três camadas de proteção
Proteção contra ruído:Quando a avaliação do nível interno apresenta grande variação, o resultado de uma única execução não é confiável; é necessário realizar múltiplas execuções independentes e reportar intervalos de confiança. A aptidão pode ser agregada por média, mediana ou pior quantil, separando tarefas de treino e de validação para evitar que o nível externo se ajuste excessivamente a algumas poucas sementes de sorte.Proteção de custo:Quando as tarefas do nível interno são caras, faça primeiro uma triagem grosseira com modelos de baixa fidelidade ou avaliação por proxy, e depois reavalie com alta fidelidade apenas alguns candidatos.Proteção por baselines:F fixo = 0.5 e o DE adaptativo clássico devem ser comparados lado a lado, e experimentos de ablação devem confirmar que o ganho vem da própria evolução do nível externo, e não de um maior número de avaliações. Se o espaço de busca do nível externo for pequeno demais, a otimização bilevel degenera em ajuste manual de parâmetros; nesse caso, deve-se ampliar o espaço de codificação em vez de simplesmente aumentar o orçamento.
