🌐 TMS AI 라우팅 - 멀티모달 경로 최적화
TMS AI 라우팅 엔진 · 도로·철도·해운·항공 · NSGA-II 다목적 최적화 · Pareto 해집합 · 김지훈 수석연구원 · 연구노트 11p 대응
RT-T10까지는 단일 모드(도로) 기반 배차 최적화에 집중했다. RT-T11은 도로·철도·해운·항공 4개 운송 모드를 복합 활용하는 멀티모달 경로 최적화를 다룬다. 각 운송 수단은 노드-엣지 그래프로 모델링되고, 환적(Transfer) 노드에는 모드 전환 비용·시간을 패널티로 부여한다.
목적은 단일 지표(최소 비용)가 아닌 비용·시간·탄소 배출의 3가지 지표를 동시에 최소화하는 것이다. 이들은 서로 상충 관계 (trade-off)에 있어 하나의 해로 수렴하지 않으며, NSGA-II (Non-dominated Sorting Genetic Algorithm II) 기반의 다목적 유전 알고리즘이 Pareto 해집합을 반환한다. 의사결정자는 가중치를 부여해 최종 경로를 선택한다.
4개 모드 네트워크(도로/철도/해운/항공) · 거리·요금·리드타임·탄소 계수 수집.
모드별 노드-엣지 그래프 + transfer_cost 환적 패널티 부여.
초기 population 50개 → 50세대 진화 · 비지배 정렬 + Crowding Distance.
비지배해 추출 → Pareto 해집합 시각화 (3D: 비용·시간·CO₂).
사용자 가중치(w_cost, w_time, w_co2) 반영 · 가중 점수 최저 해 추천.
# 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} }
# 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개의 비지배해
탄소 62g/ton·km · 문전 배송 유연성 최고 · 단거리 최적.비용 저렴, 탄소 22g/ton·km · 대량 운송에 유리하나 환적 경직.탄소 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)