1315.27 다목적 최적화를 위한 메트릭 설계

1315.27 다목적 최적화를 위한 메트릭 설계

1. 다목적 최적화의 필요성

실제 로봇 시스템에서는 에너지 소모, 수행 시간, 이동 거리, 작업 품질, 안전성 등 여러 목표를 동시에 고려해야 하는 경우가 빈번하다. PDDL은 단일 메트릭만을 지원하므로, 다목적 최적화(multi-objective optimization)를 위해서는 여러 목표를 단일 스칼라 목적 함수로 결합하는 기법이 필요하다.

2. 가중 합 방법(Weighted Sum Method)

가장 널리 사용되는 방법으로, 각 목표에 가중치를 부여하여 선형 결합한다:

\text{metric} = \sum_{i=1}^{n} w_i \cdot f_i

(:functions
    (total_energy)
    (total_time)
    (total_risk)
)

;; 가중 합 최소화
(:metric minimize
    (+ (* 0.5 (total_energy))
       (* 0.3 (total_time))
       (* 0.2 (total_risk))))

2.1 가중치 설정 지침

고려 사항설명
단위 정규화서로 다른 단위의 목표를 동일 스케일로 변환
상대적 중요도목표의 우선순위에 따라 가중치 결정
파레토 최적성가중치 벡터에 따라 파레토 최적해의 다른 부분 탐색

단위 정규화 예시: 에너지(0~100 kWh)와 시간(0~3600 초)의 스케일이 다르면, 정규화 없이 가중 합을 구성하면 스케일이 큰 목표가 지배적이 된다:

;; 정규화된 가중 합
(:metric minimize
    (+ (* 0.5 (/ (total_energy) 100))      ;; 0~1 범위로 정규화
       (* 0.5 (/ (total_time) 3600))))      ;; 0~1 범위로 정규화

3. 사전적 최적화(Lexicographic Optimization)

목표에 우선순위를 부여하여 상위 목표를 먼저 최적화하고, 동률인 경우에만 하위 목표를 고려하는 방법이다. PDDL은 사전적 최적화를 직접 지원하지 않으나, 가중치의 크기 차이를 이용하여 근사할 수 있다:

;; 안전성 > 에너지 > 시간 우선순위
(:metric minimize
    (+ (* 1000 (total_risk))       ;; 최우선: 위험도
       (* 10 (total_energy))        ;; 차선: 에너지
       (* 1 (total_time))))         ;; 최후: 시간

가중치 비율이 충분히 크면(예: 1000:10:1), 상위 목표가 열등한 계획이 하위 목표의 우수함으로 보상되지 않는다.

4. 제약 기반 접근

한 목표는 제약(constraint)으로, 다른 목표는 최적화 대상으로 설정하는 방법이다:

;; 에너지를 제약으로, 시간을 최적화 대상으로
(:action move
    :precondition (and
        (...)
        (>= (battery_level ?r) (energy_cost ?from ?to))
        ;; 에너지 제약: 배터리 잔량 확인
    )
    :effect (and
        (...)
        (increase (total_time) (travel_time ?from ?to))
        (decrease (battery_level ?r) (energy_cost ?from ?to))
    )
)

(:metric minimize (total_time))
;; 에너지는 전제 조건으로 관리, 시간만 최적화

5. 로봇 도메인에서의 다목적 메트릭 사례

5.1 물류 로봇: 비용-시간 균형

(:metric minimize
    (+ (* 0.6 (total_delivery_cost))
       (* 0.4 (total_delivery_time))))

5.2 순찰 로봇: 커버리지-에너지 균형

(:metric maximize
    (- (coverage_score)
       (* 0.3 (total_energy_consumed))))

5.3 다중 로봇: 공정성-효율성 균형

모든 로봇의 작업 부하가 균등하면서 전체 시간이 최소화되도록:

(:metric minimize
    (+ (makespan)
       (* 5 (workload_variance))))

6. 가중치 탐색 전략

최적 가중치를 결정하기 위한 실용적 전략:

  1. 격자 탐색: 가중치 공간을 균등하게 분할하여 여러 조합으로 계획을 생성하고 비교한다.
  2. 도메인 전문가 설정: 로봇 운영자의 경험에 기반하여 가중치를 설정한다.
  3. 민감도 분석: 가중치를 소폭 변경하며 계획의 변화를 관찰한다.

7. 참고 문헌

  • Fox, M. & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” Journal of Artificial Intelligence Research, 20, 61–124.
  • Gerevini, A. & Long, D. (2005). “Plan Constraints and Preferences in PDDL3.” Technical Report, University of Brescia.
  • Haslum, P., Lipovetzky, N., Magazzeni, D., & Muise, C. (2019). An Introduction to the Planning Domain Definition Language. Morgan & Claypool Publishers.