AlphaEvolve 可同時針對多個目標進行最佳化。雖然 AlphaEvolve 支援多目標最佳化,但請將個別目標數量限制在人類專家分析結果時可掌握的範圍內。
請採用下列方法,建構多目標搜尋策略:
合併目標函式:多目標最佳化的一種方法是使用合併目標函式:
obj = w1 * in_stock_rate - w2 * inventory_level將一個目標視為限制:另一種方法是將一個目標視為限制。這項功能可用於最佳化某項指標,同時避免其他指標低於或高於門檻。
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 到 5 項指標。如果指標過多,帕累托比較器就會失效,因為幾乎每個計畫至少都會在一個指標中佔據主導地位。MAP Elites 大部分時間都用於演進父項,以最佳化不重要或有雜訊的指標。透過彙整、選取或主成分分析,將維度縮減為 3 到 5 個有意義的指標。
每個基準的個別分數可能會導致過度配適。如果 5 項基準的個別分數都及格,可能會導致部分基準過度配適,但如果只有匯總總和及格,則可更妥善地一般化至未見過的基準。如果泛化能力很重要,請考慮先匯總分數,再傳遞至 AlphaEvolve,而不是單獨最佳化每個基準。
啟用這項功能後,AlphaEvolve 會追蹤帕累托前沿,而 MAP-Elites 則會保留各項指標的最佳程式。不過,合併加權分數可簡化推論和偵錯作業。