AlphaEvolve peut optimiser plusieurs objectifs simultanément. Bien qu'AlphaEvolve prenne en charge l'optimisation multi-objectifs, limitez le nombre d'objectifs individuels à environ le nombre qu'un expert humain peut comprendre lors de l'analyse des résultats.
Utilisez les approches suivantes pour structurer votre stratégie de recherche multi-objectifs :
Fonction objectif combinée : une approche pour l'optimisation multi-objectif consiste à utiliser une fonction objectif combinée :
obj = w1 * in_stock_rate - w2 * inventory_levelTraitez un objectif comme une contrainte : une autre approche consiste à traiter un objectif comme une contrainte. Cela est utile pour optimiser une métrique tout en empêchant l'autre de passer au-dessus ou en dessous d'un seuil.
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)Cette approche peut nécessiter l'exécution de plusieurs tests à différents niveaux de contrainte pour tracer la frontière de Pareto.
Incluez différentes métriques en tant que métriques individuelles dans le dictionnaire. Voici les principaux points à prendre en compte concernant cette approche :
Limitez l'optimisation multi-objectif à trois à cinq métriques. Avec un trop grand nombre de métriques, le comparateur de Pareto échoue : presque tous les programmes dominent au moins une métrique. MAP-Elites passe la plupart de son temps à faire évoluer des parents qui optimisent des métriques triviales ou bruyantes. Réduisez la dimensionnalité en agrégeant, en sélectionnant ou en utilisant l'ACP pour obtenir entre trois et cinq métriques pertinentes.
Les scores individuels par benchmark peuvent entraîner un surapprentissage. Transmettre des scores individuels pour cinq benchmarks peut entraîner un surapprentissage sur certains d'entre eux, tandis que transmettre uniquement la somme agrégée permet de mieux généraliser les benchmarks invisibles. Si la généralisation est importante, envisagez d'agréger les scores avant de les transmettre à AlphaEvolve plutôt que d'optimiser chaque benchmark indépendamment.
Lorsque vous activez cette fonctionnalité, AlphaEvolve suit une frontière de Pareto et MAP-Elites conserve le meilleur programme pour chaque métrique. Toutefois, les scores pondérés combinés offrent un raisonnement et un débogage plus simples.