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 会为每个指标保留最佳程序。不过,组合加权得分可以提供更简单的推理和调试。