
#1. 미션 소개
강남역 금요일 저녁과 같이 특정 시간과 장소에서 급증하는 택시 호출 수요를 정확하게 예측하고, 이를 기반으로 한정된 택시 자원을 효율적으로 배분하는 동적 배차(Dynamic Dispatching) 알고리즘을 구현합니다.
- 교육 개요 및 목표
카카오T와 같은 모빌리티 플랫폼은 시시각각 변화하는 도로 상황, 날씨, 지역 이벤트 등 다양한 변수로 인해 택시 수요와 공급 간 불균형이 자주 발생합니다. 이러한 문제를 해결하기 위해서는 단순한 통계 기반 예측을 넘어, 현실의 시공간 데이터를 가상 환경에 정밀하게 구현하고 분석할 수 있는 모빌리티 디지털 트윈(Mobility Digital Twin) 접근이 필요합니다.
디지털 트윈 환경에서는 도시 전반의 실시간 호출 흐름을 가상 공간에 시각화하고, AI 기반 시뮬레이션을 통해 미래 수요를 선제적으로 예측할 수 있습니다. 또한 가상 환경에서 동적 배차 최적화 알고리즘을 검증함으로써 실제 서비스 환경에서의 플랫폼 운영 효율을 높이고 데이터 기반 의사결정을 지원할 수 있습니다.
이를 위해 본 프로젝트에서는 다음과 같은 핵심 기술 영역을 다룹니다.
- Spatial Data Engineering: 대용량 GPS 좌표 및 지도 데이터(HD Map) 처리
- Matching Optimization: 승객 수요와 기사 공급을 연결하는 최적화 기반 매칭 알고리즘
- Urban Navigation: 도심 협곡(Urban Canyon) 환경에서의 정밀 위치 추정 및 경로 탐색
본 미션에서는 실제 도시 교통 환경을 가상 공간에 재현하는 모빌리티 Digital Twin 환경을 구축하고, 이를 기반으로 택시 수요 예측 및 동적 배차 알고리즘을 설계하고 검증합니다.
이를 위해 교육 과정에서는 도시 도로 네트워크(Map), 차량 및 환경 객체(Object), 차량 이동 및 상호작용(Animation) 등으로 구성된 3D Asset 세트가 제공됩니다. 학습자는 이러한 Asset을 활용하여 가상의 도시 교통 환경을 구성하고, 시뮬레이션 기반 환경에서 수요 예측 모델과 배차 알고리즘의 동작을 검증하게 됩니다.
본 프로젝트에서 구축되는 Digital Twin 환경은 다음과 같은 구조로 구성됩니다.
- Physical Layer: 실제 또는 유사 택시 호출 데이터(GPS 좌표, 시간, 지역 정보 등)
- Digital Layer: 3D Map과 Object를 활용한 도시 교통 시뮬레이션 환경
- Analytics Layer: AI 기반 수요 예측 모델 및 시공간 데이터 분석
- Decision Layer: 동적 배차 및 인센티브 최적화 알고리즘
이러한 구조를 통해 학습자는 실제 모빌리티 서비스에서 발생하는 문제를 가상 환경에서 분석·예측·검증하는 Digital Twin 기반 문제 해결 과정을 경험하게 됩니다.
- 개발 및 실습 환경
실제 도로 환경에서 대규모 실험을 수행하기 어렵기 때문에, 교통 흐름을 재현할 수 있는 시뮬레이션 환경이 필요합니다.
- Languages: Python
- Frameworks:
- Simulation: SUMO (도심 교통 흐름 시뮬레이션), Carla (자율주행 시뮬레이터).
- Map/Data: gl (대용량 위치 데이터 시각화), OSM (OpenStreetMap), PostGIS (공간 DB).
- AI/Algo: PyTorch (수요 예측), NetworkX (그래프 경로 탐색), Kalman Filter (위치 보정).
- Backend: Kafka (실시간 위치 스트리밍), Redis (초고속 매칭 캐싱).
- 3D Simulation Assets:
- Map: 도시 도로 네트워크 및 교차로 구조.
- Object: 택시차량, 킥보드 이용자, 자동차 장애물(트럭, SUV).
- Animation: 킥보드 이용자 넘어지는 모션.
- Asset Package Download URL:
해당 Asset을 활용하여 Digital Twin 기반 교통 시뮬레이션 환경을 구성하고, 알고리즘의 동작을 가상 환경에서 검증합니다.
- 세부 시나리오 및 수행 과제
본 과제는 크게 4가지 모듈로 구성되며 Digital Twin 과의 연결됩니다. 각 모듈은 실시간 모빌리티 데이터 처리 및 활용 역량을 필요로 합니다.
[Module 1: Digital Twin 환경 구성] 3D 도시 교통 시뮬레이션 구축
- 시나리오: 제공된 3D Map, Object, Effect, Animation Asset을 활용하여 도시 교통 환경을 구성하고 택시 및 승객 이동 시뮬레이션 환경을 구축합니다.
- 수행 과제:
- 제공된 3D Map Asset을 기반으로 도시 교통 환경을 구성합니다.
- 택시 차량 및 일반 차량 Object를 배치합니다.
- 차량 이동 Animation을 설정하여 교통 흐름을 표현합니다.
- 시뮬레이션 환경에서 차량 이동 및 호출 상황을 재현합니다.
[Module 2: 시공간 데이터 처리] 실시간 호출 데이터 "피처 엔지니어링"
- 시나리오: 실시간으로 쏟아지는 택시 호출 로그(출발지 GPS, 도착지 GPS, 시간, 기상 정보 등)를 머신러닝 모델이 학습할 수 있는 형태로 가공해야 합니다.
- 수행 과제:
- 시공간 데이터 가공: GPS 좌표를 행정구역(동 단위) 또는 격자(Grid) 단위로 매핑하고, 시간 정보를 다양한 단위(시간대, 요일, 계절 등)로 변환합니다.
- 외부 데이터 결합: 기상청 날씨 데이터, 교통량 데이터, 이벤트 정보 등 수요에 영향을 미치는 외부 데이터를 호출 데이터와 결합합니다.
- 피처 생성: 과거 특정 기간의 평균 호출 수, 이동 평균, 시차 특징(Lag Feature) 등 시계열 예측에 유효한 파생 변수를 생성합니다.
[Module 3: 시계열 예측] 딥러닝 기반 "단기 미래 수요 예측 모델"
- 시나리오: 현재 시점(t)까지의 데이터를 바탕으로, 향후 30분(t+1 ~ t+6, 5분 단위) 동안 강남구 역삼동에서 발생할 택시 호출 수를 예측하는 모델을 개발합니다.
- 수행 과제:
- 모델 선택 및 학습: 시공간적 특성을 고려할 수 있는 딥러닝 모델(예: CNN-LSTM, ConvLSTM 등) 또는 시계열 예측 모델(예: Prophet, XGBoost 등)을 선택하고 학습시킵니다.
- 모델 평가: 예측 정확도(RMSE, MAE, MAPE 등)를 평가하고, 다양한 시간대 및 지역에서의 성능을 검증합니다.
- 하이퍼파라미터 튜닝: 모델의 성능을 최적화하기 위해 하이퍼파라미터를 튜닝합니다.
[Module 4: 최적화 알고리즘] 수요 기반 "동적 배차 및 인센티브 시스템"
- 시나리오: Module 3에서 예측된 수요 불균형 지역(예: 수요 >>> 공급)으로 빈 택시 기사들을 유도하기 위한 실시간 동적 가격(Surge Pricing) 또는 인센티브 제공 알고리즘을 구현합니다.
- 수행 과제:
- 수급 불균형 지표 정의: 예측된 수요와 현재 공급(빈 택시 수)을 기반으로 지역별 수급 불균형 정도를 나타내는 지표를 정의합니다.
- 동적 인센티브 알고리즘: 수급 불균형 심각도에 따라 기사에게 제공할 추가 요금이나 포인트(인센티브) 수준을 실시간으로 결정하는 로직을 구현합니다.
- 배차 시뮬레이션: 구현된 동적 배차 알고리즘을 Digital Twin 시뮬레이션 환경에 적용하여 다음과 같은 효과를 검증합니다.수요 집중 지역에서의 차량 이동 변화승객 대기 시간 감소 효과차량 분포 변화
제공된 3D Map, Object, Animation Asset을 활용하여 배차 알고리즘 적용 전후의 교통 흐름 변화를 시각적으로 확인할 수 있습니다.
#2. 최종 결과물
본 미션의 최종 결과물은 아래 내용이 모두 포함된 GitHub Repository입니다.
- data/: 샘플 데이터 또는 데이터 로드 스크립트 (대용량 데이터 제외)
- module1_simulation/:Digital Twin 3D 도시 교통 시뮬레이션
- module2_preprocessing/: 시공간 데이터 처리 및 피처 엔지니어링 코드
- module3_prediction/: 수요 예측 모델 학습 및 평가 코드
- module4_dispatch/: 동적 배차 및 인센티브 알고리즘 코드
- notebooks/: 데이터 탐색 및 모델링 과정이 담긴 Jupyter Notebook 파일
- docs/: 프로젝트 보고서 및 실행 가이드
- [Module 1] Digital Twin Simulation 최소 구성
• 도시 크기 : 3x3 블럭
• 탑승자: 5명
• 택시: 3대
• 일반 차량: 차종 4종 (각 5대)
• 자율주행 차량: 1대
• 장애물: 2개
- [Module 2] 데이터 전처리 파이프라인 코드:
• GPS 좌표 매핑 및 시공간 격자화 코드
• 외부 데이터 결합 및 결측치 처리 코드
• 시계열 피처 및 파생 변수 생성 코드
- [Module 3] 수요 예측 모델 코드:
• 모델 구조 정의 및 학습 코드 (딥러닝 프레임워크 활용 권장)
• 모델 성능 평가(RMSE, MAE, MAPE 등) 및 시각화 코드
• 예측 결과 분석 (시간대별/지역별 성능 차이 등)
- [Module 4] 동적 배차 알고리즘 코드:
• 수급 불균형 지표 계산 로직
• 동적 인센티브(Surge Pricing) 결정 알고리즘 구현 코드
• (선택) 배차 시뮬레이션 코드 또는 알고리즘 동작 예시
- 통합 분석 보고서 (REPORT.md 또는 Jupyter Notebook):
• 시공간 데이터 특성 분석(EDA) 및 시각화 결과
• 예측 모델 선정 근거 및 성능 평가 결과
• 동적 배차 알고리즘 설계 논리 및 기대 효과
- 실행 가이드 (README.md):
• 프로젝트 개요 및 환경 설정 방법
• 각 모듈별 실행 방법 및 예시
• 데이터셋 설명 (소스, 기간, 특성 등)
#3. 과제 목표
본 과제를 수행함으로써 학습자는 다음과 같은 목표를 달성할 수 있습니다.
- 대규모 시공간 데이터 처리 능력 함양: GPS 좌표, 시간 정보 등이 포함된 대규모 모빌리티 데이터를 효율적으로 처리하고 분석에 적합한 형태로 가공하는 능력을 키웁니다.
- 딥러닝 기반 시계열 예측 모델링 경험 축적: 시공간적 특성을 가진 데이터에 적합한 딥러닝 모델(CNN-LSTM 등)을 이해하고 구현하며 예측 모델링 역량을 강화합니다.
- 최적화 기반 문제 해결 능력 배양: 예측 결과를 바탕으로 자원 할당을 최적화하는 알고리즘을 설계하고 구현하며 현실 문제 해결 능력을 키웁니다.
- 플랫폼 비즈니스 이해도 제고: 모빌리티 플랫폼의 핵심 문제인 수급 불균형을 이해하고, 데이터 기반 기술로 이를 해결하는 과정을 통해 플랫폼 비즈니스에 대한 통찰력을 얻습니다.
#4. 목표 수행 시간
- 총 200시간 (개인별 역량 및 학습 속도에 따라 상이할 수 있음)
#5. 기능 요구 사항