RT-T11: 멀티모달 경로 최적화

🎯 멀티모달 경로 최적화 개요도로·철도·해운·항공 복합 활용

RT-T10까지는 단일 모드(도로) 기반 배차 최적화에 집중했다. RT-T11은 도로·철도·해운·항공 4개 운송 모드를 복합 활용하는 멀티모달 경로 최적화를 다룬다. 각 운송 수단은 노드-엣지 그래프로 모델링되고, 환적(Transfer) 노드에는 모드 전환 비용·시간을 패널티로 부여한다.

목적은 단일 지표(최소 비용)가 아닌 비용·시간·탄소 배출의 3가지 지표를 동시에 최소화하는 것이다. 이들은 서로 상충 관계 (trade-off)에 있어 하나의 해로 수렴하지 않으며, NSGA-II (Non-dominated Sorting Genetic Algorithm II) 기반의 다목적 유전 알고리즘Pareto 해집합을 반환한다. 의사결정자는 가중치를 부여해 최종 경로를 선택한다.

🧭 NSGA-II 실행 파이프라인5단계 · 해집합 생성 → 추천
STEP 1
data_collect

4개 모드 네트워크(도로/철도/해운/항공) · 거리·요금·리드타임·탄소 계수 수집.

STEP 2
graph_build

모드별 노드-엣지 그래프 + transfer_cost 환적 패널티 부여.

STEP 3
nsga2_evolve

초기 population 50개 → 50세대 진화 · 비지배 정렬 + Crowding Distance.

STEP 4
pareto_front

비지배해 추출 → Pareto 해집합 시각화 (3D: 비용·시간·CO₂).

STEP 5
decide_recommend

사용자 가중치(w_cost, w_time, w_co2) 반영 · 가중 점수 최저 해 추천.

🐍 모드 전환 비용 행렬 (Python dict)
# transfer_cost: (from_mode, to_mode) → (time_hr, cost)
# 환적 노드에서 적용되는 패널티 (그래프 엣지 가중치에 가산)
transfer_cost = {
    ("road", "rail"): {"time_hr": 2.0, "cost": 50000},
    ("rail", "sea"):  {"time_hr": 4.0, "cost": 80000},
    ("road", "air"):  {"time_hr": 3.0, "cost": 120000}
}
🐍 NSGA-II 다목적 최적화 objectives
# 3-objective optimization (서로 상충 관계)
from pymoo.algorithms.moo.nsga2 import NSGA2
from pymoo.optimize import minimize

objectives = [
    minimize(total_cost),        # KRW
    minimize(total_transit_time), # hour
    minimize(co2_emission)        # kg CO2eq
]

# NSGA-II (비지배 정렬 기반 다목적 GA)
algo = NSGA2(pop_size=50, n_gen=50)
result = minimize(problem, algo, seed=42)
pareto_front = result.F  # shape: (k, 3) — k개의 비지배해
🎯 3-objective 목적함수 & 모드별 특성도로·철도·해운·항공
minimize total_cost = Σ (edge_costi) + Σ (transfer_costj)
minimize total_transit_time = Σ (edge_timei) + Σ (transfer_timej)
minimize co2_emission = Σ (distancei × emission_factormode)
# NSGA-II → Pareto Front → 가중 점수 (w_cost·C̃ + w_time·T̃ + w_co2·E)̃
road도로 · 비용·리드타임 중간, 탄소 62g/ton·km · 문전 배송 유연성 최고 · 단거리 최적.
rail철도 · 비용 저렴, 탄소 22g/ton·km · 대량 운송에 유리하나 환적 경직.
sea해운 · 비용 최저 / 탄소 8g/ton·km · 리드타임 최장 · 국제 장거리 벌크에 압도적 우위.
air항공 · 시간 최단 · 탄소 602g/ton·km · 비용·배출 모두 최대 · 긴급 납기용.

Pareto Front 해 하나를 그냥 선택하는 것이 아니라, 3 objectives를 정규화(normalize)한 뒤 사용자 가중치를 곱해 가중 점수(Weighted Score)를 계산한다. 가중치는 시나리오에 따라 바뀔 수 있다 — 비용 우선(w_cost=0.7)은 해운 경로를, 시간 우선(w_time=0.7)은 항공을, 탄소 우선(w_co2=0.7)은 철도+해운을 선택한다.

참고문헌
[1] Devox Software, "Logistics Tech 2025-2026" (2025.12)
[2] closeloop.com, "AI in Transportation and Logistics: 2025 Trends" (2025.11)