Skip to content

Latest commit

 

History

History
124 lines (66 loc) · 8.59 KB

README.md

File metadata and controls

124 lines (66 loc) · 8.59 KB

Addressing Inventory Imbalances in Public Bicycle Sharing System

대기행렬이론 기반 컴퓨터 시뮬레이션을 활용한 공공자전거 대여 시스템 재고 불균형 해소 연구

분석 도구

Simio: 컴퓨터 시뮬레이션 툴
@Risk: 통계 분포 추정 툴
Python(Pandas, Scipy): 탐색적 데이터 분석 및 시각화, 통계 검정

데이터 전처리 및 분석 과정 링크

1. Business Understanding

서울시 공공자전거 대여 시스템(Public bicycle Sharing System, PBSS) '따릉이'의 2022년 상반기 대여 건수는 약 1414만 건으로,
전년 동기 대비(1022만) 약 40% 증가한 것을 볼 수 있다.

만약 따릉이를 자주 이용한다면, 가까운 대여소에 자전거가 배치되어 있지 않아 이용에 불편함을 겪은 경험이 있을 것이다.
(본인은 5년 째 따릉이 연간 정액권 이용자이고 해당 경험이 아주 많다.)

재배치 트럭이 매일 운행되고 있지만, 조사한 바로 대여소 내 자전거가 0대인 경우 재배치가 이루어져왔고,

유동 인구가 많은 특정 지역이나 시간대에 여전히 원활한 대여가 어려운 경우가 많다.

이용자가 보다 용이하게 대여를 하기 위해선 대여소에 자전거가 없어서는 안되고, 보다 적절한 재배치가 이루어져야 한다.

image

2. Project Objectives

현재 운영 중인 공공 자전거 대여 시스템은 대여소(서버) 내의 평균 자전거 수(L) 와 대여소 내 평균 자전거 거치 시간(W) 이 낮을수록 효율적으로 본다.

단, L이 0에 가까울 경우, 대여소를 찾는 고객이 서비스를 이용하지 못할 가능성이 있기 때문에, 0이 되어서는 안 된다.

프로젝트 목적: 1. L 값이 0이 되지 않으면서, 2. 모든 대여소의 L값의 분산을 최소화하는 적절한 대안을 찾는다.

분산이 감소하는 것은 자전거가 특정 대여소로 편향되지 않았다는 것을 의미하기 때문에,
고객이 특정 시간대에 자전거가 없는 대여소를 이용하지 못하는 불편을 줄여줄 수 있을 것이라 기대할 수 있을 것이다.

3. System Description (가정 설정)

Inter-Arrival Time: 자전거가 대여소에 반납되는 시간 간격
Processing Time: 자전거가 대여소에서 대여되는 시간 간격
L: 대여소 내의 평균 자전거 수
W: 대여소에 자전거가 머무르는 평균 시간

  • 대여소에 자전거가 배치되는 경우는 2가지가 있다. (1. 사용자들이 대여한 자전거를 대여소에 반납하는 경우, 2. 대여소에 자전거가 아예 없으면 관리소에서 재배치 트럭을 이용하여 재배치하는 경우.)

  • 본 시스템에서는 이용자가 많은 잠실역 인근 30개 대여소 데이터를 이용하였다.

  • 본 시스템에서는 전체 자전거 수를 정의하지 않았는데, 본 시스템에서 다루는 지역 외의 대여소에서 대여된 자전거가 유입되는 경우를 현실적으로 고려하는 것이 불가능하기 때문이다.

  • 본 시스템에서 자전거는 모두 동일한 개체라고 가정하였다 (각 자전거가 고유하지 않다는 의미이다.)

  • 각 대여소에는 자전거 거치대가 존재하지만, 현실에선 거치대 수에 관계 없이 자전거를 주차시킬 수 있기 때문에 대여소의 용량은 무한으로 설정한다.

  • 재배치 트럭은 각 지역마다 할당되는 수가 정해져 있다. 조사한 바로 잠실에는 3대의 재배치 트럭이 배정되었고, 이를 시뮬레이션 상에서 구현하였다.

  • 재배치 트럭은 각 대여소에 하루 평균 2번 정도 방문한다. 트럭의 용량이 자전거 15대인 점을 고려하여, 30개의 대여소에서 재배치 되는 자전거 수는 900대로 가정하여 시스템을 구현하였다. (재배치 되는 자전거 수 데이터는 구할 수 없었다.)

4. Data Collect

서울시 공공자전거 대여소 정보
서울시 공공자전거 이용정보(월별)

본 연구의 대상 대여소의 대여/반납 이력만 불러와, 이상치, 결측치 처리 및 분석에 필요한 피처를 추출하는 작업을 수행하였다.

5. Input Analysis

시뮬레이션 모델링을 하기 위해선 각 대여소 별 대여/반납 시간 간격 분포를 추정해야 한다. 분포 추정에는 @Risk Statistical Analysis 툴을 활용하였다.

각 분포는 AIC(Akaike Information Criterion, 통계 모델의 적합도를 평가하기 위한 기준)가 가장 작은 값을 보이는 분포를 채택하였고,

대부분의 대여소의 대여/반납 시간 간격 분포는 지수 분포로 추정하였고, 소수의 대여소는 Pearson6 분포, Weibull 분포가 가장 작은 AIC 값을 보였다.

그러나 소수의 대여소의 지수 분포 AIC값이, 최소 AIC 값과 유의미한 차이를 보이지 않았기 때문에 모델링 과정에서 통일성을 주기 위해 모두 지수 분포로 채택하였다.

image

6. Modeling Strategy

image

2개의 소스(이용자 자전거 반납, 재배치 트럭), 30개의 서버(대여소를 의미, "S1209"~"S4868"), 1개의 싱크를 설정하였고,

소스와 서버를 모두 가중치를 갖는 커넥터로 연결하였다.

이때 자전거 반납 소스 - 서버 간의 가중치는 Input Analysis를 통해 추정한 분포의 모수를 설정하였다. (지수 분포의 특성에 따라 모수는 반납율/대여율을 의미한다.)

이용한 대여 이력 데이터에는 사용자의 자전거 대여 및 반납 정보만 포함되어 있고, 자전거 재배치 기록을 알 수 없어 재배치 데이터를 현실적으로 조사할 수 없었다.

기본 시뮬레이션 모델에서 트럭은 트럭의 수에 따라 일정량의 배포가 동일하게 발생한다는 가정을 기반으로 자전거를 재배치하였고,

재배치 트럭 - 서버 간의 가중치는 변수로 설정하여 이를 최적화함으로써 재고 불균형을 해소하고자 한다.

특히 탐색적 분석 결과 대여량이 많은 서버의 변수를 조정한 14개의 대안을 설정하였고, 기본 가정에 비해 L값의 분산을 낮추는 것을 목표로 하였다.

warm up 기간으로 하루를 시험적으로 시뮬레이션 한 이후의 30일 간의 시뮬레이션 결과를 바탕으로 결과 분석 하였다.

7. Result Analysis & Conclusion

각 대안 시나리오 시뮬레이션 결과와, 기본 가정 시나리오를 대상으로 각각 T-Test, F-Test를 적용함으로써 L값의 평균과 분산의 차이가 유의미한지 통계적으로 검정하였다.

F-test 결과 p-value가 0.1보다 작은 대안 12, 14를 제외하고는 모두 기본 가정과 유의미한 차이를 보이지 않는 분산을 보였다.

T-test 결과 모든 대안의 p-value는 0.05보다 작았다.

image

기존 PBSS에서 재배치는 대여소 내 자전거가 0대일 때 트럭을 이용해 재배치하였고, 대여소 별 우선 순위가 없었다.

현재 충분한 대여 이력 데이터가 수집되어 왔고, 불균형이 특별히 많이 관찰되어온 대여소를 분석을 통해 정의할 수 있다.

따라서 대여소에 재배치 우선 순위를 설정하고자 하였고, 특히 이용자가 몰리거나 적은 서버에 집중하여 재배치 우선순위를 설정하였다.

여러 대안들을 설정하고 각각 20회 시뮬레이션한 결과, 전체 대여소 대상으로 자전거 수의 분산이 가장 낮은 대안을 채택하였다.

본 프로젝트에서는 로컬 환경에서 하드웨어적인 한계로 인하여 14개의 대안 시나리오를 바탕으로 6개 역만 가중치를 조정했음에도 불구하고 기본 모델보다 결과가 더 좋은 방안을 찾을 수 있었다.

시뮬레이션 환경적인 요인을 극복하여 더 큰 표본을 바탕으로 보다 많은 실험한다면, 재고 불균형을 해소하는데 보다 최적화된 방안을 모색할 수 있을 것으로 기대한다.