Nelle applicazioni reali del calcolo evolutivo, un errore di partenza comune è chiedersi subito, davanti a un compito: «Devo usare DE o PSO?». Questa domanda mettela scelta dell'algoritmoall'ingresso della risoluzione, ma risponde solo a «con quale strumento cercare», non a «che cosa cercare, che cosa è buono, che cosa non si può assolutamente violare». Ciò che determina davvero il successo o il fallimento èla qualità della definizione del problema.
La cosiddettatrasformazione del problemaconsiste nel riscrivere «quale algoritmo scegliere» come «progettare un processo esplorabile»: prima si chiarisce che cosa può cambiare nel problema reale, come valutare i cambiamenti e quali vincoli devono essere soddisfatti; poi si lascia che l'algoritmo generi e selezioni iterativamente i candidati in questo spazio di ricerca. La scelta dell'algoritmo diventa così una fase della progettazione del processo esplorativo, non il suo punto di partenza.
Quattro definizioni da stabilire prima di tutto
- Oggetti variabili: stabilisce quali parametri, strutture, strategie o processi possono essere modificati, definendo così lo spazio di ricerca e i confini della codifica. Senza di esso, le soluzioni candidate non possono essere rappresentate né generate.
- Metodo di valutazione: definisce come giudicare la bontà dei cambiamenti, includendo funzione obiettivo, metriche di valutazione, direzione delle preferenze e misure di fattibilità e diversità. Il modo in cui si valuta determina di fatto la direzione della ricerca.
- Vincoli fondamentali: distingue i vincoli rigidi, che devono essere soddisfatti, dalle preferenze flessibili, che ammettono compromessi. Mescolare i vincoli rigidi nella funzione obiettivo «scontandoli» porta facilmente a soluzioni apparentemente ben valutate ma di fatto non implementabili.
- Processo esplorativo: formalizza il problema come un ciclo chiuso «generazione dei candidati — valutazione — feedback — rigenerazione», in cui i risultati della valutazione influenzano la generazione successiva, invece di fissare l'approccio risolutivo una volta per tutte.
La differenza introdotta dalla trasformazione
Di fronte a un compito di ottimizzazione di parametri, l'approccio abituale è «scegliere prima un algoritmo — ad esempio DE o PSO — e poi iniziare a tarare i parametri». Dopo la trasformazione, l'approccio consiste nel rispondere in sequenza a tre domande: quali parametri sono regolabili? Con quali metriche (o quali metriche in conflitto tra loro) valutarli? Quali vincoli non possono assolutamente essere violati? Una volta risposto a queste tre domande, il compito è già stato formalizzato come un problema multi-obiettivo collegabile a un risolutore evolutivo; a quel punto decidere quale algoritmo usare e con quale configurazione di operatori esplorare è solo una decisione ingegneristica sostituibile all'interno del ciclo chiuso. In altre parole, l'algoritmo non è la risposta in sé: è solo una componente configurabile del processo esplorativo, mentre è la qualità della definizione del problema a determinare il limite superiore dell'esplorazione.
