창고(WMS)와 운송(DVRP) 운영에서 가장 변수가 많은 영역은 사람이다. 출퇴근 패턴, 지각·결근, 갑작스러운 물량 폭주, 고객사의 긴급 출고 요청, 운전기사의 장거리 운행 등 사람 기반 요소는 단순 규칙으로 제어하기 어렵다.
REINDEERS는 이 문제를 해결하기 위해 AI 기반 Dynamic Workforce Scheduling Engine을 구축했다. 이 엔진은 작업량 예측부터 인력 배분, 실시간 스케줄 조정까지 물류 현장에서 발생하는 모든 변수를 계산하여 작업자를 최적의 위치에 배치한다. 4개국에 걸쳐 운영되는 REINDEERS 물류 네트워크에서 인력 비용은 전체 운영비의 30~40%를 차지한다. 이 비용을 최적화하려면 "필요한 곳에 필요한 만큼만" 인력을 배치하는 정밀한 계산이 필요하고, 그 계산은 사람의 감으로는 한계가 있다.
28. Dynamic Workforce Scheduling: 기본 개념
Workforce 엔진은 다음 두 가지 핵심 목표를 가진다.
- 물류 작업량의 예측(Predictive Workload Calculation)
- 작업자 자동 배치(Automated Workforce Assignment)
즉, "내일 필요한 인력이 몇 명인지?"를 미리 계산하고, "누가 어떤 업무를 맡아야 하는지?"를 시스템이 자동으로 결정한다. 기존에는 창고 관리자가 전날 저녁이나 당일 아침에 경험적으로 인력을 배분했는데, 이 방식은 월말 출고 피크나 갑작스러운 대량 입고 같은 변수에 대응하기 어렵다.
29. Workload Estimation Engine (작업량 예측 엔진)
작업량 예측은 단순 통계가 아니라 실제 DO/ASN/OSN/재고 이동/반품/폐기/실사 데이터 전체를 이용한 예측 모델이다.
29.1 예측 모델 입력값
- 지난 30/60/90일간의 출고량 패턴
- 고객사별 출고 스케줄(정기출고 / 월말 피크)
- 유통기한 임박 SKU 증가량 (FEFO 기반)
- 입고 예약량(ASN 기반)
- 반품 증가 패턴
- 직원 휴가/결근율 패턴
- 차량 가용성(DVRP 연동)
- Zone별 혼잡도(피킹 동선 분석)
이 입력값들은 단순히 나열되는 것이 아니라, 상호 의존 관계를 가진다. 예를 들어 특정 고객사의 월말 대량 출고 패턴은 해당 고객사 전용 Zone의 혼잡도를 높이고, 동시에 해당 Zone에서의 피킹 시간이 길어져 전체 출고 처리량이 떨어진다. 이런 연쇄 효과를 반영하지 않으면 필요 인력을 과소 추정하게 된다.
29.2 예측 알고리즘
workload_forecast =
weighted_moving_average(출고량)
+ seasonal_pattern(요일/월말/분기)
+ anomaly_adjustment(급증 패턴)
+ expiry_pressure(유통기한 리스크)
+ inbound_pressure(입고 예정량)
이 예측치는 "다음날 필요한 총 노동량(man-hour)"로 계산된다. weighted_moving_average에서 최근 7일의 가중치가 가장 높고, 30일 전 데이터는 10% 수준의 가중치만 적용된다. 계절성 패턴은 요일별(월요일 입고 피크, 금요일 출고 피크), 월별(월말 정산 전 출고 증가), 분기별(분기말 재고 실사) 세 가지 주기를 반영한다.
30. Workforce Assignment (작업자 자동 배치)
AI는 예측된 작업량을 기준으로 WMS 인력과 운전기사(DVRP)를 자동으로 배분한다.
30.1 WMS 인력 자동 배치
- 입고 담당 인원
- 출고(OSN 피킹) 담당 인원
- 유통기한 관리팀
- 반품·폐기 처리팀
- 재고 실사팀
- Zone별 고정 담당 인력
30.2 자동 배치 알고리즘
required_workers = ceil(predicted_man_hours / avg_worker_capacity)
assignments = linear_optimization(
minimize: total_walking_distance + zone_congestion
constraints:
- worker_skill (지게차/스캐너 가능 여부)
- worker_availability
- zone_assignment_rule
)
이 계산의 결과는 "각 직원별 오늘 할당된 작업 목록"으로 생성되어
모바일 앱으로 전달된다. 선형 최적화 모델의 제약 조건 중 worker_skill이 특히 중요하다. 지게차 자격증이 있는 작업자만 대형 팔레트 입고를 할 수 있고, 위험물 취급 교육을 받은 작업자만 Hazard Zone에 진입할 수 있다. 이런 제약을 무시하면 안전 사고 위험이 높아진다.
31. Real-time Rebalancing (실시간 작업 재배분)
물량은 예측처럼 움직이지 않는다. 갑자기 10개 출고가 취소되거나, 고객사 긴급 요청이 들어올 수도 있다.
이런 상황을 처리하기 위해 REINDEERS는 Event-driven Workforce Rebalancing을 도입했다.
31.1 MQ 기반 이벤트 구조
- OSN_CREATED
- OSN_CANCELLED
- ASN_ARRIVED
- INVENTORY_DISCREPANCY_DETECTED
- DRIVER_UNAVAILABLE
- HIGH_TRAFFIC_ZONE_DETECTED
각 이벤트 발생 시:
1. load recalculation
2. assignment update
3. affected workers notified (mobile push)
이 과정을 통해 실제 작업자 동선과 배치가 실시간 최적화된다. 재배분 계산은 전체 인력을 다시 계산하는 것이 아니라, 변경된 이벤트에 영향받는 Zone과 작업자만 부분적으로 재계산한다. 전체 재계산 대비 계산량이 1/10 수준이므로, 이벤트 발생 후 2초 이내에 새 배치가 확정된다.
32. Driver Auto Assignment (DVRP 인력 자동 배차)
물류센터 인력뿐 아니라, 운전기사도 AI가 자동 스케줄링한다. 이는 DVRP의 핵심 기능이다. 2026년 3월 DVRP 베타 오픈을 목표로 개발 중이며, 현재 입고/출고 DO의 기사 배정 알고리즘이 1차 검증 단계에 있다.
32.1 주요 데이터 입력
- 운전기사 근무 시간 (근로기준 준수)
- 트럭 상태(정비/고장/만차)
- 트럭 적재용량(CBM/kg)
- DO distance
- 운행 이력 기반 피로도 점수
피로도 점수는 단순한 연속 근무 시간이 아니라, 주행 거리·야간 운행 여부·화물 적하차 횟수를 종합한 가중 점수다. 태국 도로교통법에서 규정하는 1일 최대 연속 운전 시간(4시간)과 일일 총 운전 시간(8시간) 제한도 하드 제약으로 반영된다.
32.2 배차 알고리즘
score =
distance_weight * predicted_eta +
fatigue_weight * driver_fatigue +
traffic_weight * congestion +
cost_weight * fuel_cost
best_driver = argmin(score)
이 알고리즘은 2~4초 내로 실행되며 대량 DO 상황에서도 안정적이다. 동시에 20건 이상의 DO가 들어오는 피크 시간대에는 배차를 개별 DO 단위가 아니라 배치(batch) 단위로 묶어 처리하여, 전체 최적화를 수행한다.
33. AI 기반 인력 스케줄 자동 생성
Workforce Scheduling Engine은 매일 새벽 다음날 작업자 스케줄을 자동 생성한다.
33.1 결과물 예시
WMS 인력 스케줄 (A사 창고)
----------------------------------
입고팀: 3명
출고팀: 4명
재고실사팀: 2명
반품/폐기팀: 1명
Zone별 고정 담당자: 6명
Driver 스케줄 (전체)
----------------------------------
Driver A: 3건 운행 예정 (ETA 11:30 종료)
Driver B: 2건 운행 예정 (ETA 16:50 종료)
Driver C: 예비 대기
관리자는 승인만 하면 되며, 개입은 최소화된다. 스케줄 생성은 새벽 4시에 자동 실행되고, 오전 6시까지 관리자 승인을 기다린다. 승인이 없으면 자동 확정되어 작업자 모바일 앱으로 전송된다. 관리자가 수동으로 배치를 변경할 수도 있는데, 이 경우 변경 이력이 기록되어 나중에 AI 모델의 학습 데이터로 사용된다.
34. AI가 판단하고 업무를 만드는 과정
앞선 Part에서 설명했던 AI Orchestrator(JSON Action Schema)가 WMS/DVRP Workforce에도 동일하게 적용된다.
34.1 Action 예시
{
"action": "assign_workforce",
"work_type": "picking",
"priority": "high",
"target_zone": "ZONE-B",
"required_workers": 3,
"reason": "High order volume detected"
}
이렇게 AI가 결정을 행동(Action) 단위로 생성하면,
Worker Scheduler는 이를 실행 가능한 작업으로 변환하고
모바일 앱으로 전송한다. Action에 포함된 reason 필드가 중요한데, 이 필드는 관리자가 AI의 판단 근거를 확인할 수 있도록 하는 투명성 장치다. "왜 ZONE-B에 3명이 필요한가?"라는 질문에 시스템이 스스로 답할 수 있어야 한다.
35. 왜 인력 자동화가 중요한가?
WMS/DVRP의 30~40% 비용은 인력에서 발생한다.
- 입고 피크에 인력 부족으로 적치가 지연되면 다음 입고 차량 대기 시간이 늘어난다
- 출고 피크에 동선이 혼잡해지면 피킹 시간이 1.5~2배 늘어난다
- 트럭 배차 지연은 고객 납기 SLA 위반으로 직결된다
- 재고 실사 누락은 재고 정확도 하락과 분실 클레임으로 이어진다
이러한 문제는 단순 근태 관리로 해결되지 않는다. AI 기반 예측과 배치가 반드시 필요하다. 4,300개 이상의 파트너사에서 발생하는 물류 작업을 사람의 판단만으로 최적 배분하는 것은 현실적으로 불가능하다.
36. REINDEERS Workforce Engine의 현재와 다음 단계
- WMS/DVRP 작업량을 실시간으로 분석
- 내일 필요한 인력을 자동으로 계산
- Zone·작업 타입별로 직원 자동 배치
- 운전기사와 트럭도 AI가 스케줄링
- 예측 실패 시 MQ 기반 즉시 재균형(Rebalancing)
- 모바일 앱으로 실시간 과업 전달
REINDEERS의 WMS/DVRP는 더 이상 "사람이 판단하는 시스템"이 아니다. 모든 판단은 데이터 기반 AI가 수행하고, 사람은 업무만 수행하면 되는 구조로 진화하고 있다. 이 Workforce Engine은 2026년 3월 DVRP 베타에서 처음 실환경에 적용되며, 이후 POP(2026년 4~5월) 베타와 연동되어 풀필먼트 전체의 인력 최적화로 확장될 예정이다.
시리즈 가이드
이 시리즈는 REINDEERS CORE ENGINE / TECH DEEP DIVE 전체 흐름 중 하나입니다.
- (이전) REINDEERS TECH DEEP DIVE — Part 4
- (다음) REINDEERS CORE ENGINE DEEP DIVE — PART 6
- (전체 목록) Part 1(2025-11-22), Part 2, 3, 4, 5, 6, 7, 8