Multi-objective optimization

AlphaEvolve can optimize against multiple concurrent objectives. While AlphaEvolve supports multi-objective optimization, keep the number of individual objectives limited to roughly the number a human expert can grasp when analyzing results.

Use the following approaches to structure your multi-objective search strategy:

  1. Combined objective function: One approach for multi-objective optimization is to leverage a combined objective function:

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. Treat one objective as a constraint: Another approach is to treat one objective as a constraint. This is useful for optimizing one metric while keeping the other from dropping over or below a threshold.

    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)
    

    This approach may require running multiple experiments at different constraint levels to trace out the Pareto front.

  3. Include different metrics as individual metrics in the dictionary. See the following key considerations associated with this approach:

    • Limit multi-objective optimization to 3-5 metrics. With too many metrics, the Pareto comparator fails – almost every program dominates on at least one metric. MAP Elites spends most of its time evolving parents that optimize trivial or noisy metrics. Reduce dimensionality through aggregation, selection, or PCA to 3-5 meaningful metrics.

    • Per-benchmark individual scores can cause overfitting. Passing individual scores for 5 benchmarks can lead to overfitting on some, while passing only the aggregated sum generalized better to unseen benchmarks. If generalization matters, consider aggregating scores before passing to AlphaEvolve rather than optimizing each benchmark independently.

When you enable this feature, AlphaEvolve tracks a Pareto frontier and MAP-Elites retains the best program for each metric. However, combined weighted scores offer simpler reasoning and debugging.