Ottimizzazione multi-obiettivo

AlphaEvolve può eseguire l'ottimizzazione in base a più obiettivi simultanei. Sebbene AlphaEvolve supporti l'ottimizzazione multi-obiettivo, limita il numero di singoli obiettivi a circa il numero che un esperto umano può comprendere durante l'analisi dei risultati.

Utilizza i seguenti approcci per strutturare la strategia di ricerca multi-obiettivo:

  1. Funzione obiettivo combinata: un approccio per l'ottimizzazione multi-obiettivo consiste nello sfruttare una funzione obiettivo combinata:

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. Considera un obiettivo come un vincolo: un altro approccio consiste nel considerare un obiettivo come un vincolo. Questo è utile per ottimizzare una metrica, impedendo all'altra di scendere al di sopra o al di sotto di una soglia.

    obj = in_stock_rate` # Optimize this
    
    # With: inventory_level <= budget (enforced as penalty where if inventory
    # level exceeds budget then a high negative value is returned)
    

    Questo approccio potrebbe richiedere l'esecuzione di più esperimenti a livelli di vincolo diversi per tracciare il fronte di Pareto.

  3. Includi metriche diverse come metriche individuali nel dizionario. Di seguito sono riportate le considerazioni chiave associate a questo approccio:

    • Limita l'ottimizzazione multi-obiettivo a 3-5 metriche. Con troppe metriche, il comparatore di Pareto non funziona: quasi ogni programma domina almeno una metrica. MAP Elites trascorre la maggior parte del tempo a evolvere i genitori che ottimizzano metriche banali o rumorose. Riduci la dimensionalità tramite aggregazione, selezione o PCA a 3-5 metriche significative.

    • I punteggi individuali per benchmark possono causare un overfitting. Il passaggio di punteggi individuali per 5 benchmark può portare a un overfitting su alcuni, mentre il passaggio solo della somma aggregata generalizza meglio i benchmark invisibili. Se la generalizzazione è importante, valuta la possibilità di aggregare i punteggi prima di passarli ad AlphaEvolve anziché ottimizzare ogni benchmark in modo indipendente.

Quando attivi questa funzionalità, AlphaEvolve tiene traccia di una frontiera di Pareto e MAP-Elites conserva il programma migliore per ogni metrica. Tuttavia, i punteggi ponderati combinati offrono un ragionamento e un debug più semplici.