Il flusso di ottimizzazione classico concentra tutta l'attenzione sullo spazio delle soluzioni: si fissa una configurazione di evoluzione differenziale (DE) — strategia di mutazione, tasso di crossover CR, fattore di scala F, dimensione della popolazione NP — e poi si itera ripetutamente per avvicinarsi alla soluzione ottimale del problema. Ma una domanda resta sempre irrisolta:chi ha scelto questa configurazione?La risposta di MetaDE è trattare anche il «metodo che genera le soluzioni candidate» come oggetto dell'evoluzione: uno strato esterno di algoritmo evolutivo cerca configurazioni algoritmiche migliori, formando così un ciclo di ottimizzazione a due livelli in cui «un algoritmo evolutivo migliora un algoritmo evolutivo».
Livello interno e livello esterno: come si dividono i compiti
- Livello interno: riceve un insieme specifico di configurazioni DE, esegue una risoluzione completa su un task reale, produce soluzioni candidate e restituisce una valutazione di prestazioni confrontabile.
- Livello esterno: codifica configurazioni, iperparametri o combinazioni di strategie DE come individui, usa le prestazioni sul task come fitness e aggiorna la configurazione della generazione successiva con un algoritmo evolutivo (selezione, ricombinazione, mutazione).
Spostamento dell'obiettivo: da «trovare la soluzione» a «trovare il metodo che sa trovare le soluzioni»
MetaDE non cambia l'implementazione dell'ottimizzatore, ma il livello dell'obiettivo di ottimizzazione. L'output di un DE tradizionale è un vettore soluzione; l'output di MetaDE è una configurazione algoritmica in grado di produrre stabilmente soluzioni migliori su questa classe di task. In altre parole, l'oggetto della ricerca sale dalla «risposta» alla «macchina che produce risposte». Ciò consente di trasferire e riutilizzare il risultato di una ricerca esterna su altre istanze della stessa famiglia.
Ciclo di feedback e prerequisiti ingegneristici
L'intero sistema è tenuto insieme da un unico ciclo: il livello esterno invia la configurazione → il livello interno esegue la risoluzione → le prestazioni vengono restituite → il livello esterno aggiorna di conseguenza la configurazione della generazione successiva. È importante notare che un individuo del livello esterno, per ottenere la propria fitness, deve pagare il costo di una (spesso più, in parallelo) esecuzione interna completa; quindi la gestione dei costi di valutazione e la pianificazione parallela sono il cuore della progettazione del sistema. È proprio la capacità della GPU di far girare contemporaneamente un gran numero di task interni a rendere ingegneristicamente fattibile questa meta-ottimizzazione «costosa in fase di valutazione».
