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 大部分時間都在演化父項,以最佳化不重要或雜訊指標。透過匯總、選取或 PCA 減少維度,只保留 3 到 5 個有意義的指標。
個別基準分數可能會導致過度配適。如果 5 項基準測試的個別分數都通過,可能會導致某些基準測試過度擬合,而只通過匯總總和,則能更有效地泛化至未見過的基準測試。如果泛化能力很重要,請考慮先匯總分數,再傳遞給 AlphaEvolve,而不是單獨最佳化每個基準。
啟用這項功能後,AlphaEvolve 會追蹤柏拉圖前沿,MAP-Elites 則會保留各項指標的最佳程式。不過,合併加權分數可提供更簡單的推論和偵錯方式。