多目標最佳化

AlphaEvolve 可針對多個並行目標進行最佳化。雖然 AlphaEvolve 支援多目標最佳化,但請將個別目標數量限制在人類專家分析結果時可掌握的範圍內。

請使用下列方法,建構多目標搜尋策略:

  1. 合併目標函式:多目標最佳化的一種方法是運用合併目標函式:

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. 將一個目標視為限制:另一種做法是將一個目標視為限制。這項功能有助於在最佳化某項指標的同時,確保其他指標不會高於或低於門檻。

    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)
    

    這種做法可能需要在不同限制層級執行多項實驗,才能找出帕累托前沿。

  3. 在字典中加入不同指標做為個別指標。請參閱下列與這個方法相關的重要注意事項:

    • 將多目標最佳化限制為 3 到 5 個指標。如果指標過多,帕累托比較器就會失效,因為幾乎每個計畫至少都會在一個指標上佔優勢。MAP Elites 大部分時間都在演化父項,以最佳化不重要或有雜訊的指標。透過彙整、選取或主成分分析 (PCA) 將維度縮減為 3 到 5 個有意義的指標。

    • 以基準為單位的個別分數可能會導致過度配適。如果通過 5 項基準的個別分數,可能會導致部分基準過度擬合,但如果只通過匯總總和,則可更妥善地泛化至未見過的基準。如果泛化很重要,請考慮先匯總分數,再傳遞至 AlphaEvolve,而不是獨立最佳化每個基準。

啟用這項功能後,AlphaEvolve 會追蹤帕累托前沿,而 MAP-Elites 則會保留各項指標的最佳程式。不過,加權分數合併後,可簡化推理和偵錯程序。