fe.flag
← Research

Research prototype · Exploratory

당일배송을 위한 풀필먼트 거점·배송망 사전연구

인천 지역 우체국 소포를 당일배송하기 위해 후보 창고의 위치와 배송 거리를 비교한 네트워크 설계 실험.

Last code update
Role
알고리즘 설계 · 구현
Stack
Python · Pandas · GeoPy · Folium · Clustering
GitHub repository ↗
  1. 01소포·후보지 좌표 정리
  2. 02후보 거점·권역 구성
  3. 03거리와 경로 계산
  4. 04대안별 배송망 비교
코드에서 확인한 핵심 처리 흐름을 재구성한 설명 도식입니다.

후보 거점별 배송거리 비교 예시

synthetic distance index
후보 A 42 후보 B 68 후보 C 55 후보 D 81
실제 우체국 위치나 실험 결과가 아닌, 입지 대안을 비교하는 방식을 보여주는 가상 거리 지수입니다. 짧을수록 유리합니다.

배경과 질문

이 작업은 인천 지역의 우체국 소포를 당일배송하기 위한 풀필먼트 과제의 사전연구다. 핵심 질문은 단순하다. 어느 위치에 중간 창고를 두어야 하며, 그 선택이 실제 배송 거리에 어떤 차이를 만드는가. 나는 이 질문을 비교 가능한 계산 문제로 바꾸는 알고리즘을 설계하고 코딩했다.

코드에서 확인한 접근

노트북은 소포와 후보지의 위·경도를 정리한 뒤 K-means, BIRCH, DBSCAN 등 여러 군집화 방법으로 배송 권역을 탐색한다. 후보 거점과 소포 사이의 직선거리 및 Haversine 거리를 계산하고, 지도 위에 후보지·배송지·반경을 겹쳐 배치해 공간 관계를 확인한다. 일부 실험은 지도 경로 API의 도로 거리와 예상 시간을 조회해 좌표 기반 거리와 실제 이동 경로의 차이도 비교한다.

이 코드는 완성된 최적화 제품이 아니라 입지와 배송망을 설계하기 전에 대안을 빠르게 검토하기 위한 분석 도구다. 거리 합이나 평균이 작은 후보를 찾는 것뿐 아니라, 군집 결과가 현실적인 배송 권역으로 해석될 수 있는지를 지도에서 함께 확인한 점이 중요하다.

결과를 읽는 범위

저장소에는 운영 비용, 차량 용량, 시간창, 기사 근무조건까지 포함한 최종 의사결정 모델은 없다. 따라서 특정 위치가 ‘최적 창고’라고 단정하기보다, 창고 후보와 권역 설계에 필요한 거리 기반 근거를 만드는 사전연구로 소개한다. 이후 풀필먼트 시스템으로 발전시키려면 수요의 시간대별 변화와 도로망, 처리 용량, 임대비를 함께 목적함수와 제약조건에 반영해야 한다.

보안 정리: 공개 노트북에 포함돼 있던 지도 API 인증값은 환경변수 참조로 교체했다. 이미 노출된 키는 별도 폐기·재발급이 필요하다.