Optimierung mehrerer Ziele

Mit AlphaEvolve können Sie mehrere Ziele gleichzeitig optimieren. AlphaEvolve unterstützt zwar die Optimierung mehrerer Ziele, die Anzahl der einzelnen Ziele sollte jedoch auf etwa die Anzahl beschränkt sein, die ein menschlicher Experte bei der Analyse von Ergebnissen erfassen kann.

Verwenden Sie die folgenden Ansätze, um Ihre Suchstrategie für mehrere Ziele zu strukturieren:

  1. Kombinierte Zielfunktion: Ein Ansatz für die Optimierung mehrerer Ziele ist die Verwendung einer kombinierten Zielfunktion:

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. Ein Ziel als Einschränkung behandeln: Ein anderer Ansatz besteht darin, ein Ziel als Einschränkung zu behandeln. Dies ist nützlich, um einen Messwert zu optimieren und gleichzeitig zu verhindern, dass der andere einen bestimmten Schwellenwert über- oder unterschreitet.

    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)
    

    Bei diesem Ansatz müssen möglicherweise mehrere Tests mit unterschiedlichen Einschränkungsstufen ausgeführt werden, um die Pareto-Front zu ermitteln.

  3. Fügen Sie dem Dictionary verschiedene Messwerte als einzelne Messwerte hinzu. Beachten Sie die folgenden wichtigen Überlegungen zu diesem Ansatz:

    • Beschränken Sie die Optimierung mehrerer Ziele auf 3 bis 5 Messwerte. Bei zu vielen Messwerten schlägt der Pareto-Vergleich fehl, da fast jedes Programm bei mindestens einem Messwert dominiert. MAP-Elites verbringt die meiste Zeit damit, übergeordnete Programme zu entwickeln, die triviale oder verrauschte Messwerte optimieren. Reduzieren Sie die Dimensionalität durch Aggregation, Auswahl oder PCA auf 3 bis 5 aussagekräftige Messwerte.

    • Einzelne Ergebnisse pro Benchmark können zu einer Überanpassung führen. Wenn einzelne Ergebnisse für 5 Benchmarks übergeben werden, kann dies zu einer Überanpassung bei einigen Benchmarks führen. Wenn nur die aggregierte Summe übergeben wird, lässt sich das Modell besser auf unbekannte Benchmarks verallgemeinern. Wenn die Verallgemeinerung wichtig ist, sollten Sie die Ergebnisse aggregieren, bevor Sie sie an AlphaEvolve übergeben, anstatt jede Benchmark unabhängig zu optimieren.

Wenn Sie diese Funktion aktivieren, verfolgt AlphaEvolve eine Pareto-Front und MAP-Elites behält das beste Programm für jeden Messwert bei. Kombinierte gewichtete Ergebnisse ermöglichen jedoch eine einfachere Argumentation und Fehlersuche.