다중 목표 최적화

AlphaEvolve는 여러 동시 목표에 대해 최적화할 수 있습니다. AlphaEvolve는 다중 목표 최적화를 지원하지만 개별 목표의 수를 인간 전문가가 결과를 분석할 때 파악할 수 있는 수로 제한하세요.

다음 방법을 사용하여 다중 목표 검색 전략을 구성하세요.

  1. 결합된 목표 함수: 다중 목표 최적화의 한 가지 접근 방식은 결합된 목표 함수를 활용하는 것입니다.

    obj = w1 * in_stock_rate - w2 * inventory_level
    
  2. 한 목표를 제약 조건으로 취급: 또 다른 접근 방식은 한 목표를 제약 조건으로 취급하는 것입니다. 이는 한 측정항목을 최적화하면서 다른 측정항목이 기준을 초과하거나 미만으로 떨어지지 않도록 하는 데 유용합니다.

    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. 다양한 측정항목을 사전의 개별 측정항목으로 포함합니다. 이 접근 방식과 관련된 다음 주요 고려사항을 참고하세요.

    • 다중 목표 최적화를 3~5개의 측정항목으로 제한합니다. 측정항목이 너무 많으면 파레토 비교기가 실패합니다. 거의 모든 프로그램이 하나 이상의 측정항목에서 우위를 점하기 때문입니다. MAP Elites는 사소하거나 노이즈가 많은 측정항목을 최적화하는 상위 요소를 진화시키는 데 대부분의 시간을 사용합니다. 집계, 선택 또는 PCA를 통해 차원을 3~5개의 의미 있는 측정항목으로 줄입니다.

    • 벤치마크별 개별 점수는 과적합을 유발할 수 있습니다. 5개 벤치마크의 개별 점수를 전달하면 일부에서 과적합이 발생할 수 있지만 집계된 합계만 전달하면 보이지 않는 벤치마크에 더 잘 일반화됩니다. 일반화가 중요한 경우 각 벤치마크를 독립적으로 최적화하는 대신 AlphaEvolve에 전달하기 전에 점수를 집계하는 것이 좋습니다.

이 기능을 사용 설정하면 AlphaEvolve가 파레토 프런티어를 추적하고 MAP-Elites가 각 측정항목에 대해 최적의 프로그램을 유지합니다. 하지만 결합된 가중치 점수는 더 간단한 추론과 디버깅을 제공합니다.