다중 목표 최적화

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가 각 측정항목에 가장 적합한 프로그램을 유지합니다. 하지만 결합된 가중치 점수는 더 간단한 추론과 디버깅을 제공합니다.