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 会保留每个指标的最佳程序。不过,组合加权分数更易于推理和调试。