O fluxo clássico de otimização concentra toda a atenção no espaço de soluções: fixa-se um conjunto de configurações de evolução diferencial (DE) — estratégia de mutação, taxa de crossover CR, fator de escala F, tamanho da população NP — e itera-se repetidamente para aproximar-se da solução ótima do problema. Mas uma questão permanece sempre em aberto:quem escolheu essa própria configuração?A resposta do MetaDE é tratar o "método que gera soluções candidatas" também como objeto de evolução: uma camada externa adicional de algoritmo evolutivo busca especificamente configurações de algoritmo melhores, formando assim um ciclo fechado de otimização em dois níveis em que "um algoritmo evolutivo melhora um algoritmo evolutivo".
Camada interna e camada externa: como dividir as responsabilidades
- Camada interna: recebe um conjunto específico de configurações de DE, executa uma resolução completa numa tarefa real, gera soluções candidatas e devolve uma avaliação de desempenho comparável.
- Camada externa: codifica configurações, hiperparâmetros ou combinações de estratégias de DE como indivíduos, usa o desempenho da tarefa como aptidão e emprega um algoritmo evolutivo (seleção, recombinação, mutação) para atualizar as configurações da próxima geração.
Mudança de objetivo: de "encontrar soluções" para "encontrar métodos que saibam encontrar soluções"
O MetaDE não muda a implementação do otimizador, mas o nível do alvo da otimização. A saída do DE tradicional é um vetor de solução; a saída do MetaDE é um conjunto de configurações de algoritmo capaz de produzir soluções melhores de forma estável nesse tipo de tarefa. Ou seja, o objeto da busca sobe de "resposta" para "máquina que produz respostas". Isso permite que o resultado de uma busca na camada externa seja transferido e reutilizado em outras instâncias da mesma família.
Ciclo fechado de feedback e pré-requisitos de engenharia
Todo o sistema é encadeado por um ciclo fechado: a camada externa envia configurações → a camada interna executa a resolução → o desempenho é retornado → a camada externa atualiza com base nele as configurações da próxima geração. É importante notar que, para um indivíduo da camada externa obter aptidão, é preciso pagar o custo de uma execução completa da camada interna (muitas vezes várias, em paralelo), portanto gestão do custo de avaliação e agendamento paralelo são o núcleo do projeto do sistema. É justamente a capacidade da GPU de executar simultaneamente um grande número de tarefas da camada interna que torna viável, na prática, essa metaotimização de "avaliação custosa".
