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 der Ergebnisse 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 über oder unter einen Schwellenwert fällt.

    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 verschiedene Messwerte als einzelne Messwerte in das Dictionary ein. 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.

    • Individuelle Ergebnisse pro Benchmark können zu einer Überanpassung führen. Wenn individuelle 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 Ergebnis 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 bieten jedoch eine einfachere Argumentation und Fehlersuche.