Journal of the Korean Institute of Industrial Engineers
[ Article ]
Journal of the Korean Institute of Industrial Engineers - Vol. 52, No. 3, pp.208-230
ISSN: 1225-0988 (Print) 2234-6457 (Online)
Print publication date 15 Jun 2026
Received 29 Dec 2025 Revised 27 Jan 2026 Accepted 09 Feb 2026
DOI: https://doi.org/10.7232/JKIIE.2026.52.3.208

공공 자전거 재배치 문제에 대한 동적 재고-경로 접근방법: 서울시 사례 연구

고정윤 ; 김승택 ; 이정현 ; 이충목
한국외국어대학교 산업경영공학과
A Dynamic Inventory Routing Approach for the Public Bike Sharing Rebalancing Problem: A Case Study of Seoul
Jungyoon Koh ; Seungtaek Kim ; Junghyun Lee ; Chungmok Lee
Department of Industrial and Management Engineering, Hankuk University of Foreign Studies

Correspondence to: 이충목 교수, 경기도 용인시 처인구 모현면 외대로 54 한국외국어대학교 공학관 530. Tel : 031-330-4378, E-mail : chungmok@hufs.ac.kr

© 2026 KIIE

Abstract

Seoul’s public bicycle system faces operational inefficiencies due to an imbalance in availability, resulting to bicycle shortages or surpluses at specific times and locations. The current redistribution method is reactive and based on human operators’ experience, and it tends to fail to proactively address real-time demand. This study proposes a data-driven, proactive redistribution system. We first develop a prediction model for the number of bikes at the stations, then propose “acceptable inventory levels” for bike stations based on time-dependent demand patterns, and finally design a three-phase heuristic algorithm, called “Clustering-Routing-Relocation,” to minimize deviations from the predefined inventory levels and total travel time. We also present a proof-of-concept mobile app that implements the proposed algorithm to enable staff to perform rebalancing duties. Experimental validation using real operational data showed that the proposed process may increase the inventory-level satisfaction rate by more than 10% compared with the existing method. This study demonstrates that a proactive, data-driven approach can significantly improve operational efficiency and user satisfaction.

Keywords:

Public Bicycle Redistribution, Demand Forecasting, Vehicle Routing Problem, Heuristic Algorithm

1. 서 론

2015년 10월 도입된 서울시 공공자전거(일명 “따릉이”)는 교통체증, 대기오염, 고유가 문제 해결에 기여하며 시민들의 삶의 질을 높이는 중요한 단거리 교통수단으로 자리 잡았다. ‘자전거와 함께하는 건강한 도시’라는 비전 아래, 시민 건강 증진과 CO2 발생 감소라는 목표를 성공적으로 수행하며 2021년 조사에서는 만족도가 96.9%에 달할 정도로 가장 성공적인 공공 정책 중 하나로 평가받고 있다(JoongAng Ilbo, 2022).

하지만 이러한 양적 성장과 높은 만족도 이면에는 고질적인 운영상의 문제가 존재한다. 출퇴근 시간대와 같이 특정 시간과 장소에 이용이 집중되면서 일부 대여소는 자전거가 완전히 고갈되고 다른 대여소는 거치대가 가득 차 더 이상 반납이 불가능해지는 ‘쏠림 현상’이 발생한다. 이러한 재고 불균형은 사용자의 불편을 초래할 뿐만 아니라, 시스템 전체의 운영 효율성을 저해하는 핵심적인 원인이다.

공유 자전거의 쏠림 현상을 완화하기 위해서는 공유 자전거의 재배치(rebalancing)이 필요하다. 현재는 재배치 관리자가 경험에 의존하여 자전거가 많은 대여소에서 부족한 대여소로 트럭을 이용해서 옮기는 방식으로 수행되고 있다. 이러한 재배치 방법은 대여소마다 다른 수요 특성을 반영하기 어렵고 특히 시간대별로 변하는 수요에 대응하기 어렵다. 따라서 실제 재배치 작업에는 사전에 수립한 계획보다는 현장 직원의 즉흥적인 대응이 더욱 중요한 역할을 하며 이는 서울시 전체 대여소의 자전거 재배치의 효율을 떨어뜨리는 원인이 된다.

자전거와 같은 개인 이동수단(personal mobility)의 재배치 문제에 관련 연구는 최근 몇 년간 매우 많이 이루어지고 있다. 이들 대부분의 연구는 정적인 상태(static assumption)을 가정한 네트워크 흐름 문제(network flow problem)에 기반한다. 이런 연구 방향은 각각 대여소의 적정 자전거 대수를 산정하고 이 값을 초과하거나 부족한 수량을 다른 대여소에서 얼마나 옮겨야 할지에 대한 답을 제시한다. 그러나 실제로 대여소들 간에 자전거들을 옮기기 위해서는 큰 화물차량(일반적으로 화물 트럭)을 이용할 수밖에 없고 네트워크 흐름 기반의 연구는 화물트럭의 실제 작업 경로를 제시하지 못한다는 한계가 있다.

동적 수요변화(dynamic demand)를 고려한 자전거 재배치 문제는 일반적으로 작업 수행 기간을 작은 단위(time periods 또는 time slots)로 나누고 시간대 별로 변하는 수요를 반영한 재배치 계획의 수립을 목적으로 한다. 동적 수요변화는 모형화 하기 위해 시간-공간 네트워크(time-space network)를 수립하고 이 네트워크의 각각의 노드를 방문하는 차량경로를 찾는 형태로 모형화 된다. 이러한 접근 방법은 역시 기존에 많이 연구된 픽업(pick-up)과 배송(delivery)을 동시에 고려하는 차량경로문제(Vehicle Routing Problem with Pick-up and Delivery, VRPPD)의 특수한 형태로 볼 수 있다. VRPPD는 차량경로 문제 중에서도 풀기 어려운 문제로 알려져 있고 시간-공간 네트워크로 확장하는 과정에서 문제의 크기가 매우 커지므로 이러한 접근 방법은 문제의 크기가 큰 현실 문제를 푸는데 한계가 있다.

본 연구는 실제 서울시 공공 자전거 운영을 재배치 효율을 높이는 것을 목표로 한다. 서울시 공공 자전거 네트워크는 기존에 주로 연구된 유럽의 공유 자전거 네트워크에 비해 상대적으로 크기가 크다. 또한 서울은 일반적인 유럽의 도시들과 달리 도시가 넓고 지역별 특성이 매우 상이하여 이로 인한 수요 패턴이 다양하다. 많은 수의 자전거 대여소의 수요를 정확하게 예측하는 것은 그 자체로 매우 어려운 문제이며 기존에 제시된 연구들과 다른 접근방법이 요구된다. 이에 본 연구는 기존 연구와 달리 각 대여소의 적정 재고 수준을 점 추정(point estimation) 대신에 범위 추정(range estimation)하여 대여소 별 수요의 불확실성을 고려하는 방법을 제시한다. 범위 추정을 통해 결정된 각 대여소 별 적정 재고수준의 상한과 하한(upper and lower bounds)을 최대한 준수하면서 여러 재배치 트럭의 재배치 경로와 시간을 결정한다. 또한 이 과정에서 공간적으로 인접한 자전거 대여소들이 비슷한 수요 패턴을 보이는 것에서 착안하여 클러스터링(clustering) 알고리즘을 적용하고 대여소들을 그룹화하여 문제의 크기를 축소했다. 이렇게 하여 현실적인 실제 서울시 공공 자전거 재배치 문제를 풀 수 있는 알고리즘을 제시한다. 제시된 알고리즘은 실제 서울시 재배치 운영 데이터를 사용해서 재배치 효율의 개선을 전산 실험하였으며 재배치 작업을 수행하는 인간 작업자를 위한 모바일 애플리케이션(mobile app)의 기술 시연(Proof-of-Concept, POC) 시스템을 개발하였다.

구체적으로 본 논문은 다음과 같은 기여점을 가진다.

  • - 동적 적정 재고 수준 정의: 모든 대여소에 획일적인 기준을 적용하는 대신, 대여소별 수요 변동 특성을 분석하여 각기 다른 ‘적정 재고 수준’을 적용하고, 이에 따라 시간대별로 변하는 동적인 상/하한선(Bound)을 정의하는 새로운 재고 관리 방법론을 제안하고 이에 대한 혼합정수계획법(Mixed Integer Programming, MIP) 수리모형을 제시한다.
  • - 3단계 휴리스틱 알고리즘 개발: 수요 예측, 클러스터링을 통한 문제 단순화, 타부 서치(Tabu Search)를 이용한 경로 탐색, MIP를 이용한 세부 계획 수립을 결합한 3단계 휴리스틱 알고리즘을 개발하여 복잡한 현실 문제를 실용적으로 해결한다.
  • - 시스템 구현 및 실증: 개발된 알고리즘을 현장 관리자가 실제 사용할 수 있는 모바일 애플리케이션으로 구현하고, 실제 운영 데이터와 비교하여 제안된 프로세스의 실효성을 검증한다.

제2장에서는 공공자전거 수요 예측 및 재배치 관련 기존 연구를 고찰하고, 제3장은 수요 예측을 기반으로 하는 적정 재고 수준을 정의한다. 제4장에서는 본 연구가 대상으로 하는 공공 자전거 재배치 문제를 정의하고 이에 대한 수리모형을 제시한다. 제5장에서는 제시된 문제를 효율적으로 풀기 위한 휴리스틱 알고리즘에 대해 자세히 설명한다. 제6장은 실제 재배치 작업자를 위한 재배치 시스템에 대해 설명하고 제7장에서는 성능 검증을 위한 실험 설계와 그 결과에 대한 분석을 제시하며, 마지막으로 제8장에서 결론을 맺는다.


2. 기존 연구

공공자전거 관련 연구는 의사결정 수준에 따라 전략적(strategic), 전술적(tactical), 운영적(operational) 최적화 문제들로 구분할 수 있다. 전략적 연구는 장기적이고 대규모 투자에 관한 의사결정 문제들을 다루며 자전거 대여소들의 네트워크 디자인(network design, Lin and Yang, 2011), 공공 자전거 규모 디자인(fleet size design, Park and Sohn, 2017) 등의 연구를 포함한다. 전술적 연구는 수요 관리(demand management, Haider et al., 2018), 정적 자전거 재배치 문제(static bike rebalancing problem, Li et al., 2016) 등을 포함한다. 전술적 연구는 중간 수준의 계획 주기를 가지며 매일매일 변하는 수요와 운영 상황을 고려하지 않고 정적(static) 상황을 가정한 의사 결정문제들을 다룬다. 본 연구가 다루는 동적 자전거 재배치 문제는 운영적 의사결정 문제에 해당한다. 운영적 의사결정 문제는 일반적으로 수시간~매일의 의사결정 주기를 가지며 동적인 수요변화와 실시간 불확실성을 고려하는 것이 중요한 요소이다. 여기서는 운영적 의사결정에 대한 기존연구에 집중하여 기존연구를 분석한다.

운영적 의사결정 문제는 일반적으로 매일 또는 매시간 단위로 문제를 풀고 실시간으로 변동하는 수요의 불확실성을 고려하는 것이 중요하다. 각각의 대여소에 대한 공공 자전거의 수요는 계절별, 시간별로 분명한 반복 패턴을 보일 것으로 기대되고 이를 정확하게 예측하는 것은 자전거 재배치를 위한 가장 중요한 전제조건이다. 기존 공공자전거 수요 예측 연구들은 주로 통계적 기법이나 머신러닝 모델을 활용하여 특정 시간대의 수요를 예측하는 데 초점을 맞추어 왔다. 예를 들어, Caggiani et al.(2018)은 군집 분석 후 비선형 자기회귀 신경망(NARX)을 적용하여 수요를 예측했다. 특히 Mellou and Jaillet (2019)는 한 걸음 더 나아가, 자전거 부족으로 인해 발생한 ‘유실 수요(Lost Demand)’와 사용자가 인근 대여소로 이동하는 ‘전환 수요(Shifted Demand)’를 추정하여 관측된 데이터의 한계를 보완하고 실제 수요에 더 근접한 값을 예측하고자 했다. 하지만 이러한 선행 연구들은 예측된 수요를 ‘고정된 목표 재고’나 ‘재배치 량 산출’의 단순 입력 값으로 활용하는 데 그치는 경향이 있었다. 즉, 대여소마다 다른 수요의 변동성이나 운영 특성을 동적으로 반영하여 재고 관리의 목표 자체를 최적화하는 의사 결정 문제와 통합되지 않고 각각의 대여소의 수요의 예측에 중점을 두었다. 특히, 기존 연구의 수요 예측은 대부분 예측의 결과가 점 추정(point estimate)으로 주어지며 이는 필연적으로 발생하는 예측 오차로 인해 자전거 재배치 계획이 비교적 큰 영향을 줄 수 있음을 의미한다. 이에 착안하여 본 연구에서는 수요의 점 추정이 아닌 적정 수요의 범위(range)를 사용한다. 각 대여소 별로 상이한 수요 변동성으로 고려하여 대여소별 ‘수요 변동성 지수(IFI)’를 산출하고, 이를 기반으로 각기 다른 적정 재고 수준을 차등 적용하는 ‘동적 적정 재고 수준(Dynamic Inventory Bounds)’이라는 새로운 개념을 정의한다. 동적 적정 재고 수준은 현실적으로 불가능한 미래 수요의 정확한 예측이 아닌 “각 대여소가 시간대별로 어떤 재고 범위를 유지해야 가장 안정적이고 효율적인가?”에 기반한 개념이며 본 연구의 자전거 재배치 알고리즘은 각각의 대여소 별로 정의된 동적 적정 재고 수준을 준수하는 것을 목표로 한다.

공공자전거 재배치 최적화 연구는 크게 정적(Static) 재배치와 동적(Dynamic) 재배치로 나뉜다. 정적 재배치는 주로 심야 시간대에 수요가 거의 없을 때를 가정하고 최적의 재배치 경로를 찾는 문제로, Schuijbroek et al.(2017)은 ‘Cluster-first, Route-second’ 휴리스틱을 제안하여 문제를 효율적으로 해결하고자 했다. 반면, 동적 재배치는 실시간 수요 변화에 대응하는 문제로, Mellou and Jaillet(2019)는 대규모 시스템에 적용하기 위해 대여소 그룹화와 부분 정보를 활용한 혼합 정수 계획법(MIP) 기반의 분해 기법을 제안했다. 또한, Haider et al. (2018)은 트럭을 이용한 물리적 재배치 대신, 가격 인센티브를 통해 사용자들의 반납 위치를 유도하여 재고 불균형을 해소하는 새로운 접근법을 제시했다.

하지만 이러한 접근법들은 몇 가지 한계점을 보였다. 첫째, Schuijbroek et al.(2017)의 연구처럼 정적 재배치에 초점을 맞춘 모델은 매일 발생하는 수요 변동에 대응하기 어려웠다. 둘째, Mellou and Jaillet(2019)의 동적 모델처럼 정교한 수리 모델은 문제의 복잡성으로 인해 실제 대규모 시스템에 실시간으로 적용하기에는 계산 시간의 한계가 있을 수 있었다. 마지막으로, 대부분의 연구는 ‘사용자 불편 최소화’나 ‘운영 비용 최소화’와 같은 일반적인 목표를 추구했지만, 본 연구는 앞서 정의된 각 대여소의 적정 재고수준을 만족하는 재배치 계획의 수립을 목표로 하며 이를 위해 일반적인 재배치 문제들과 다르게 각각의 대여소에 계획 수립 기간 내에 여러 번 방문하여 재고수준을 조정하는 것을 허용한다. 따라서 본 연구는 재고 경로 문제(Inventory Routing Problem, IRP)의 일종으로 볼 수 있다. 본 연구와 가장 비슷한 선행 연구로 Brinkmann et al.(2016)의 연구를 들 수 있다. 이 연구에서 저자들은 대여소의 적정 재고 수준을 범위로 정의하고 시간에 의존하는 수요를 반영한 동적 재배치 문제를 다루었다. 그러나 이 연구에서는 문제의 복잡성으로 인해 수리모형을 제시하지 못하였고 문제를 시간대별로 분할(decomposition)하여 풀었으며 이는 본질적으로 정적인 재배치 문제의 확장으로 볼 수 있다. 최근 Brinkman et al. (2020)은 기존 모형을 좀 더 확장한 연구를 발표하였다. 이 연구에서는 트럭의 방문으로 인한 재고 수준의 변화와 트럭의 이동 경로를 마코프-결정-과정(Markov decision process, MDP)으로 정의하고 고려하는 기간 동안의 재고 수준 만족여부 보상 함수의 총합을 최대화하는 문제로 모형화 하였다. 일반적으로 MDP는 최적 의사정책(optimal policy)을 구하기 위해서 Bellman 방정식 또는 Q-학습(Q-learning)과 같은 학습과정을 거쳐야 하나 본 연구는 몇 가지 미리 정해진 정책 수립 방법들 만을 제시하였다. 결과적으로 각 단계(stage)에서 정해진 룰을 통해 결정을 내리며 이것은 사실상 단순한 휴리스틱과 유사하게 작동한다. 또 하나의 재고 경로 문제에 대한 유사한 연구로 Cui et al.(2023)가 있다. 이 연구에서는 재고 수준 만족 수준의 범위를 정의하고 수요의 불확실성(uncertainty)을 고려한 재고와 경로 결정에 대한 분포-강건(distributionally robust) 최적화 알고리즘을 제시하였다.

비록 이들 연구들이 본 논문과 비슷한 가정과 모형을 사용하고 있지만 본 연구만의 차별점들이 존재한다. 첫째, 기존 연구들은 모두 노드(자전거 대여소)를 최대 한 번만 방문 가능하다고 가정한다. 이러한 가정은 계획 수립 기간 동안 노드의 재고 수준의 변동이 크고 트럭의 용량이 제한된 상황에서 매우 큰 제약조건으로 작용할 수 있다. 본 연구는 같은 노드를 여러 번 방문하는 것을 허용하며 전산 실험에서 보이듯이 노드 재 방문 여부는 문제의 난이도에 매우 큰 영향을 미친다. 둘째, 모두 하나의 차량만을 고려하고 있으며 이는 실제 서울시와 같은 큰 규모의 자전거 대여소 네트워크에 적합하지 않다. 본 연구는 서울시 공유 자전거 네트워크를 대상으로 하며 여러 대의 차량과 같은 차량이 여러 번 작업을 수행하는 작업 시프트(shift) 또한 고려한다. 셋째, Cui et al.(2023)의 연구의 경우 미리 정의된 시간 구간(time period) 마다 한번의 노드 방문이 가능하다고 가정한다. 이는 두 개의 노드가 매우 가까워도 트럭이 두 노드를 모두 같은 시간 구간에 방문이 불가능함을 의미하며 이를 해결하기 위해서는 시간 구간을 매우 작게 설정해야 한다. 이는 문제 난이도의 급격한 상승으로 이어질 수 있다. 본 연구는 재고 예측은 시간 구간 단위로 수행하되 트럭의 재고 재분배 작업은 시간 구간 없이 차량의 이동시간과 작업 시간을 정확하게 고려한 모형을 처음으로 제시한다. 결과적으로 재분배 작업은 설정된 시간 구간과 독립적으로 수행되며 이로 인한 재고 수준의 변화도 정확하게 모형화 할 수 있다.


3. 적정 재고 수준 산정 방법

본 연구는 개발한 알고리즘의 적용 대상으로 서울시가 운영하는 공공자전거 시스템인 “따릉이”를 대상으로 알고리즘의 효율성을 검증하고자 한다. 이에 구체적인 문제를 정의하기 전에 먼저 서울시 공공자전거 네트워크에 대한 자세한 설명과 본 연구에 사용한 원천 데이터들을 설명하고, 각각의 자전거 대여소의 적정 재고 수준을 산정하는 방법을 제시한다.

3.1 서울시 공공자전거 네트워크 데이터 수집 및 전처리

본 연구는 2022년 1월 1일부터 12월 31일까지의 서울시 공공데이터를 활용하였다. 특히, 본 연구의 실증 대상 지역은 공공자전거 이용률이 높고 수요 변동성이 커서 재배치 문제 발생 빈도가 높은 강서구로 선정하였다. <Figure 1>은 연구 대상 지역인 강서구 내 공공자전거 대여소의 지리적 분포(Geographical Distribution of Docking Stations)를 시각화한 것이다. 해당 지역은 주거 단지와 업무 지구가 혼재되어 있어 지역별로 다양한 수요 패턴이 관찰되는 특징을 가진다.

Figure 1.

Geographical Distribution of Docking Stations in the Target Area (Gangseo-gu).

분석을 위한 데이터셋 구축을 위해 크게 세 가지 원천 데이터를 활용하였다. 첫째, 서울 열린데이터 광장에서 제공하는 대여소별 시간당 대여 및 반납 이력 데이터이다. 둘째, 각 대여소의 위치 좌표와 거치량을 포함한 대여소 마스터 정보이다. 셋째, 자전거 이용 수요에 영향을 미치는 환경적 요인을 반영하기 위해 기상청 기상자료개방포털에서 수집한 시간대별 방재 기상 관측 데이터이다.

해당 지역의 자전거 대여소는 총 192개이고 자전거의 대수는 32,745대이며 일년 동안의 총 수요는 4,440,033회였다. 데이터 전처리 과정에서는 대여소 번호와 시간을 핵심 키로 설정하여 자전거 이용 정보와 기상 정보를 시공간적으로 결합하였다. <Table 1>은 본 연구에서 구축한 통합 데이터셋의 변수 구성을 보여준다. 시계열 분석의 기준이 되는 시각 정보(’Datetime’)와 공간적 위치를 식별하는 ‘Station ID’를 포함하고 있으며, 이용 형태는 ‘Type’ 변수를 통해 대여(Rent)와 반납(Return)으로 구분하였다. 또한, 수요 예측의 정밀도를 높이기 위해 기온(Temperature), 강수량(Precipitation), 풍속(Wind Speed), 적설(Snow Depth), 가시거리(Visibility) 등 외부 환경 변수를 포함하여 총 8개의 핵심 변수로 데이터셋을 설계하였다.

Summary of Data Collection and Target System Scale

이를 통해 총 1,629,360건의 관측치로 구성된 통합 데이터셋을 구축하였다. 시스템 내에서 자전거는 사용자의 대여 및 반납 활동을 통해 타 지역으로 유출되거나 유입될 수 있으므로, 자전거의 총 대수는 특정 지역 내에서 지속적으로 변동함을 전제로 분석하였다. 본 자전거 공유 시스템은 명목상 192개의 대여소로 구성되어 있으나, 관측 기간 동안 일부 대여소는 정비, 일시적 운영 중단, 신규 설치 또는 철거 등의 사유로 인해 모든 시간대에 대해 연속적인 관측값을 제공하지 않았다. 따라서 전체 관측치 수는 대여소 수와 시간 구간의 단순 곱으로 산출되지 않으며, 실제로 유효한 관측값이 존재하는 대여소-시간 조합만을 포함하여 데이터셋을 구성하였다.

최종적으로 예측 모델의 학습 효율과 정확도를 제고하기 위해, 구축된 통합 데이터셋을 평일과 주말, 그리고 대여와 반납 패턴으로 세분화하여 재구성하였다. <Figure 2>는 이러한 분석을 통해 확인된 대여소별 시간당 수요 패턴의 차이를 보여준다. 상관분석 결과, 대여소 1177과 대여소 5073은 -0.3112의 가장 낮은 상관계수를 보여 패턴이 정반대인 것으로 나타났다. 대여소 1177은 오전 7~9시에 이용이 집중되는 출근 시간대 피크 형태를 보이는 반면, 대여소 5073은 오후 6시 이후 이용이 증가하는 퇴근 및 저녁 시간대 피크 형태를 보여, 지역적 특성에 따라 이용 수요가 확연히 구분됨을 확인할 수 있다.

Figure 2.

Comparison of Hourly Demand Patterns: Station 1177 vs. Station 5073.

3.2. 각 대여소의 수요 예측 모형과 적정 재고량 산정 방법

각 대여소의 자전거 재고수준은 대여소의 초기 재고 및 수요와 반납 수량에 의존한다. 먼저 수요 예측 모형의 수립을 위해 회귀 모형(regression model)을 수립하였다. <Figure 2>에서 보이듯이 대여소 마다 수요는 큰 차이를 보인다. <Figure 3>은 모든 대여소의 수요의 총합을 보여주며, 대여소의 주중과 주말의 총 수요 패턴을 보여준다. 주중과 주말의 수요는 확연한 차이를 보였으며 구체적으로 평일은 출퇴근 시간에, 휴일은 오후 시간대에 수요가 집중되는 경향을 보였다. 이에 따라 예측의 정확도를 높이기 위해 수요 예측 모형을 평일 모형과 휴일 모형으로 이원화 하였으며 모든 대여소 별로 별도의 수요예측 모형을 수립하였다. 여러 머신러닝(machine learning) 모형의 성능을 비교하기 위해 AutoML 라이브러리인 PyCaret을 활용했으며, Random Forest 모델이 정확도(Accuracy), F1 점수 등 대부분의 평가지표에서 가장 우수한 성능을 보여 최종 모델로 선정하였다.

Figure 3.

Comparison of Hourly Rental Demand Patterns: Weekdays vs. Weekends.

선정된 Random Forest 모델에 대해 그리드 탐색(grid search)를 통해 하이퍼파라미터를 최적화하였다. <Figure 4>의 변수 중요도(Feature Importance) 분석 결과, 평일과 휴일 모델 모두에서 ‘시간(hour)’과 ‘기온(temperature)’이 예측에 가장 큰 영향을 미치는 변수로 나타났으며, ‘가시거리(visibility)’과 ‘풍속(wind speed)’이 그 뒤를 이었다. 최종 모델의 성능은 <Table 2>와 같이 평균 RMSE 0.38, MAE 0.32 수준으로 나타났다. 모든 대여소 별로 별도의 회귀 모형이 수립되며 이는 대여소마다의 특징적인 수요 패턴을 반영할 수 있게 한다. <Figure 5>는 실제 대여소(대여소 1101) 실제 수요와 예측 모형으로 예측한 결과를 비교한 그래프이다. 예측 모형이 실제 수요를 출퇴근 시간대의 수요 급증 패턴을 효과적으로 예측함을 확인하였다.

Figure 4.

Feature Importance Analysis for Weekday and Weekend Demand Prediction Models.

Performance Evaluation of the Demand and Return Prediction Models

Figure 5.

Comparison of Actual vs. Predicted Hourly Rentals.

수립된 수요 예측 모형과 전일의 재고 수준에 의해 각 대여소의 자전거 수량에 대한 당일의 재고 변화량을 예측할 수 있다. <Figure 6>은 대여소 1103의 예측된 재고 수준의 변화를 보여준다. 본 연구에서는 기존의 고정적인 재고 기준을 대체하기 위해, 대여소별 수요 변동성에 따라 재고 관리의 엄격함을 동적으로 조절하는 ‘재고 허용치’ 기반의 적정 재고 수준을 새롭게 정의한다. 이 프로세스는 다음과 같은 3단계로 이루어진다.

Figure 6.

Predicted Hourly Bike Availability Fluctuation at a Sample Station.

1단계: 변동성 측정

예측된 시간대별 거치량(<Figure 6> 참조)을 바탕으로, 최대 거치량(Qmax)과 최소 거치량(Qmin)의 차이를 계산하여 재고 변동성을 정량화한다. 본 연구에서는 이 값을 ‘재고 변동성 지수(Inventory Fluctuation Index, 이하 IFI)’라 명명하며, 아래와 같이 정의한다.

IFIs=Qs,max-Qs,min

IFI가 높은 대여소는 특정 시간대에 수요와 공급의 불균형이 심각하게 발생하여 사용자의 불편을 초래할 가능성이 큰 곳이다. 반면, IFI가 낮은 대여소는 비교적 안정적인 수요 패턴을 보여 재고 관리가 상대적으로 용이한 대여소임을 의미한다.

2단계: 적정 재고 수준 할당

본 단계는 산출된 재고 변동성 지수(IFI)를 기반으로 각 대여소에 ‘적정 재고 수준(Inventory Band, 이하 S)’를 차등 할당하는 과정이다. 적정 재고 수준 S를 해당 대여소의 과거 거치량 데이터 분포 중 ‘정상 범위로 인정할 비율(Target Satisfaction Rate, %)’로 정의하였다. S값이 클수록 적정 재고 범위가 넓어져 재배치 빈도가 줄어들며, 작을수록 범위가 좁아져 재고 이탈에 대해 민감하게 반응하게 된다.

구체적인 할당 로직은 다음과 같다. 먼저 모든 대여소를 IFI 오름차순으로 정렬하여 10개의 분위수 등급(Decile, k=1~10)으로 그룹화한다. 이후, 가장 안정적인 1분위(k=1)에 최대 허용치인 80(%)을 부여하고, 등급이 올라갈수록 2(%)씩 차감하여 가장 불안정한 10분위(k=10)에 최소 허용치인 62(%)를 할당한다. 여기서 목표 만족률의 상·하한 범위는 공공자전거 재배치 실무 담당자와의 인터뷰를 통해 도출된 현재 운영 수준에 대한 운영자 인식에 기반하여 설정되었다. 인터뷰에 따르면, 재고 변동성이 낮고 현재 운영이 비교적 안정적인 대여소의 경우, 현행 대여소별 자전거 보유 대수 기준에서 전체 운영 시간 중 약 80% 수준의 재고 만족률이 유지되면 추가적인 재배치 개입 없이도 안정적인 운영이 가능한 상태로 인식되는 것으로 나타났다. 반면, 수요 변동성이 매우 크고 자전거 부족 또는 과잉이 빈번하게 발생하는 대여소의 경우에는, 현재 운영 중인 대여소들 중에서도 약 60% 수준의 만족률이 확보되면 자전거 대수 조정이나 재배치를 통해 관리가 필요한 상태로 판단하는 것으로 나타났다.

본 연구에서는 이러한 운영자의 체감 만족 구간을 정량화하기 위해, IFI 기준 10분위 구간에 대해 해당 범위를 선형적으로 분할하여 단계적인 목표 만족률을 할당하였다. 이로 인해 분위수 간 목표 만족률 차이는 2%p로 설정되었다.

Sk=80-2×(k-1)(%,1k10)
  • - 저 변동성 대여소(k=1 ~ 3, 예: 주거지역): 높은 S값(80~76%)을 부여하여 <Figure7(a)>와 같이 비교적 넓은 재고 범위를 허용함으로써, 불필요한 재배치 비용을 줄이고 운영 효율성을 높이는 효과를 가져온다.
  • - 고 변동성 대여소(k=8 ~ 10, 예: 업무지구): 낮은 S값(66~62%)을 부여하여 <Figure7(b)>와 같이 범위를 좁게 설정함으로써, 재고가 조금만 이탈해도 즉각적인 재배치 신호를 발생시켜 자전거 고갈이나 과잉을 미연에 방지한다.
Figure 7.

Two Different Inventory bands to Low- and High-Variability Stations.

3단계: 최종 Bound 도출

할당된 목표 만족률 와 해당 대여소의 특정 시간대 과거 거치량 데이터 집합(Q)을 기반으로, 데이터를 절삭하여 최종적인 상한선(Upper Bound)과 하한선(Lower Bound)을 도출한다. 이때, 자전거 고갈로 인한 사용자 불편을 방지하는 것이 과잉 관리보다 우선순위가 높음을 고려하여, 전체 제외 비율(100-S)을 상위와 하위에 1:2의 비율로 비대칭 할당한다. 이러한 비대칭 구조는 공공자전거 재배치 실무 담당자와의 인터뷰 결과를 반영한 것으로, 운영 현장에서는 자전거 과잉 상태보다 고갈 상태로 인한 사용자 불편을 약 두 배 수준으로 더 중점적으로 관리하고 있는 것으로 확인되었다. 본 연구에서는 이러한 운영 우선순위를 재고 범위 설정에 반영하기 위해 하한 측에 더 큰 가중치를 부여하였다. 구체적으로 상위 절삭 비율 pupper와 하위 절삭 비율 plower는 다음과 같이 계산된다.

pupper =100-S3×1100,plower =2×(100-S)3×1100

이후, 오름차순으로 정렬된 데이터 집합 Q에서 위 비율에 해당하는 위치 인덱스(idxupper, idxloewer)를 다음과 같이 결정하고, 해당 인덱스의 값을 최종적인 시간대별 상한선(Upper Bound)과 하한선(Lower Bound)으로 확정한다.

idxupper =|Q|×1-pupper ,idxlower =|Q|×plower UBQidxupper ,LBQidxlower 

마지막으로, 도출된 Bound에 최소 재고(5대) 및 최소 범위(10대) 제약조건을 추가 적용하여 현실적인 운영 안정성을 확보하였다. 최소 재고 제약은 특정 시간대에 대여소의 재고가 완전히 고갈되는 상황을 방지하기 위한 안전 재고의 개념으로, 수요 예측 오차나 단기적인 수요 급증이 발생하더라도 기본적인 서비스 접근성을 유지하기 위한 보수적인 가정이다. 또한 최소 범위 제약은 상한선과 하한선 간의 간격이 지나치게 좁을 경우, 재배치 작업이 빈번하게 발생함에도 불구하고 트럭 이동 및 상·하차에 수반되는 운영 비용 대비 실질적인 재고 안정화 효과가 제한될 수 있음을 고려한 것이다. 본 연구에서는 이러한 운영적 현실성과 계산 복잡도를 함께 고려하여, 상·하한 재고 범위가 일정 수준 이상 유지되도록 최소 범위를 10대로 설정하였다.


4. 문제정의 및 수리모형

본 연구의 공공 자전거 재배치 문제는 하나의 차고지(depot)와 다수의 자전거 대여소(bike stations)로 정의된다. 차고지에는 여러 대의 트럭이 있으며 차고지에서 출발하여 대여소들을 방문하여 자전거를 재배치한다. 이와 더불어 현실적인 제약 조건(트럭 용량, 작업 시간 등) 등이 존재한다. 재배치 작업은 하루(daily) 단위로 이루어지며 하루는 또 여러 개의 시간 단위(time period)로 나누어진다. 본 연구에서는 기본적으로 1시간 단위를 사용한다. 즉, 하루를 24시간으로 나누어 매시간마다 각 대여소마다의 적정 재고량(3.2 절 참조)이 주어진다고 가정한다. 실제 서울시 공공자전거 운영 주체와의 인터뷰 결과 자전거 재배치 작업은 오후 3시부터 2시간 간격으로 3회 수행되고 있음을 확인하였다. 즉, 오후 3시(15시)부터 오후 5시(17시)까지 첫 번째 재배치 작업자 팀이 재배치 작업을 수행하고 오후 5시(17시)부터 오후 7시(19시)까지 두 번째 재배치 작업이 별도의 재배치 작업자 팀을 통해 이루어진다. 마지막으로 오후 7시(19시)부터 오후 9시(21시)까지 마지막 재배치 작업이 이루어진다. 각각의 재배치 작업 단위(이하 재배치 시프트(shift))는 독립적으로 이루어진다. 즉, 하나의 재배치 시프트는 그 시간 내에 종료되어야 하고 다음 시프트 시간과 겹칠 수 없다. 그러나, 먼저 수행하는 재배치 시프트의 결과는 다음 수행하는 재배치 시프트의 초기 재고량을 결정하므로 완전히 분리해서 문제를 풀 수 없다. 동일한 시프트 내에서는 총 3대의 재배치 작업 트럭 차량을 운영한다.

수리모형을 수립하기 위해 고려해야 할 요소 중에 하나는 하나의 대여소를 같은 재배치 시프트 안에서 여러 번 방문할 수 있다는 점이다. 예를 들어 어느 대여소가 수요가 많아 트럭의 수송 용량 보다 재배치가 필요한 수량이 더 많다면 이 대여소에는 여러 번 방문할 필요가 있다. 일반적인 차량 경로 문제(vehicle routing problem, VRP)에서는 하나의 노드를 차량이 최대 한번 방문 가능하게 하는 제약식을 사용한다. 이는 차량의 경로가 차고지를 거치지 않는 부분 순환경로(subtour)를 금지하기 위해 필요한 제약(부분 순환경로 제거 제약식, subtour elimination constraints)을 만족하기 위한 조건이기도 하다. 본 연구에서는 하나의 대여소에 여러 번 재배치를 위한 방문을 허용하기 위해 대여소 노드를 복사(duplication)하는 방법을 사용한다.

대여소 s에 대해 생성해야 할 가상 노드의 개수 Ns는, 해당 대여소에서 발생하는 예측 재고 불균형 규모(imbalance)를 기반으로 산출한다. 구체적으로 본 연구에서는 시간 구간 동안의 예측 재고 변화와 적정 재고 범위 [LBs,h, UBs,h]을 활용하여 아래의 절차로 Ns를 결정한다. 먼저, 각 시간대의 예측 재고 수준 parkingBikes,h가 적정 범위를 벗어나는 최대 불균형을 다음과 같이 계산한다.

 imb s,h+=max parking  Bike s,h-UBs,h,0 imb s,h-=maxLBs,h- parking  Bike s,h,0

이를 통해 시간대별 최대 재고 초과와 부족을 고려한 대여소별 최대 불균형 값을 다음과 같이 정의한다.

MaxImbs=maxhHf()maximbs,h+,imbs,h-

여기서 Max Imbs는 대여소 s가 계획 기간 동안 어느 한 시점에서 겪을 수 있는 최대 재고 불균형 규모를 의미하며, 해당 대여소에 필요한 재배치 작업의 상한선을 나타낸다. 이는 재배치 트럭이 반드시 개입해야 하는 최소 수준의 조정량을 뜻한다. 이 불균형량이 트럭의 단일 방문으로 처리 가능한지 여부를 판단하기 위해, 본 연구에서는 트럭의 적재 용량 Qmax을 기준으로 삼는다. 즉, 하나의 방문에서 트럭이 처리할 수 있는 최대 재배치량이 한계가 있으므로, Max Imbs/Qmax의 비율은 해당 대여소에 필요한 최소 방문 횟수를 추정하는 데 사용된다.

이를 정수 형태의 방문 횟수로 반영하기 위해 다음과 같이 Ns를 산정한다.

Ns=min5,max1,MaxImbsQmax

즉, 재고 불균형이 거의 없는 대여소는 Ns=1로 설정되고, 불균형이 중간 수준일 경우 Ns=2, 매우 큰 경우에는 최대 Ns=5까지 증가하도록 한다. 여기서 Ns의 상한을 5로 제한한 이유는, 예측 불균형이 비정상적으로 큰 경우라도 과도한 노드 분할이 모델의 크기를 폭발적으로 증가시켜 계산 효율성을 훼손하기 때문이다. 실무에서도 하나의 대여소를 같은 시프트 안에서 다섯 번 이상 반복 방문하는 경우는 거의 없다는 점을 반영하였다.

또한 차고지(Depot)의 경우 일반 대여소와 달리 재고 부족이나 재고 상한 개념이 존재하지 않기 때문에 재고 불균형 기반의 방문 횟수 계산이 무의미하다. 따라서 차고지는 가상 노드들을 생성하지 않는다. 차고지는 0으로 나타내며 차고지를 복사한 노드를 n+1이라고 정의한다.

이와 같은 방식으로 산출된 Ns는 물리 대여소 s를 구성하는 가상 노드의 개수를 의미하며, 각 가상 노드는 서로 독립적인 방문 가능성을 갖는다. 즉, 동일한 대여소를 서로 다른 시간 슬롯 또는 다른 경로 위치에서 반복적으로 방문할 수 있도록 한다. 이를 통해 트럭이 대규모 불균형을 시간적으로 분산하여 처리하는 전략을 모델이 자연스럽게 고려하게 되며, 불필요한 부분 순환경로는 동일 대여소 내 가상 노드 간 이동 금지 제약을 통해 자동으로 억제할 수 있다. 이상과 같은 제안과 가정을 적용한 공공 자전거 재배치 문제의 수리모형을 다음과 같이 제시한다. 먼저, 수리모형에 사용할 집합, 파라메터, 그리고 결정 변수들을 다음과 같이 정의한다.

집합(Sets) 및 매개변수(Parameters)

  • 0,n+1: 차고지(depot)
  • S: 차고지를 제외한 모든 물리적 대여소의 집합
    • S0: ={0}∪S
  • Sn+1: ={n+1}∪S
    • V: 모든 가상 작업 노드의 집합
      • V0: ={0}∪V
      • Vn+1: ={n+1}∪V
    • Vs: sS 물리적 대여소에 해당하는 가상 노드들의 집합
  • K: 운영 교대(시프트, Shift) 집합, K={1, 2, 3} (각 시프트는 2시간 단위로 구성)
  • F: 운영 트럭 집합, F={1, 2, 3}
  • H: 1시간 단위 시간 슬롯 집합. H={0, 1, 2, ..., 23} (시간 단위)
  • HkH: 교대 kK에 속하는 시간 슬롯들의 부분집합
  • H^: 어떤 교대 kK에 속하지 않는 시간 슬롯들의 부분집합.
    • H^: =HkKHk
  • θkstart : 교대 kK의 시작 시각(분 단위)
  • θkend : 교대 kK의 종료 시각(분 단위). θkend <θk+1start 을 만족함
  • θhstart : 타임 슬롯 hH의 시작 시각(분 단위)
  • θhend : 타임 슬롯 hH의 종료 시각. θhend <θh+1start 을 만족함
  • Rs,h: 시간대 hH에서 물리 대여소 sS의 예측된 반납량
  • Ds,h: 시간대 hH에서 물리 대여소 sS의 예측된 대여량
  • Δs,h: 시간대 hH에서 물리 대여소 sS의 순 재고 예측 변화량 (Rs,h-Ds,h)
  • Ns: 물리 대여소 sS의 최대 허용 방문 횟수(가상 노드 수)
  • ti,j: 노드 iV0에서 jVn+1로 이동하는데 필요한 시간(분 단위)
  • LBs,h, UBs,h: 시간대 hH에서 물리 대여소 sS의 적정 재고 하한 및 상한
  • Is,0: 물리 대여소 sS의 계획 시작 시점 재고량
  • Qmax: 트럭의 최대 적재 용량
  • Tshift: 하나의 교대시간의 길이(분 단위)
  • γ: 상하차 1대당 소요 시간(분 단위)
  • α: 재고 수준 유지와 이동 시간 간의 상대적 중요도를 조절하는 가중치 파라미터
  • M: 제약식에 사용되는 충분히 큰 수(Big-M number)

결정 변수(Decision Variables)

  • xk,f,i,j∈{0,1}: 교대 kK에서 트럭 fF가 노드 iv0에서 jVn+1로 이동하면 1, 아니면 0
  • zk,f,v∈{0,1}: 교대 kK에서 트럭 fF가 가상 작업 노드 vV를 방문하면 1, 아니면 0
  • yk,f,v,h∈{0,1}: 교대 kK에서 트럭 fF가 가상 작업 노드 vV를 시간 슬롯 hHk에 방문하면 1, 아니면 0
  • wk,f,v,hZ: 교대 kK에서 트럭 fF가 가상 작업 노드 vV를 시간 슬롯 hHk에 방문해서 수행하는 순 재배치 작업량을 나타내는 정수 변수
  • sk,f,v≥0: 교대 kK에서 트럭 fF가 노드 vV∪{0,n+1}에 도착하는 시각 (분 단위)
  • qk,f,v∈[0,Qmax]: 교대 kK에서 트럭 fF가 가상 작업 노드 vV∪{0,n+1}에 도착할 때 트럭의 적재량
  • pk,f,v≥0: 교대 kK에서 트럭 fF가 가상 작업 노드 vV에서 상차(pickup)하는 자전거 수량을 나타내는 0이상 정수 변수
  • dk,f,v≥0: 교대 kK에서 트럭 fF가 가상 작업 노드 vV에서 하차(drop-off)하는 자전거 수량을 나타내는 0 이상 정수 변수
  • Stocks,h: 시간 hH 종료 시점의 물리 대여소 sS의 재고량
  •  Slack s,h+≥0: 시간 hH에 물리 대여소 sS의 재고가 상한 (UBs,h)을 초과하는 양
  •  Slack s,h-≥0: 시간 hH에 물리 대여소 sS의 재고가 하한 (LBs,h)을 보다 부족한 양
  • Unmets,h≥0: 시간 hH에 물리 대여소 sS의 미충족 수요량

목적함수 (Objective Function)

효율적인 자전거 재배치를 위해서는 크게 두 가지를 고려해야 한다. 첫째는 대여소별 자전거 쏠림 현상을 완화하여 고객의 수요에 대응하지 못하거나(shortage) 특정 대여소의 너무 많은 자전거로 인해 자전거 적재 공간의 부족(overflow)를 방지하는 것이며, 둘째는 재배치를 수행하는 트럭들의 운행 거리와 재배치 작업의 횟수를 줄이는 것이다. 따라서 목적함수는 재고 수준에서 벗어나는 정도와 트럭들의 이동 시간(또는 거리)의 합으로 정의된다.

 minimize hHsSSlack sh++Slack s,h-+Unmet s,h+αkKfFiV0jVn+1ti,jxk,f,i,j

첫 번째 항인 hHsSSlack s,h++Slack s,h-+Unmet s,h은 모든 작업 시간대의 대여소 sSW에 걸쳐 계획 기간의 시간대에 발생하는 총 재고 수준 이탈량을 의미한다. 상한 재고 (UBs,h) 와 하한 재고(LBs,h)는 3.2절에 설명한 방법으로 미리 설정한다. 변수 Slack s,h+Slack s,h-는 전체 운영 시간 동안 실제 재고량이 이 적정 범위를 벗어나는 부족분 또는 과잉분을 나타내는 값이다. 즉, 실제 재고가 하한 재고보다 적거나 상한 재고보다 많을 경우, 그 차이만큼의 양수 값을 가지며, 재고가 적정 범위 내에 있을 경우 0이 된다. 추가적으로, Unmets,h는 시간 hH에서 발생한 수요 미충족량(demand shortage)을 나타내며, 이는 대여소의 재고 수준이 수요를 충족하지 못하는 수량을 의미한다. 장기간에 걸쳐 시간대 별 재고 수준이 하한 재고(LBs,h) 보다 약간 높은 수준으로 유지되는 경우에는 이후에 발생하는 특정 시간대에 집중된 수요보다 재고량이 부족해질 수 있고 이러한 경우에 Unmets,h은 양의 값을 가진다. 따라서 이 항 전체를 최소화하는 목적은, 재고 과잉·부족뿐만 아니라 즉각적으로 충족하기 어려운 수요 부족(Unmet)까지 고려하여, 전체 서비스 실패(service failure)의 총 규모를 최소화하려는 것이다.

두 번째 항인 kKfFiV0jVn+1ti,jxk,f,i,j는 재배치 트럭의 총 이동 시간을 나타낸다. 이는 유류비, 인건비 등 직접적인 물류 비용에 해당하며 운영 효율성의 핵심 지표이다. 이 항을 최소화하는 것은 가장 경제적인 경로를 탐색하여 한정된 자원으로 최대의 재배치 효과를 내는 것을 목표로 한다.

α는 서비스 품질(재고 안정성)과 운영 비용(이동 시간)이라는 두 상충 관계의 목표 사이에서 정책적 우선순위를 결정하는 가중치 파라미터이다. 이러한 접근법은 다수의 목표를 동시에 고려해야 하는 최적화 문제에서 널리 사용된다. 만약 α값을 높게 설정하면, 목적함수는 이동 시간을 줄이는 것을 더 중요하게 고려하여 운영 비용 절감에 초점을 맞춘 경로를 도출하게 된다. 반대로 α값을 낮게 설정하면, 재고 수준 이탈을 최소화하는 것을 우선하여 이동 시간이 다소 길어지더라도 사용자 불편을 최소화하는 데 중점을 둔 경로를 생성한다. 본 연구에서는 α는 미리 주어지는 값으로 가정한다.

제약식(Constraints)

본 수리모형의 제약식은 재배치 트럭의 이동 경로, 각 대여소의 시간대별 재고 변화, 트럭의 적재 용량 및 전체 작업 시간에 대한 부분들로 구성된다.

iVxk,f,i,v=zk,f,v,kK,fF,vV(1) 
iV0xk,f,i,v=iVn+1xk,f,v,i,kK,fF,vV(2) 
jVn+1xk,f,0,j=1,kK,fF(3) 
iV0xk,f,i,n+1=1,kK,fF(4) 
xk,f,i,i=0,kK,fF,iV(5) 
xk,f,i,j=0,kK,fF,i,jVs:ij,sS(6) 
kKfFzk,f,v1,vV(7) 
sk,f,vθkstart +t0,v-M1-xk,f,0,v,kK,fF,vV(8) 
sk,f,jsk,f,i+γpk,f,i+dk,f,i+ti,j-M1-xk,f,i,j,kK,fF,iV,jVn+1(9) 
iVjVti,jxk,f,i,j+vVγpk,f,v+dk,f,vTshift,kK,fF(10) 
sk,f,0=θkstart ,kK,fF(11) 
sk,f,n+1θkend,kK,fF(12) 
hHkyk,f,v,h=zk,f,v,kK,fF,vV(13) 
θhstart yk,f,v,hsk,f,vhHk,kK,fF,vV(14) 
sk,f,vθhendyk,f,v,h+M1-yk,f,v,h,hHk,kK,fF,vV(15) 
 Stocks,h- Unmets,h=Is,0+Δs,h,sS,kK,h=0(16) 
 Stock s,h- Unmet s,h= Stock s,h-1+Δs,h,sS,hH^(17) 
 Stock s,h- Unmet s,h= Stock s,h-1+Δs,h+fFvVswk,f,v,h,sS,hHk,kK(18) 
wk,f,v,hdk,f,v-pk,f,v+M1-yk,f,v,h,hHk,kK,fF,vV(19) 
wk,f,v,hdk,f,v-pk,f,v-M1-yk,f,v,h,hHk,kK,fF,vV(20) 
wk,f,v,hM×yk,f,v,h,hHk,kK,fF,vV(21) 
 Stock s,h-UBs,h Slack s,h+,sS,hH(22) 
LBs,h- Stock s,h Slack s,h-,sS,hH(23) 
pk,f,vM×zk,f,v,kK,fF,vV(24) 
dk,f,vM×zk,f,v,kK,fF,vV(25) 
dk,f,vqk,f,v,kK,fF,vV(26) 
pk,f,vQmax-qk,f,v-dk,f,v,kK,fF,vV(27) 
qk,f,jqk,f,i-dk,f,i+pk,f,i-M1-xk,f,i,j,kK,fF,i,jV:ij(28) 
xk,f,i,j{0,1},kK,fF,iV0,jVn+1(29) 
zk,f,v,yk,f,v,h{0,1},kK,fF,vV,hH(30) 
pk,f,v,dk,f,vZ+,kK,fF,vV(31) 
0qk,f,vQmax,qk,f,vZ,kK,fF,vV(32) 
-Qmaxwk,f,v,hQmax,wk,f,v,hZ,kK,fF,vV,hH(33) 
 Stock s,h, Slack sh+,Slack s,h-,Unmet s,h0sS,hH(34) 
sk,f,v0,kK,fF,vV{0,n+1}(35) 

제약식 (1)은 교대 kK에서 트럭 fF가 가상 작업 노드 vV로 이동하는 경우에만 해당 노드의 방문 여부 변수 zk,f,v가 1이 되도록 보장한다. 제약식 (2)는 모든 가상 작업 노드에 대해 유입되는 경로 수와 유출되는 경로 수가 동일하도록 하여 트럭 경로의 연속성을 보장한다. 제약식 (3)(4)는 각 교대에서 모든 트럭이 차고지(노드 0)에서 출발하여 복사된 차고지 노드 n+1로 반드시 복귀하도록 한다. 제약식 (5)는 동일한 노드로의 이동을 금지하며, 제약식 (6)은 동일한 물리 대여소에 대응하는 가상 노드 집합 내부에서의 연속 이동을 금지한다. 제약식 (7)은 동일한 교대와 트럭 조합에서 각 가상 작업 노드가 최대 한 번만 방문되도록 제한한다. 제약식 (8)(9)는 트럭의 도착 시각에 대한 시간 전개를 규정하며, 제약식 (10)은 트럭이 교대 시간 내에서만 작업을 수행하도록 제한한다. 제약식 (11)(12)는 각각 트럭의 출발 시각과 복귀 시각을 교대 시작 및 종료 시각에 맞게 제한한다. 제약식 (13)-(15)는 가상 작업 노드 방문을 정확히 하나의 시간 슬롯에 할당하고, 해당 방문 시각이 선택된 시간 슬롯 범위 내에 위치하도록 한다. 제약식 (16)-(18)은 물리 대여소의 시간대별 재고 변화와 미충족 수요를 나타낸다. 제약식 (16)은 초기 시간대에서의 재고 상태를 초기 재고량과 수요 변화(Δs,0) 및 미충족 수요 간의 관계로 정의한다. 제약식 (17)은 재배치 작업이 발생하지 않는 일반 시간대에서, 직전 시간대의 재고 상태에 수요 변화가 반영되어 현재 시간대의 재고 상태와 미충족 수요가 결정되도록 한다. 제약식 (18)은 재배치 작업이 수행되는 시간대에 대해, 트럭의 상·하차 작업량이 재고 변화에 추가적으로 반영되도록 설계하였다. 본 모형에서 미충족 수요 Unmets,h는 시간 슬롯 h에서 수요 실패(lost demand)로 정의된다. 이는 공공자전거 시스템에서 자전거가 없는 경우 이용자가 대여를 포기하거나 다른 수단을 선택하는 행태를 반영한 가정이다. 이러한 정의에 따라, 미충족 수요는 해당 시간대의 재고 상태와만 연계되며 이후 시간대의 재고 전개에는 직접적인 영향을 미치지 않는다. 제약식 (19)-(21)은 재배치 작업량이 가상 작업 노드 방문 및 시간 슬롯 선택과 일관되게 연결되도록 제한한다. 제약식 (22)(23)은 재고량이 적정 재고 상·하한을 벗어나는 정도를 슬랙 변수로 표현한다. 마지막으로 제약식 (24)-(29)는 상·하차 작업과 트럭 적재량이 방문 여부 및 트럭 용량 제약을 만족하도록 하여, 전체 경로에 걸쳐 적재량이 일관되게 유지되도록 한다. 제약식 (30)-(31)은 경로 선택, 방문 여부, 시간 할당이 이진 변수임을 정의한다. 제약식 (32)는 상차량과 하차량이 음수가 될 수 없는 비음의 정수임을 나타낸다. 제약식 (33)은 트럭 적재량이 0에서 최대 용량 사이의 정수임을 보장한다. 제약식 (34)는 순 작업량이 음의 값을 가질 수 있는 정수 변수임을 정의한다. 제약식 (35)는 재고량, 슬랙, 미충족 수요가 0 이상의 값을 가지는 비음의 변수임을 명시한다.


5. 휴리스틱 알고리즘

본 문제는 일반적인 차량경로 문제(VRP)를 포함하므로 다항시간 알고리즘이 알려지지 않은 NP-hard에 해당한다. 따라서 4장에서 제시한 MIP 수리 모형은 문제의 최적해를 보장하지만, 대여소 수가 증가함에 따라 최적해를 찾는 데 걸리는 시간이 기하급수적으로 증가할 수 있다. 신속한 의사결정이 필수적인 실제 운영 환경에 적용하기 위해, 제한된 시간 내에 최적해에 가까운 우수한 해(good enough solution)를 찾을 수 있는 휴리스틱 알고리즘을 설계하였다. 제안하는 알고리즘은 전체 문제를 클러스터링(군집화) → 군집간 경로 결정 문제 → 군집 내부 재배치 문제의 3단계로 분할하여 해를 찾는다. <Figure 8>은 본 연구가 제안하는 3단계 휴리스틱 알고리즘의 전체적인 구조를 보여준다.

Figure 8.

Overall Process of the 3-Phase Heuristic Algorithm.

5.1 Phase 1: 클러스터링(clustering)

이 단계의 첫 번째 목표는 문제의 규모를 축소하는 것이며, 두 번째 목표는 수요 예측과 실제 수요 간의 차이에 대해 강건한(robust) 재배치 계획을 제공하는 것이다. 비교적 많은 대여소(서울 강서구 총 192개)에 대해 개별적으로 수행된 수요 예측은 필연적으로 실제 수요에 대한 불확실성(uncertainty)을 포함한다. 따라서 개별 대여소 단위로 수립한 재배치 계획을 실제로 그대로 수행하는 것은 예측 오차를 감안하면 거의 불가능하다. 즉, 군집화를 통해 개별 대여소들의 예측 오차를 상쇄하여 재배치 계획의 신뢰도를 높일 수 있다. 이를 위해 다음과 같이 두 번의 군집화를 순차적으로 수행한다.

(1) 대여소 군집화 및 비방문 군집 제거

먼저, 지리적으로 인접한 대여소들을 하나의 군집으로 묶어 개별 대여소가 아닌 군집 단위를 기본 의사결정 단위로 삼는다. 이는 사용자가 자전거가 없을 경우 인근 대여소로 이동할 수 있다는 현실적 가정을 반영한 것이다. 사용자의 최대 도보 이동 가능 거리(500m)를 고려하여(Mellou and Jaillet, 2019), 모든 대여소가 반경 250m 내에 중심 대여소(이하 리더 스테이션)를 갖도록 군집을 형성한다. <Figure 9(a)>는 연구 대상 지역 내 전체 물리적 대여소들의 실제 지리적 위치를 나타낸 것으로, 이후 군집화 과정의 공간적 기준이 되는 데이터를 시각화한 것이다.

Figure 9.

Clustering Results.

본 연구에서는 각 군집의 ‘클러스터 단위 적정 재고 수준(cluster-level inventory bounds)’을 산출하기 위해, 해당 군집에 포함된 모든 개별 대여소의 적정 재고 하한(LBs,h)과 상한(UBs,h)을 단순 합산하여 군집 단위의 적정 재고 범위 [LBc,h, UBc,h]를 정의하였다. 예측 대여량과 예측 반납량 또한 동일한 방식으로 군집 단위로 집계하였다. 즉, h시간대 h에서의 클러스터 단위 대여량 Dc,h과 반납량 Rc,h은 해당 클러스터 내 대여소들의 예측값을 단순 합산한 값이며,

Dc,h=sScDs,h,Rc,h=sScRs,h

로 정의된다. 이 때, Sc는 군집 c에 속하는 대여소 집합이다. 이를 통해 클러스터 단위 재고 변동량(Δc,h)도

Δc,h=Dc,h-Rc,h

의 형태로 계산된다.

(2) K-means 기반 작업 영역 분배

<Figure 9(b)>는 <Figure 9(a)>에 나타난 대여소 위치 정보를 바탕으로 K-means 알고리즘을 적용하여 형성된 군집화 결과를 나타낸다. 동일한 색상으로 표시된 대여소들은 동일 군집에 속하며, 각 군집은 하나의 리더 스테이션을 중심으로 반경 250m 이내의 대여소들로 구성된다. 이 단계에서는 군집 내부의 수요·공급 균형 여부와 무관하게, 순수하게 지리적 인접성만을 기준으로 군집을 형성한다. 다음으로, 방문이 필요한 군집들을 재배치 트럭 수만큼의 그룹으로 나눈다. 이는 각 트럭이 담당할 작업 영역을 지리적으로 구분하여 작업 효율을 높이기 위함이다. <Figure 9(c)>는 <Figure 9(b)>에서 도출된 군집들을 재배치 트럭(작업자) 수에 맞추어 다시 그룹화한 결과를 나타내며, 동일한 색상으로 표시된 군집들은 동일 트럭에 할당된 작업 영역을 의미한다. 이를 통해 각 트럭은 특정 지리적 영역에 대해 일관된 책임을 갖고 재배치 작업을 수행하게 된다.

5.2 Phase 2: 군집간 경로 문제

이 단계에서는 1단계에서 할당된 각 트럭의 책임 구역 내에서, 어떤 순서로 군집들을 방문해야 가장 효율적인지를 결정한다. 이 때 군집들 간에 이동하는 자전거 수량은 일단 고려하지 않으며 이는 전형적인 외판원 문제(TSP)에 해당한다. 본 연구에서는 <Figure 10>에 제시된 타부 탐색(Tabu Search) 휴리스틱을 적용하여 군집 간의 경로를 탐색하여 <Figure 11(b)>와 같이 군집 간의 방문 순서를 결정한다.

Figure 10.

Finding a Cluster Visiting Route Using the Tabu Search.

Figure 11.

Illustration of Three-Phase Heuristic Algorithm.

Figure 12.

System Architecture and Data Flow.

먼저, 각 클러스터(cC)의 재고 불균형을 해소하기 위해 필요한 ‘최소 방문 횟수’를 정량적으로 산출한다. 구체적으로, 클러스터 c의 방문 횟수 Nc는 트럭 운행 초기동안 발생할 것으로 예측되는 해당 클러스터의 최대 재고 불균형량(Icmax)을 트럭의 최대 적재 용량 Qmax로 나눈 값을 기반으로 결정되며, 다음 수식과 같이 정의된다.

Nc=min5,max1,IcmaxQmax

여기서 Icmax는 해당 클러스터 내 모든 대여소의 적정 재고 상한(UBs,h) 초과분 합계와 하한(LBs,h) 미달분 합계 중 최댓값을 의미한다. 또한, Qmax는 MIP 모델에서 정의된 트럭의 최대 적재 용량을 의미한다. 이 수식은 불균형이 심각한 클러스터에 대해 복수의 방문 기회를 부여하되, 최대 방문 횟수를 5회로 제한하여 탐색 공간의 효율성을 확보하였다.

이어서, 산출된 방문 횟수 Nc를 기반으로 클러스터 c에 해당하는 ‘가상 노드(Virtual Node)’ 집합 Vc를 생성하는 노드 분할(Node Splitting)기법을 적용한다. 즉, 특정 클러스터 c의 필요 방문 횟수가 k회(k = Nc)라면, 해당 클러스터를 경로 시퀀스 상에 k개의 독립적인 가상 노드(예: v1, v2, ··· ,vkVc)로 복제하여 배치한다. 이를 통해 타부 서치 알고리즘은 물리적으로는 동일한 클러스터 위치일지라도 각각을 서로 다른 시점과 적재량을 가진 개별 작업으로 취급하게 되며, 결과적으로 ‘(클러스터 A)→(클러스터 B)→(클러스터 A)’와 같이 시차를 둔 효율적인 재방문 경로를 자연스럽게 탐색할 수 있게 된다.

군집간의 경로를 결정하기 위해서는 군집간의 이동시간을 정의하여야 한다. 본 연구에서는 각각의 군집에 속한 대여소 중에 가장 재고 불균형이 심한 대여소를 선정하고 이를 “중심 대여소”라고 지정한다. 시프트 kK의 군집 cC에 대해서 중심 대여소 sc*는 다음과 같이 정의된다.

sc*=argmaxsS(c)Max Imbs

이 때, Sc는 군집 cC에 속하는 대여소들의 집합이고 Max Imbs는 제4장에서 정의된 대여소 별 최대 불균형 값이다. 따라서 군집 c1Cc2C의 이동 시간은 tc1,c2*로 정의된다.

이 단계에서는 아직 재배치량이 확정되지 않았으므로 엄격한 ‘트럭 용량 제약’을 완화한다. 대신, 이동 시간과 트럭 용량 이탈에 대한 페널티를 더한 비용 함수(cost = 이동시간 + M × 트럭용량이탈률)를 최소화하는 방식으로 경로를 탐색하여, 과도한 트럭 용량 이탈을 방지하면서도 유연하게 경로를 탐색하도록 한다.

<Figure 10>은 본 연구에서 사용한 타부 탐색 기반 군집 방문 경로 생성 알고리즘의 전체적인 절차를 나타낸다. 먼저, GenerateInitialSolution() 함수는 주어진 방문 횟수 정보를 만족하도록 가상 군집 노드들을 임의의 순서로 배열하여 초기 군집 방문 경로를 생성한다. 이후 전역 최적해의 탐색 범위를 넓히기 위해 Nstart를 으로 설정하여 다수의 무작위 초기 군집 경로를 생성하며, 각 경로에 대해 군집 간 이동 시간으로 정의되는 라우팅 비용을 계산한다. 여기서 Cost는 군집 내부 경로와 재배치 작업량이 결정되기 이전 단계에서 사용되는 대리 목적함수로, 군집 간 이동 시간에 기반한 라우팅 비용을 의미한다. 생성된 초기 경로들은 CandidateSet에 저장되며, 이 중 지역 최적해에 빠질 위험을 분산시키고 해의 품질을 보장하기 위해 라우팅 비용이 작은 상위 K = 10개의 경로를 EliteSet으로 선별한다. 다음으로, EliteSet에 포함된 각 군집 방문 경로를 초기해로 하여 타부 탐색을 적용함으로써 경로를 추가적으로 개선한다. 이 과정에서 타부 탐색은 현재 경로로부터 이웃해를 생성하고, 타부 제약을 만족하는 경로들 중 라우팅 비용이 가장 작은 경로를 반복적으로 선택하여 군집 방문 순서를 개선한다. 각 초기 경로로부터 얻어진 개선된 경로는 기존 경로와 비교되어 EliteSet을 갱신한다. 마지막으로, EliteSet에 포함된 경로들 중 가장 우수한 경로를 선택한 뒤, 전체 이동 시간과 평균 작업시간의 합이 시프트 길이 Tshift를 초과하는 경우 TrimRoute() 함수를 적용한다. TrimRoute()는 경로에 포함된 가상 군집들 중 최대 불균형 지표 Icmax값이 가장 작은 군집부터 순차적으로 제거하여, 최종 군집 방문 경로가 시프트 시간 제약을 만족하도록 조정한다. 이와 같은 절차를 통해 생성된 군집 방문 경로가 다음 단계의 재배치 최적화 모형의 입력으로 사용된다.

5.3 Phase 3: 군집내부 재배치

마지막 단계에서는 2단계에서 결정된 군집 방문 순서를 바탕으로, 각 군집 내 대여소들의 세부 방문 순서와 각 대여소에서 수행할 정확한 재배치량을 최종적으로 결정한다.

(1) 최적 재배치량 및 시간 계산

이제 각 트럭이 군집들을 방문할 때 수행할 재배치의 수량을 결정한다. 각각의 트럭에 대해 경로는 다음과 같이 표현할 수 있다.

0c1Vc2VcRV0

즉, 하나의 트럭은 차고지(0)에서 출발하여 R개의 가상 군집을 거쳐 다시 차고지로 돌아온다. 트럭은 정해진 순서대로 군집을 방문하면서 재배치 작업을 수행하며 이 때 트럭의 용량 제약을 준수해야 한다. 트럭의 총 이동시간과 작업시간의 합이 시프트의 길이보다 클 수 없다. 이 때, 군집 내부에서의 작업시간은 아직 정해지지 않았으므로 본 단계에서는 고정된 값인 ϕ를 사용한다. 또한 이전 단계에서 정해진 경로에 따라 경로 상의 r번째 군집에 도착하는 시간 슬롯 hrHk이 고정되어 있다고 가정하며, 이 때 Hk는 본 트럭 경로가 속한 시프트에 해당하는 타임슬롯 집합이다. 이러한 제한은 휴리스틱 단계에서만 적용되고 최종적인 해를 생성할 때는 실제 대여소들 간의 경로와 작업량을 바탕으로 정확한 값을 다시 계산하게 된다. 어떤 시프트 kK와 주어진 트럭 경로에 대해 작업량을 결정하기 위해 다음과 같은 수리모형을 사용한다.

집합(Sets) 및 매개변수(Parameters)

  • 1,...,R: 군집 방문 순서(step)
  • C: 경로상의 물리 군집 노드의 집합
  • Cv: 경로상의 가상 군집 노드의 집합
  • hrHk: 방문 순서 r이 속하는 1시간 슬롯
  • crC: 방문 순서 r에서 트럭이 방문하는 가상 군집
  • crVCV: 방문 순서 r에서 트럭이 방문하는 물리 군집
  • tij: 클러스터 iCv에서 jCv로 이동하는데 필요한 시간
  • Δc,h: 시간대 hH에서 물리 군집 cC의 순 재고 예측 변화량
  • LBc,h, UBc,h: 시간대 hH에서 물리 군집 cC의 적정 재고 하한 및 상한
  • Qmax: 트럭의 최대 적재 용량
  • Tshift: 하나의 교대시간의 길이
  • Ic,h0: 물리 클러스터 cC의 시작 시각에서의 초기 재고량
  • γ: 자전거 1대 작업 시간
  • ϕ: 군집 내부 작업시간

결정 변수(Decision Variables)

  • Stockc,h≥0: 시간 hHk종료 시점의 물리 클러스터 cC의 재고량
  •  Slack c,h+≥0: 시간 hHk에 물리 클러스터 cC의 재고가 상한(UBc,h)을 초과하는 양
  •  Slack c,h-≥0: 시간 hHk에 물리 클러스터 cC의 재고가 하한 (LBc,h)을 보다 부족한 양
  • Unmetc,h: 시간 hHk에서 부족한 수요(미충족량)
  • drZ: 방문 순서 r에서 군집 cr에서 수행하는 순 작업량
  • qr∈[0, Qmax]: 방문 순서 에서 트럭이 군집 도착 시점의 적재량
  • qstart∈[0, Qmax]: 경로 시작 시 트럭이 차고지 출발 시점의 적재량
  • ar: 방문 순서 r에서 작업량의 절댓값을 나타내는 보조 변수

목적함수(Objective function)

minimize hHkr=1,,R Slack c,h++Slack c,h-+Unmet c,h(36) 

제약식 (Constraints)

q1=qstart -d1(37) 
qr=qr-1-dr,r=2,,R(38) 
ardr,ar-dr,r=1,,R(39) 
r=1,,Rtcr-1,cr+tcR,0+γr=1,,RarTshift-Rϕ(40) 
 Stock c,h0=Ic,h0+Δc,h+r=1,,R:hr=h0,cr=cdr+ Unmet c,h,cC(41) 
 Stock c,h= Stock c,h-1+Δc,h+r=1,,R:hr=h,cr=cdr+ Unmet c,h,cC,hHk:h>h0(42) 
 Stock c,h-UBc,h Slack c,h+,cC,hHk(43) 
LBc,h- Stock c,h Slack c,h-,cC,hHk(44) 
 Slack c,h+0,cC,hHk(45) 
 Slack c,h-0,cC,hHk(46) 
 Unmet c,h0,  cC, hHk(47) 
ar0,r=1,,R(48) 
drZ,-QmaxdrQmax,0qrQmax,r1,,R(49) 

목적함수 (36)은 경로상에서 발생하는 적정재고 수준 이탈량과 수요 부족량을 최소화한다. 제약식 (37)(38)은 경로상의 트럭 적재량의 변화를 표현한다. 제약식 (39)는 트럭의 작업량의 절대값를 선형화 한다. 제약식 (40)은 트럭 경로상의 이동 시간과 작업 시간의 합이 시프트의 총 시간보다 클 수 없도록 한다. 제약식 (41)(42)는 경로상의 실제 물리 대여소의 재고 변화를 표현하는 재고 균형 제약식이다. 제약식 (43)(44)는 시간대별 재고량이 적정 재고 상·하한을 초과하거나 미달하는 정도를 각각 표현한다. 제약식 (45)-(47)은 재고 과잉, 재고 부족, 그리고 수요 미충족량 변수가 모두 음이 아닌 값을 갖도록 하는 비음수성 제약이다. 제약식 (48)은 작업량 절대값 선형화를 위해 도입된 보조변수의 범위를 정의하며, 제약식 (49)는 상·하차 작업량의 정수성 및 트럭 적재량의 용량 제약을 함께 규정한다.

(2) 군집 내 경로 결정(Greedy Algorithm)

군집 내에서는 대여소 간 거리가 매우 가깝기 때문에, 이동 시간보다 재배치의 시급성이 더 중요하다. 따라서 군집 내에서는 재배치가 가장 시급한(Max Imbs 기준 재고 부족 또는 과잉이 가장 심각한) 대여소를 먼저 방문하는 간단한 그리디 알고리즘(Greedy Algorithm)을 적용하여 <Figure 11(c)>와 같이 세부 이동 경로를 완성한다. 이 때, 군집 내의 대여소의 작업량은 트럭의 용량을 초과하지 않으면서 순서대로 최대 Max Imbs만큼의 작업을 수행한다고 가정한다. 따라서 경우에 따라 필요한 만큼의 재배치 작업이 되지 못한 대여소도 발생할 수 있다. 모든 군집 내부의 경로와 작업량이 결정되면 트럭의 경로와 작업량이 모든 대여소에 대해 결정된다. 주의할 점은 군집 내부 경로와 작업량에 따라 전체 이동시간과 작업시간의 합이 시프트 제한시간을 넘길 수 있다는 것이다. 이런 경우에는 전체 경로에서 가장 작은 Max Imbs값을 가지는 대여소를 찾아 이를 전체 경로에서 제거한다. 이 과정은 트럭의 전체 이동시간과 작업시간의 합이 시프트 제한시간 보다 같거나 작을 때까지 반복한다.

군집 내 경로 결정 이후의 <Figure 11>은 이러한 절차가 실제 재배치 경로로 어떻게 구현되는지를 단계별로 제시한다. <Figure 11(a)>에서는 군집화된 대여소의 공간적 분포와 각 군집의 적정재고수준 이탈량이 예시로 있으며, (b)에서는 이를 통해 군집 간 이동 순서가 상위 수준에서 결정되는 과정을 나타낸다. 마지막으로 (c)에서는 군집 내 그리디 알고리즘이 적용된 세부 방문 순서가 제시되어, 상위 계획과 군집 내 세부 경로가 하나의 흐름으로 연결되는 구조를 보여준다.

유효한 재배치 해가 기존에 얻은 가장 좋은 해보다 좋으면 이 해를 2단계의 군집 경로 타부 탐색의 초기해로 지정하여 다시 한번 해의 개선을 시작한다. 즉, 2,3 단계는 주어진 제한 시간동안 계속 반복 실행되어 해를 개선한다.


6. Proof-of-Concept 시스템 구현

6.1 시스템 아키텍처 및 흐름

제안된 알고리즘을 실제 현장에서 사용할 수 있도록 <Figure 13>과 같이 모바일 애플리케이션 시스템을 설계하였다. 시스템의 전체 구조는 Application -Server - Internal Process의 3계층으로 구성된다. 애플리케이션에서 재배치 요청이 발생하면, Flask 기반의 REST API 서버가 Tmap API, 따릉이 실시간 API 등 외부 데이터를 수집하여 알고리즘에 전달한다. 알고리즘 연산 결과는 다시 JSON 형태로 서버를 거쳐 애플리케이션에 전송되어 시각화 된다. 이 과정의 핵심인 24시간 거치량 예측은 별도의 Python 코드로 구현되어 일 단위로 실행된다.

6.2 시스템 기능 및 UI

Figure 13.

User Interface of the Mobile Application for Relocation Guidance.


7. 성능 검증 및 결과 분석

모든 전산실험은 Intel Alder Lake C(6 Cores, 12 Threads) CPU와 16 GB RAM 환경에서 수행되었다. MIP Solve는 Gurobi 11.0을 Heuristics=0.05, RINS=0, MIPFocus=0으로 설정하여 사용하였고 알고리즘 구현에는 Python 3.12버전이 사용되었다. 모든 실험에서 재고수준 미달성과 이동거리 간의 상대적 중요성을 의미하는 파라메터 값 α = 0.001을 사용하였다. 사용되는 자전거 1대 당 작업시간 파라메터 γ = 0.5분, 평균 서비스 시간 파라메터 ϕ = 5분으로 설정하였다. 트럭 용량 Qmax는 15대로 고정하였고, MIP와 휴리스틱의 목표식 구성, 재고 시뮬레이션 방식, 페널티 구조는 완전히 동일하게 설정하였다.

7.1 MIP 수리 모형과의 성능 비교

MIP 수리 모형과 제안한 휴리스틱 알고리즘의 성능 비교를 위해 서울시 공공자전거 수요 자료(2025년 11월 13일 평일 15시 기준)를 기반으로 실제 규모의 재배치 문제를 실험 인스턴스로 구성하였다. 본 연구의 대상인 서울시 강서구 대여소 문제는 3개의 시프트와 각 시프트에 3대의 트럭이 사용되는 다중 시프트·다중 차량 환경을 갖는다. 또한 본 연구의 문제 정의에서는 대여소의 다중 방문을 허용하며, 이를 구현하기 위해 각 대여소를 여러 번 방문할 수 있도록 노드를 복사하는 구조를 사용한다. 이로 인해 대여소별 가상 노드 수가 증가할수록 경로 선택 조합의 수가 기하급수적으로 증가하며, 수리 모형의 변수 및 제약식 수 또한 빠른 속도로 확대된다.

이러한 원래 문제 설정을 그대로 적용할 경우, 4장에서 제시한 MIP 수리 모형은 10시간의 계산 시간 제한 하에서도 최적해는 물론이고 유효한 정수해도 도출하지 못하였다. 이는 다중 차량, 다중 시프트, 다중 방문을 동시에 고려하는 본 문제 구조가 일반적인 MIP 접근 방식으로는 현실적인 시간 내에 해를 구하기 어려운 높은 계산 복잡도를 가지기 때문으로 판단된다.

이에 부득이하게 대여소 수를 10개, 단일 시프트 및 단일 차량으로 제한한 소규모 인스턴스에 대해 비교 실험을 수행하였다. <Table 4>는 해당 소규모 인스턴스에 대해 순수 MIP 접근법과 제안한 휴리스틱 알고리즘의 성능을 비교한 결과를 요약한 것이다. 표에서 time (s)는 계산 경과 시간을 의미하며, incumbent는 해당 시점까지 발견된 최적의 정수해 목적함수 값을 나타낸다. Penalty는 재고수준 미달성에 따른 페널티 항의 값이며, Travel은 목적함수에서 이동거리 항에 해당하는 값으로, 총 이동시간에 가중치 파라미터 α를 곱한 값을 의미한다. 또한 bestBd는 해당 시점에서의 최적 하한(lower bound) 값을, gap (%)은 incumbent 해와 best bound 간의 상대적 optimality gap을 백분율로 나타낸 것이다. nodes는 해당 시점까지 탐색된 branch-and-bound 노드 수를 의미한다. <Table 4>에 나타난 바와 같이, MIP 수리 모형은 약 123초 만에 optimality gap 0%에 도달하며 최적해를 도출하였다. 특히 최종 목적함수 값(210.755)을 기준으로 보았을 때, 휴리스틱 알고리즘(258.866) 대비 약 18.6% 더 우수한 성능을 보였다. 이는 매우 제한된 규모의 문제에서 MIP 접근법이 해의 품질 측면에서 확실한 우위를 점하며 효과적으로 작동함을 입증한다.

Comparison of Pure MIP and Heuristic on a Very Small-Scale Instance

MIP 수리모형과 휴리스틱의 성능을 비교하기 위해 또다른 실험을 수행하였다. 이번에는 대여소 크기를 그대로 유지하고 대여소의 반복 방문을 제한하였다. 이 실험의 목적은 대여소 반복 방문 여부가 문제의 난이도에 어느 정도 영향을 미치는지 확인하는 것이다. 재고 상·하한 제약, 차량 용량 제약, 수요 충족 제약 등 원 문제의 핵심 제약 구조는 모두 유지하였으며, 단지 대여소의 반복 방문 가능성과 시프트 수를 1회로 제한함으로써 계산 부담을 완화하였다. 이러한 축소된 문제 설정을 바탕으로, 다음과 같은 조건에서 MIP와 휴리스틱 알고리즘의 성능 비교를 수행하였다.

  • - 모든 대여소 노드의 가상 노드를 최대 1개만 생성하였다. 즉, 모든 대여소에 대해 Ns = 1같은 대여소를 한 번 까지만 방문하는 것을 허용하는 것을 의미한다.
  • - 시프트를 1개만 사용하였다. 즉, Ns = {1}
  • - 차량 개수는 실제 운영 환경을 반영하기 위해 3대로 설정하였다. 즉, F = {1,2,3}

<Table 5>에 보이듯이 MIP 수리 모형은 1-시프트와 재방문 1회로 단순화된 조건에서도 초기 정수 유효해를 발견하는 데 약 20초가 소요되었으며, 이때의 목적함수 값은 약 8779이었다. 이후 탐색이 진행되면서 해는 점진적으로 개선되었으나, 개선 속도는 제한적이었고 26,000초 이상의 계산 시간 이후에도 목적함수 값은 약 6564 정도에 머물렀다. 한편 하한값(best bound)은 초기 약 4611에서 시작하여 탐색 26000초 이후에도 약 5085였으며, 이에 따라 최종 Gap은 약 22.5%로 유지되었다. <Figure 14>는 MIP 수리모형의 분지한계 탐색(branch-and-bound search) 과정에서 목적 함수의 상한값(incumbent)과 하한값(best lower bound)의 시간대 별 변화를 보여준다. 탐색 초기 단계에서는 해의 개선이 비교적 빠르게 이루어지지만 이후에는 상한과 하한 모두 크게 변하지 않았다. 이는 탐색 시간이 증가함에 따라 탐색 트리의 크기가 커지고 이에 따라 탐색 속도와 효율이 감소함을 보여준다.

Comparison of Solution Quality and Runtime between Pure MIP and the Heuristic Algorithm

Figure 14.

Objective Progress Comparison between MIP and Heuristic Solutions.

반면, 제안한 휴리스틱 알고리즘은 동일한 단순화 조건에서 1800초의 제한된 계산 시간 내에 목적함수 값 6619의 유효해를 도출하였다(<Table 5> 참조). 해당 알고리즘은 각 탐색 과정에서 초기 해에 대해 30회의 반복 탐색을 수행하고, 각 iteration마다 최대 50개의 이웃 해(neighbor)를 생성·평가하였다. 이후 상위 해에 대해서는 추가로 50회의 반복 탐색을 통해 해를 정밀화하였다. 그 결과, 동일한 시간대에서 MIP 수리모형이 도출한 incumbent 해보다 낮은 목적함수 값을 기록하였으며, 이는 제한된 계산 시간 기준에서도 휴리스틱 알고리즘이 더 우수한 해를 산출하였음을 의미한다. 즉, 본 실험 결과는 휴리스틱 알고리즘이 단순히 빠른 해를 제공하는 것에 그치지 않고, 동일한 시간 자원 하에서 해의 품질 측면에서도 수리모형을 상회할 수 있음을 보여준다.

보다 중요한 점은 문제 규모와 복잡도가 증가하는 실제 운영 환경에서의 확장성이다. MIP 수리모형은 시프트 수 증가 및 군집의 반복 방문을 허용할 경우 변수 수와 제약식 수가 급격히 증가하여, 실질적인 시간 내에 유효해를 도출하는 것이 어려워진다. 반면, 제안한 휴리스틱 알고리즘은 문제를 단계적으로 분해하는 구조를 기반으로 설계되어 문제 규모가 증가하더라도 계산 부담을 효과적으로 제어할 수 있으며, 실제 운영과 동일한 3-shift 조건에서도 제한된 시간 내에 안정적으로 유효해를 도출함을 확인하였다.

클러스터 방문 횟수 제한이 목적함수에 미치는 영향을 분석하기 위해, 이번에는 각 클러스터를 최대 1회 방문하도록 제한한 경우와 동일 클러스터를 최대 5회까지 방문할 수 있도록 허용한 경우를 비교하였다. 이 실험은 MIP 수리 모형은 제한시간 내에 정수해를 찾지 못해 휴리스틱만으로 비교하였다. <Figure 15>는 경과 시간에 따른 전역 목적함수 값의 변화를 나타낸 것으로, 다중 방문을 허용하는 경우에 탐색 초기부터 더 빠른 목적함수 감소를 보였으며, 장시간 탐색에서도 지속적인 개선이 관찰되었다. 반면, 단일 방문으로 제한하는 경우에는 일정 시점 이후 목적함수 값이 정체되는 경향을 보였다. 이는 클러스터를 단일 방문으로 제한할 경우 탐색 공간이 제한되는 반면, 다중 방문을 허용하면 재배치 시점을 시간적으로 분산할 수 있어 재고 불균형 완화와 전역해 탐색에 유리하게 작용하기 때문으로 해석할 수 있으며, 본 연구가 제안하는 가상 노드를 통한 다중 방문 허용이 좋은 해를 얻는 관점에서 매우 중요한 역할을 함을 보여준다. 본 절의 비교실험은 MIP 수리 모형과 비교를 위해 문제의 크기를 줄이거나 단순한 가정을 사용했으나 이후의 모든 실험은 원래의 문제 크기와 가정을 모두 유지하여 수행하였다.

Figure 15.

Comparison of Global Objective under Different Cluster Visit Constraints.

7.2 현재 운영 프로세스와의 성능 비교

제안한 알고리즘이 실제 운영 환경 대비 얼마나 효과적인지를 평가하기 위해 ‘현재 운영 프로세스’와 성능을 비교한다. 이는 알고리즘의 실용적 가치를 입증하는 것을 목표로 한다. 2022년 6월 중 일주일간의 실제 운영 데이터를 표본으로 사용하였으며, 성능 측정 지표(KPI)를 다음과 같이 정의한다. 아울러 제안한 알고리즘의 실무 적용 가능성을 평가하기 위해 계산 효율성을 함께 고려하였으며, 모든 실험에서 각 shift-트럭 조합에 대해 알고리즘 실행 시간은 2분으로 제한하였다.

  • - 적정 재고 수준 만족률: 본 연구가 3.3절에서 정의한 동적 Bound 내에 재고가 유지된 시간의 비율.
  • - 5대 이상 만족률: 사용자의 최소 편의를 보장하기 위해, 대여소에 5대 이상의 자전거가 확보된 시간의 비율.

<Table 6>은 실제 운영 데이터를 기반으로 수행한 시뮬레이션 결과를 요약한 것이다. 시간대별 적정 재고 수준 만족률을 살펴보면, 전반적으로 제안 프로세스가 현재 프로세스보다 높은 값을 보이는 경향이 확인된다. 구체적으로, 6월 1일 15-17시 구간에서는 제안 프로세스가 64.29%로 현재 프로세스(53.87%)보다 약 10%p 이상 높은 만족률을 기록하였으며, 17-19시 구간에서도 제안 프로세스(57.62%)가 현재 프로세스(56.85%)를 소폭 상회하였다. 또한 19-21시 구간에서도 제안 프로세스가 60.48%로 현재 프로세스(57.14%)보다 다소 높은 값을 보였다. 이러한 경향은 6월 2일과 6월 3일에서도 유사하게 나타난다. 6월 2일의 세 개 시간대 모두에서 제안 프로세스는 현재 프로세스 대비 약 6-12%p 수준의 개선 효과를 보였으며, 6월 3일 역시 모든 시간대에서 제안 프로세스가 더 높은 적정 재고 만족률을 기록하였다.

한편, 5대 이상 재고 만족률에 대한 결과를 살펴보면, 대부분의 날짜와 시간대에서 제안 프로세스가 현재 프로세스보다 높은 만족률을 유지하는 것으로 나타났다. 6월 1일 15-17시 구간에서는 제안 프로세스가 96.19%로 현재 프로세스(83.93%)를 크게 상회하였고, 같은 날 17-19시 및 19-21시 구간에서도 제안 프로세스가 각각 95.24%와 93.81%로 현재 프로세스보다 우수한 성과를 보였다. 6월 2일과 6월 3일 역시 다수의 시간대에서 제안 프로세스의 성과가 우수하게 나타났으며, 특히 6월 2일 19-21시 구간에서는 제안 프로세스가 99.02%로 매우 높은 만족률을 기록하였다. 다만 6월 3일 19-21시 구간에서는 두 프로세스 간 만족률 차이가 다른 시간대에 비해 상대적으로 작게 나타났다.

종합하면, 제안 프로세스는 적정 재고 수준 만족률과 5대 이상 재고 만족률 모두에서 전반적으로 현재 프로세스 대비 우수한 성과를 보이며, 특히 수요 변동성이 큰 시간대에서 그 효과가 더욱 뚜렷하게 나타나는 것으로 분석된다.

본 연구에서 비교 기준으로 사용한 현재 운영 프로세스(current process)의 성능은 실제 운영 환경에서 관리자가 수행한 재배치 결과를 그대로 반영하여 산정하였다. 2022년 6월 중 평일의 대여소별 1시간 단위 실제 거치 자전거 수 데이터를 활용하였으며, 해당 데이터는 각 시간대에 현장 운영자에 의해 수행된 재배치 작업의 결과를 포함하고 있다. 즉, current process는 별도의 최적화 시뮬레이션을 적용하지 않고, 실제 운영에서 발생한 재배치 이후의 관측 재고 상태를 기준으로 평가되었다. 성능 비교의 공정성을 확보하기 위해, current process와 proposed process 모두 동일한 단위인 클러스터 단위로 지표를 산정하였다. 이를 위해 대여소 단위의 1시간별 거치 데이터를 사전에 정의된 클러스터로 집계한 후, 각 클러스터-시간대 조합에 대해 본 연구에서 정의한 동적 적정 재고 하한 및 상한(bound)을 적용하였다. 이후, 클러스터 단위 재고가 해당 bound 내에 유지된 시간의 비율을 적정 재고 수준 만족률로 계산하였으며, 동일한 방식으로 클러스터 단위 재고가 5대 이상 유지된 시간의 비율을 5대 이상 만족률로 산정하였다. 본 절에서 제시한 시뮬레이션 결과는 일주일간의 분석 결과 중 평일 구간인 2022년 6월 1일-3일을 중심으로 요약하여 제시하였는데, 수요 패턴을 왜곡할 수 있는 외부적 요인이 관측되지 않은 일반적인 운영일로 구성되어 있어 재배치 성과를 안정적으로 비교하기에 적합하다. 또한 연속된 평일 데이터를 활용함으로써 단일 일자에 국한된 우연적 변동이 아닌, 제안 프로세스의 반복적이고 일관된 성능 경향을 확인하고자 하였다.

7.3 목적함수 가중치 파라미터 α의 영향 분석

본 연구에서는 목적함수 내에서 재고 불균형 페널티와 이동 비용 간의 상대적 중요도를 조절하는 가중치 파라미터 α가 재배치 결과에 미치는 영향을 확인하기 위해 비교 실험을 수행하였다. 본 실험은 3대의 트럭이 3번의 시프트(3-Truck, 3-Shift) 동안 운행하는 시나리오를 바탕으로 진행되었으며, 각 시나리오별로 제안한 휴리스틱 알고리즘에 대해 3분의 계산 시간을 부여하여 해를 도출하였다. 실험은 α = 100, α = 0.001, α = 0의 세 가지 설정을 통해 시간대별 적정재고 만족률과 5대 이상 만족률의 변화 추이를 분석하였다. <Table 7>은 각 설정값에 따른 시간대별 성과 지표 결과를 보여준다. <Table 7>의 결과는 각 α설정에 대해 제안한 휴리스틱 알고리즘을 제한된 계산 시간 내에서 실행하여 도출된 최선 해(best-found solution)를 기준으로 비교한 것이다.

Performance Comparison of Redistribution Results by Values (Nov. 13, 2025)

실험 결과에 따르면, α = 100과 같이 이동 비용의 가중치가 높을 경우 이동 거리 단축이 재고 불균형 해소보다 우선시되는 경향을 보였다. 실제 운영 현장에서는 정해진 시프트 시간 동안 트럭이 최대한의 재배치 작업을 수행하는 것이 유리함에도 불구하고, 가 크면 작업을 조기에 종료하거나 원거리 방문을 기피하게 된다. 이로 인해 시프트 시간을 충분히 활용하지 못하게 되어, 특히 19~21H 시간대에서 만족률이 56.02%로 정체되는 등 전체 시스템의 재고 개선 효과가 반감되는 모습을 보였다.

반면, α = 0인 경우 이동 거리에 대한 제약이 전혀 없어 이론적으로는 재고 만족에만 몰입할 수 있다. 그러나 실제 탐색 과정에서는 경로 구조가 지나치게 산만하거나 비효율적으로 구성되어, 주어진 시간 내 수행 가능한 작업의 일관성이 떨어지는 경향이 관찰되었다.

이와 달리 α = 0.001 설정은 이동 비용의 비중이 매우 낮음에도 불구하고, α = 0일 때보다 재고 페널티가 더 빠르고 안정적으로 감소하는 양상을 나타냈다. 이는 아주 작은 α값이라도 존재할 경우, 최적화 과정에서 불필요하게 복잡한 경로 생성을 완만하게 규제하는 역할을 수행하기 때문이다. 이를 통해 트럭이 시프트 시간을 효율적으로 사용하며 보다 생산적인 재배치 작업을 수행하도록 유도하여, 17~19H(72.82%) 및 19~21H(73.79%)에서 상대적으로 우수한 성과를 보였다.

결과적으로 본 연구의 목적함수는 재고 페널티 최소화에 우선순위를 두고 있으나, 이동 비용 항은 단순히 거리를 줄이는 목적을 넘어 현실적이고 효율적인 경로 구조를 형성하는 가이드로서 기능한다. 본 실험의 경향성을 비추어 볼 때 α = 0.001과 같은 미세한 설정은 재고 개선 효과와 운영의 안정성을 동시에 확보하는 데 유용한 선택지가 될 수 있음을 시사한다. 운영자는 재배치 작업의 긴급도나 에너지 효율성 등 실제 상황에 따라 이 파라미터를 유연하게 조정함으로써 시스템의 성능을 최적화할 수 있을 것이다.

7.4 수요 예측 정확도가 재배치 성능에 미치는 영향 분석

수요 예측 오차가 재배치 성능에 미치는 영향을 확인하기 위해 추가 실험을 수행하였다. 본 실험에서는 동일한 날짜와 기상 조건에서 특정 대여소(대여소 1101)에 대해 추정된 수요 예측 결과를 모든 대여소에 동일하게 적용하였다. 이는 기상 조건 등 외생 요인은 동일하게 유지한 채, 대여소별 고유의 수요 특성이 충분히 반영되지 않은 예측 데이터가 입력으로 사용되는 상황을 가정한 것이다.

<Table 8>은 대여소별 수요가 정확히 반영된 경우(Accurate Forecast)와 단일 대여소의 예측치를 전체에 적용한 경우(Inaccurate Forecast)의 시간대별 성과 지표를 비교하여 보여준다. 실험 결과, 정확한 예측에 기반한 재배치는 시간이 경과함에 따라 적정재고 만족률이 점진적으로 상승(54.85% → 73.79%)하며 시스템이 안정화되는 양상을 보였다. 반면, 예측 오차가 포함된 시나리오에서는 초기 시간대(15~17H)부터 성과가 저하되었을 뿐만 아니라, 후반부인 19~21H에는 적정재고 만족률이 45.63%까지 하락하며 정상 시나리오와 약 28.16%p의 큰 격차를 나타냈다.

Comparative Analysis of Redistribution Performance: Accurate vs. Inaccurate Demand Forecasting (Nov. 13, 2025)

이는 대여소별 수요 특성을 무시한 부정확한 예측이 입력될 경우, 재배치 작업이 거듭될수록 잘못된 지점으로 자전거가 편중되어 시스템의 불균형이 누적되기 때문으로 풀이된다. 본 실험 결과는 동일한 날짜와 기상 조건 하에서도 개별 대여소의 수요 패턴을 정밀하게 반영하는 것이 재배치 성능을 결정짓는 핵심 요소임을 보여준다. 또한, 실제 운영 환경에서 예측 오차가 이보다 더 복잡하거나 크게 발생할 경우 재배치 효율성이 더욱 심각하게 저해될 수 있음을 시사한다.


8. 결 론

본 연구는 서울시 공공자전거의 쏠림 현상의 개선을 위한 재고-경로 기반의 알고리즘을 제시하였다. 적정 재고 수준은 각 대여소의 과거 수요와 반납 데이터를 바탕으로 예측 모형을 수립하고, 이를 이용해 수요가 적정 재고 수준을 넘거나 부족하지 않도록 하는 재배치 계획을 수립하는 것이 목표이다. 서울시 공공 자전거 “따릉이”를 대상으로 실제 대여/반납 데이터를 기반으로 현재 실행되고 있는 재배치 업무의 제약을 모두 반영하여 문제를 정의하고 이를 풀기 위한 MIP 수리 모형을 제시하였다. 수리모형은 같은 대여소를 재배치 작업을 위해 여러 번 방문할 수 있는 조건을 반영하였고 현실의 제약(시프트, 차량 대수 등)을 반영하기 위해 크기가 매우 커져 Gurobi와 같은 상용 MIP Solver를 이용해도 유효한 해를 얻기 어려움을 확인하였다.

빠른 시간에 좋은 유효해를 얻기 위한 방법으로 3단계의 휴리스틱 알고리즘을 개발하였다. 본 휴리스틱 알고리즘은 먼저 대여소들을 군집화하고 군집들 간의 재배치 트럭 경로와 재배치 작업을 결정한 후 군집 내부에서의 세부적인 재배치 작업의 단계로 구성된다. 휴리스틱 알고리즘은 MIP 수리 모형보다 훨씬 빠른 시간에 상대적으로 좋은 유효해를 얻을 수 있음을 확인하였다. 또한 과거 실제 운영된 재배치 기록과 비교하여 본 연구가 제시하는 재배치 알고리즘이 대여소의 재고 수준을 유지하는 관점에서 매우 뛰어남을 확인하였다.

본 연구의 한계점과 추후 연구 방향으로는 첫째, 제안한 접근방법은 수요 예측 모형의 정확도에 크게 의존한다. 수요 예측은 기상 이변과 같은 돌발 변수를 반영하기 어렵고 이는 실제 수요와 예측 값의 큰 차이를 보일 수 있는 원인이 된다. 따라서 수요 예측 오류에 강건(robust)한 재배치 알고리즘의 연구가 필요하다. 둘째, 재배치 트럭이 대여소 사이에 이동하는 시간의 불확실성을 고려하지 못하였다. 실제 트럭의 이동시간은 운행 시간대에 매우 큰 차이를 보이며 이를 반영하지 못하면 현실 적용이 어려운 해를 얻을 수 있다. 셋째, 대여소 간의 자전거의 재배치를 트럭을 이용하는 방법과 더불어 사용자들에게 일정 인센티브(incentive)를 부여하여 재고가 풍부한 대여소에서 부족한 대여소로 자발적으로 이동하도록 유도하는 방안도 가능하다. 이를 위해서는 인센티브를 부여하는 구간과 가격을 결정할 필요가 있으며 이는 고객에 대한 행태론적(behavior) 고려가 필요하다.

Acknowledgments

이 연구는 2025학년도 한국외국어대학교 교내학술연구비의 지원에 의하여 이루어진 것임.

References

  • Brinkmann, J., Ulmer, M. W., and Mattfeld, D. C. (2016), Inventory routing for bike sharing systems, Transportation Research Procedia, 19, 316-327. [https://doi.org/10.1016/j.trpro.2016.12.091]
  • Brinkmann, J., Ulmer, M. W., and Mattfeld, D. C. (2020), The Multi-Vehicle Stochastic-Dynamic Inventory Routing Problem for Bike Sharing Systems, Business Research, 13(1), 69-92. [https://doi.org/10.1007/s40685-019-0100-z]
  • Caggiani, L., Camporeale, R., Ottomanelli, M., and Szeto, W. Y. (2018), A modeling framework for the dynamic management of free-floating bike-sharing systems, Transportation Research Part C: Emerging Technologies, 87(1), 159-182. [https://doi.org/10.1016/j.trc.2018.01.001]
  • Cui, Z., Long, D. Z., Qi, J., and Zhang, L. (2023), The Inventory Routing Problem Under Uncertainty, Operations Research, 71(1), 378-395. [https://doi.org/10.1287/opre.2022.2407]
  • Haider, Z., Nikolaev, A., Kang, J. E., and Kwon, C. (2018), Inventory rebalancing through pricing in public bike sharing systems, European Journal of Operational Research, 270(1), 103-117. [https://doi.org/10.1016/j.ejor.2018.02.053]
  • JoongAng Ilbo (2022), Public Bike System ‘Ddareungi’ achieves 96.9% user satisfaction. Published July 28, 2022. https://www.joongang.co.kr/article/25099146, .
  • Korea Meteorological Administration (2022), Automated Weather Observation Data (Hourly). Data Portal for Meteorological Information. https://data.kma.go.kr/data/grnd/selectAsosRltmList.do?pgmNo=36, .
  • Li, Y., Szeto, W. Y., Long, J., and Shui, C. S. (2016), A multiple type bike repositioning problem, Transportation Research Part B: Methodological, 90, 263-278. [https://doi.org/10.1016/j.trb.2016.05.010]
  • Lin, J.-R. and Yang, T.-H. (2011), Strategic design of public bicycle sharing systems with service level constraints, Transportation Research Part E: Logistics and Transportation Review, 47(2), 284-294. [https://doi.org/10.1016/j.tre.2010.09.004]
  • Mellou, K. and Jaillet, P. (2019), Dynamic resource redistribution and demand estimation: An application to bike sharing systems, Social Science Research Network. [https://doi.org/10.2139/ssrn.3336416]
  • Park, C. and Sohn, S. Y. (2017), An optimization approach for the placement of bicycle-sharing stations to reduce short car trips: An application to the city of Seoul, Transportation Research Part A: Policy and Practice, 105, 154-166. [https://doi.org/10.1016/j.tra.2017.08.019]
  • Republic of Korea (2022), Seoul Metropolitan Government, Public Bicycle Availability by Station (Hourly), Data.go.kr. https://www.data.go.kr/data/15113183/fileData.do, .
  • Schuijbroek, J., Hampshire, R. C., and van Hoeve, W.-J. (2017), Inventory rebalancing and vehicle routing in bike sharing systems, European Journal of Operational Research, 257(3), 992-1004. [https://doi.org/10.1016/j.ejor.2016.08.029]
  • Seoul Metropolitan Government (2022), Seoul Shared Bicycle (Ddareungi) Rental and Return Records by Station, Seoul Open Data Plaza. https://data.seoul.go.kr/dataList/OA-21229/F/1/datasetView.do, .
  • Seoul Metropolitan Government (2022), Seoul Shared Bicycle (Ddareungi) Station Master Information, Seoul Open Data Plaza. https://data.seoul.go.kr/dataList/OA-21235/S/1/datasetView.do, .
  • SK Telecom (n.d.), Tmap API documentation: Route and navigation services, Tmap Developers, https://tmapapi.tmapmobility.com/, .
저자소개

고정윤: 한국외국어대학교 산업경영공학과에 현재 재학 중이다.

김승택: 한국외국어대학교 산업경영공학과에 현재 재학 중이다.

이정현: 한국외국어대학교 산업경영공학과에 현재 재학 중이다.

이충목: 고려대학교 물리학과에서 1997년 학사, 1999년 석사학위를 취득하고 KAIST에서 2009년 산업공학 박사학위를 취득하였다. ETRI 선임연구원, IBM Research Europe, Ireland에서 Research Staff Member 등을 역임하고 2015년부터 한국외국어대학교 산업경영공학과에서 교수로 재직 중이다. 관심 연구 분야는 최적화 이론, 정수계획법, 강건최적화, 데이터 마이닝 등이다.

Figure 1.

Figure 1.
Geographical Distribution of Docking Stations in the Target Area (Gangseo-gu).

Figure 2.

Figure 2.
Comparison of Hourly Demand Patterns: Station 1177 vs. Station 5073.

Figure 3.

Figure 3.
Comparison of Hourly Rental Demand Patterns: Weekdays vs. Weekends.

Figure 4.

Figure 4.
Feature Importance Analysis for Weekday and Weekend Demand Prediction Models.

Figure 5.

Figure 5.
Comparison of Actual vs. Predicted Hourly Rentals.

Figure 6.

Figure 6.
Predicted Hourly Bike Availability Fluctuation at a Sample Station.

Figure 7.

Figure 7.
Two Different Inventory bands to Low- and High-Variability Stations.

Figure 8.

Figure 8.
Overall Process of the 3-Phase Heuristic Algorithm.

Figure 9.

Figure 9.
Clustering Results.

Figure 10.

Figure 10.
Finding a Cluster Visiting Route Using the Tabu Search.

Figure 11.

Figure 11.
Illustration of Three-Phase Heuristic Algorithm.

Figure 12.

Figure 12.
System Architecture and Data Flow.

Figure 13.

Figure 13.
User Interface of the Mobile Application for Relocation Guidance.

Figure 14.

Figure 14.
Objective Progress Comparison between MIP and Heuristic Solutions.

Figure 15.

Figure 15.
Comparison of Global Objective under Different Cluster Visit Constraints.

Table 1.

Summary of Data Collection and Target System Scale

Item Description / Value Unit / Source
Datetime Date and time of data collection YYYY-MM-DD HH:MM
Station ID Unique identifier for each docking station Integer
Count Number of rentals/returns per hour (Target) Count
Temperature Air temperature °C
Precipitation Amount of rainfall mm
Wind Speed Average wind speed m/s
Snow Depth Accumulated snow depth cm
Visibility Horizontal visibility distance m

Table 2.

Performance Evaluation of the Demand and Return Prediction Models

Model Metric Mean Max Min
Weekday Demand RMSE 0.385 0.653 0.114
MAE 0.327 0.606 0.093
Weekend Demand RMSE 0.378 0.654 0.113
MAE 0.319 0.614 0.088
Weekday Return RMSE 0.401 0.686 0.125
MAE 0.337 0.625 0.099
Weekend Return RMSE 0.376 0.668 0.106
MAE 0.317 0.602 0.083

Table 4.

Comparison of Pure MIP and Heuristic on a Very Small-Scale Instance

time (s) incumbent Penalty Travel bestBd gap (%) nodes
MIP 0 537.485 537.48 0.005 54.026 89.90 0
10 213.1717 213.123 0.048 89.733 57.90 82960
15 213.1717 213.123 0.048 95.150 55.40 148357
20 210.755 210.707 0.048 100.934 52.10 205531
30 210.755 210.707 0.048 110.144 47.70 324659
50 210.755 210.707 0.048 125.433 40.50 593066
55 210.755 210.707 0.048 128.843 38.90 659933
60 210.755 210.707 0.048 131.516 37.60 716439
70 210.755 210.707 0.048 137.707 34.70 852196
75 210.755 210.707 0.048 140.460 33.40 916009
85 210.755 210.707 0.048 146.587 30.40 1052389
90 210.755 210.707 0.048 149.529 29.10 1112838
100 210.755 210.707 0.048 157.393 25.30 1246179
110 210.755 210.707 0.048 167.806 20.40 1379247
120 210.755 210.707 0.048 184.852 12.30 1514582
123 210.755 210.707 0.048 184.852 0 1551280
Heuristic 13.94 258.866 258.8 0.066 - - -

Table 5.

Comparison of Solution Quality and Runtime between Pure MIP and the Heuristic Algorithm

time (s) incumbent Penalty Travel bestBd gap (%) nodes
MIP 20 8779.765 8779.750 0.015 4611.706 47.50 0
375 7671.298 7671.210 0.088 4951.287 35.50 1069
639 7121.574 7121.490 0.084 4951.287 30.50 5631
770 7051.113 7051.020 0.093 4951.287 29.80 6389
853 6946.755 6946.642 0.114 4951.287 28.70 6391
998 6785.187 6785.073 0.114 4951.287 27.00 6392
1247 6764.672 6764.570 0.102 5009.409 25.90 6413
1250 6760.922 6760.820 0.102 5011.993 25.90 6414
1541 6706.796 6706.690 0.106 5040.331 24.80 6427
2139 6702.772 6702.667 0.105 5067.174 24.40 6451
2160 6635.775 6635.682 0.093 5067.528 23.60 6452
2271 6627.895 6627.802 0.093 5068.992 23.50 6459
2994 6622.364 6622.271 0.093 5074.131 23.40 6487
4115 6622.363 6622.270 0.093 5079.205 23.30 6615
5386 6622.363 6622.270 0.093 5079.205 23.30 8263
5499 6580.283 6580.187 0.097 5079.205 22.80 8405
6564 6568.831 6568.733 0.098 5079.205 22.70 11142
14038 6564.201 6564.103 0.098 5085.455 22.50 25678
Heuristic 60 7093.289 7093.080 0.209 - - -
300 6807.422 6807.210 0.212 - - -
600 6777.153 6776.940 0.213 - - -
900 6752.696 6752.490 0.206 - - -
1800 6619.490 6619.283 0.207 - - -

(a)

date time proposed process current process
06/01 15~17 64.29% 53.87%
17~19 57.62% 56.85%
19~21 60.48% 57.14%
06/02 15~17 77.94% 66.37%
17~19 72.06% 63.99%
19~21 73.04% 66.07%
06/03 15~17 76.17% 63.39%
17~19 69.63% 61.61%
19~21 73.36% 68.75%

(b)

date time proposed process current process
06/01 15~17 96.19% 83.93%
17~19 95.24% 85.12%
19~21 93.81% 82.74%
06/02 15~17 98.53% 82.14%
17~19 97.55% 80.36%
19~21 99.02% 82.74%
06/03 15~17 94.39% 81.85%
17~19 94.86% 81.85%
19~21 95.79% 87.80%

Table 7.

Performance Comparison of Redistribution Results by Values (Nov. 13, 2025)

Time Window Metric α=100 α=0.001 α=0
15~17H Optimal Inventory Rate (%) 46.80 54.85 54.85
Over 5-Bikes Rate (%) 70.58 79.61 79.61
17~19H Optimal Inventory Rate (%) 59.90 72.82 71.84
Over 5-Bikes Rate (%) 78.83 87.38 87.38
19~21H Optimal Inventory Rate (%) 56.02 73.79 71.84
Over 5-Bikes Rate (%) 81.26 90.78 91.75

Table 8.

Comparative Analysis of Redistribution Performance: Accurate vs. Inaccurate Demand Forecasting (Nov. 13, 2025)

Time Window Metric Accurate Forecast (Baseline) Inaccurate Forecast (Error Case)
15~17H Optimal Inventory Rate (%) 54.85 47.57
Over 5-Bikes Rate (%) 79.61 76.21
17~19H Optimal Inventory Rate (%) 72.82 53.40
Over 5-Bikes Rate (%) 87.38 80.10
19~21H Optimal Inventory Rate (%) 73.79 45.63
Over 5-Bikes Rate (%) 90.78 83.98