TMS Algorithm / Algorithm 6
Algorithm 6 · 다중경유 셔틀/용차 하이브리드 배차
수십 개 거점에서 발생하는 거점 간 점대점 오더(A→B, C→D …)를, 정해진 거점 순서를 순회하는 다중경유(milk-run) 정기 셔틀에 우선 묶어(consolidation) 싣고 적재 불가 시 용차로 배차합니다. Phase 1은 과거 O-D 수요에서 경유 거점·방문 순서·시간표·용량을 자동 설계하고, Phase 2는 신규 오더를 거점 순서·구간 용량·시간창·마감 제약 하에 셔틀 트립에 매칭하거나 용차로 fallback합니다.
적재 후 점유 구간 적재율이 최대가 되는 트립(빈틈 최소) · 마감 경과/용량 부족/시간창 불충족 트립은 후보에서 제외되어 용차로 배차됩니다.
Phase 1 · 수요 패턴 분석 & 다중경유 라인 자동 설계
수도권 도심 배송망 (14거점) · 거점 14개 · 과거 8주 / 838건 이력
거점망 · 자동 설계 셔틀 라인 · O-D 수요 흐름
셔틀 라인 1개
라인 114정차 · 16P
거점 유형
▲주로 출발▼주로 도착그 외 균형
O-D 주요 흐름
출발→도착 · 굵기=건수, 진하기=물량
상위 O-D 흐름 (출발 → 도착)
송파 → 강동17건43P셔틀
부천 → 용산16건35P셔틀
성동 → 안양15건34P셔틀
영등포 → 수원15건32P셔틀
구로 → 안양14건35P셔틀
구로 → 송파14건35P셔틀
성동 → 송파14건35P셔틀
영등포 → 용산14건26P셔틀
시뮬레이션 평가
셔틀 커버리지
71%
594/838건
평균 적재율
24%
사용 트립 204
라인/슬롯
1/29
자동 설계
비용 절감
32%
₩256,680,000 vs ₩377,100,000
수요 히트맵 (요일 × 시간대)
| 00 | 02 | 04 | 06 | 08 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 월 | 9 | 44 | 24 | 16 | 26 | 8 | ||||||
| 화 | 15 | 59 | 31 | 33 | 41 | 8 | ||||||
| 수 | 11 | 39 | 30 | 17 | 22 | 5 | ||||||
| 목 | 14 | 64 | 30 | 32 | 37 | 15 | ||||||
| 금 | 11 | 46 | 29 | 10 | 28 | 6 | ||||||
| 토 | 2 | 11 | 7 | 5 | 9 | 2 | ||||||
| 일 | 5 | 9 | 8 | 5 | 13 | 2 |
2시간 버킷 · 가장 붐비는 셀 64건 · 총 838건 / 8주
자동 설계 라인 (용량 편집 가능)
라인 114개 정차 · 2.5t
김포→부천→구로→영등포→성동→용산→광진→송파→강동→서초→강남→과천→안양→수원
운행 시간표 (편집 가능)
| 라인 | 요일 | 출발(HH:mm) | |
|---|---|---|---|
Phase 2 · 실시간 오더 배차
배차 기준 시각 D56 월 09:00 · 신규 오더 21건을 다중경유 트립에 매칭하거나 용차로 fallback
신규 오더
21
D56 월 09:00
셔틀 적재
7
커버리지 33%
용차 배차
14
총 운송비
₩9,180,000
전량 용차 대비 3% 절감
셔틀 트립 타임라인
막대 = 라인 운행(첫→끝 정차), 눈금 = 경유 거점, 채움 = 최대 구간 적재율⋮ now흐림 = 이미 출발
배차 결정 (사유 포함)
| 오더 | 구간 (O→D) | 물량 | 픽업 시간창 | 배차 | 사유 |
|---|---|---|---|---|---|
| L-metro-20 | 용산 → 강남 | 12 | 14:19–16:57 | 셔틀T56-LINE-metro-0-1300 | BEST_FIT 선택 → T56-LINE-metro-0-1300 적재(구간 5→10) · 미래 트립 대기 |
| L-metro-9 | 구로 → 수원 | 4 | 12:43–14:02 | 셔틀T56-LINE-metro-0-1100 | BEST_FIT 선택 → T56-LINE-metro-0-1100 적재(구간 2→13) · 미래 트립 대기 |
| L-metro-6 | 김포 → 안양 | 3 | 14:00–15:12 | 셔틀T56-LINE-metro-0-1430 | BEST_FIT 선택 → T56-LINE-metro-0-1430 적재(구간 0→12) · 미래 트립 대기 |
| L-metro-1 | 용산 → 영등포 | 2 | 12:10–13:48 | 용차SPOT-0 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 거점 순서 역행(도착이 출발보다 앞) / T56-LINE-metro-0-1100: 거점 순서 역행(도착이 출발보다 앞) … |
| L-metro-13 | 과천 → 수원 | 1 | 06:10–06:49 | 용차SPOT-1 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족, 배송 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 배송 시간창 불충족 … |
| L-metro-19 | 성동 → 수원 | 4 | 06:12–08:04 | 용차SPOT-2 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족, 배송 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 배송 시간창 불충족 … |
| L-metro-16 | 구로 → 안양 | 3 | 07:25–10:01 | 용차SPOT-3 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족, 배송 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 배송 시간창 불충족 … |
| L-metro-17 | 김포 → 강동 | 4 | 09:44–11:40 | 셔틀T56-LINE-metro-0-1100 | BEST_FIT 선택 → T56-LINE-metro-0-1100 적재(구간 0→8) · 미래 트립 대기 |
| L-metro-7 | 부천 → 광진 | 13 | 19:10–20:23 | 용차SPOT-4 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 구간 용량 부족 … |
| L-metro-11 | 부천 → 안양 | 1 | 18:46–21:25 | 용차SPOT-5 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족 … |
| L-metro-3 | 영등포 → 광진 | 1 | 15:12–16:22 | 용차SPOT-6 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족 … |
| L-metro-12 | 광진 → 강동 | 2 | 13:45–15:39 | 셔틀T56-LINE-metro-0-1100 | BEST_FIT 선택 → T56-LINE-metro-0-1100 적재(구간 6→8) · 미래 트립 대기 |
| L-metro-18 | 송파 → 김포 | 2 | 07:43–09:43 | 용차SPOT-7 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 거점 순서 역행(도착이 출발보다 앞) / T56-LINE-metro-0-1100: 거점 순서 역행(도착이 출발보다 앞) … |
| L-metro-10 | 김포 → 수원 | 2 | 14:32–15:12 | 용차SPOT-8 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 적재 마감 경과, 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족 … |
| L-metro-5 | 강남 → 안양 | 1 | 09:07–10:34 | 용차SPOT-9 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 배송 시간창 불충족 … |
| L-metro-14 | 광진 → 성동 | 2 | 18:13–20:47 | 용차SPOT-10 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 거점 순서 역행(도착이 출발보다 앞) / T56-LINE-metro-0-1100: 거점 순서 역행(도착이 출발보다 앞) … |
| L-metro-0 | 성동 → 강동 | 3 | 16:21–19:10 | 셔틀T56-LINE-metro-0-1430 | BEST_FIT 선택 → T56-LINE-metro-0-1430 적재(구간 4→8) · 미래 트립 대기 |
| L-metro-4 | 강남 → 수원 | 2 | 13:36–15:42 | 셔틀T56-LINE-metro-0-0930 | BEST_FIT 선택 → T56-LINE-metro-0-0930 적재(구간 10→13) · 미래 트립 대기 |
| L-metro-15 | 강동 → 과천 | 3 | 10:34–12:21 | 용차SPOT-11 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족 … |
| L-metro-2 | 영등포 → 수원 | 2 | 14:31–15:09 | 용차SPOT-12 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족 … |
| L-metro-8 | 과천 → 안양 | 2 | 10:46–11:11 | 용차SPOT-13 | 적재 가능한 셔틀 트립 없음 → 용차 탈락: T56-LINE-metro-0-0930: 픽업 시간창 불충족 / T56-LINE-metro-0-1100: 픽업 시간창 불충족, 배송 시간창 불충족 … |