Ottimizzazione multi-obiettivo

AlphaEvolve può ottimizzare in base a più obiettivi contemporaneamente. Sebbene AlphaEvolve supporti l'ottimizzazione multiobiettivo, limita il numero di singoli obiettivi a circa il numero che un esperto umano può comprendere quando analizza i risultati.

Utilizza i seguenti approcci per strutturare la tua strategia di ricerca con più obiettivi:

  1. Funzione obiettivo combinata: un approccio per l'ottimizzazione multiobiettivo consiste nell'utilizzare una funzione obiettivo combinata:

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. Tratta un obiettivo come un vincolo: un altro approccio consiste nel trattare un obiettivo come un vincolo. Questo è utile per ottimizzare una metrica, evitando al contempo che l'altra scenda al di sotto o superi 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 diversi livelli di vincolo per tracciare il fronte di Pareto.

  3. Includi metriche diverse come metriche individuali nel dizionario. Di seguito sono riportate le considerazioni principali 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 su almeno una metrica. MAP Elites dedica la maggior parte del tempo all'evoluzione dei 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 l'overfitting. Il passaggio di punteggi individuali per 5 benchmark può portare all'overfitting su alcuni, mentre il passaggio della sola somma aggregata ha generalizzato meglio i benchmark non visti. 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 monitora 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.