The multivehicle stochasticdynamic inventory routing problem for bike sharing systems
Abstract
We address the operational management of stationbased bike sharing systems (BSSs). In BSSs, users can spontaneously rent and return bikes at any stations in the system. Demand is driven by commuter, shopping, and leisure activities. This demand constitutes a regular pattern of bike usage over the course of the day but also shows a significant shortterm uncertainty. Due to the heterogeneity and the uncertainty in demand, stations may run out of bikes or congest during the day. At empty stations, no rental demand can be served. At full stations, no return demand can be served. To avoid unsatisfied demand, providers dynamically relocate bikes between stations in reaction of current shortages or congestion, but also in anticipation of potential future demand. For this realtime decision problem, we present a method that anticipates potential future demands based on historical observations and that coordinates the fleet of vehicles accordingly. We apply our method for two case studies based on realworld data of the BSSs in Minneapolis and San Francisco. We show that our policy outperforms benchmark policies from the literature. Moreover, we analyze how the interplay between anticipation and coordination is essential for the successful operational management of BSSs. Finally, we reveal that the value of coordination and anticipation based on the demandstructure of the BSS under consideration.
Keywords
Bike sharing Dynamic vehicle routing Inventory routing Approximate dynamic programming1 Introduction
In many cities, stationbased bike sharing systems (BSSs) have been proven to be a healthy and flexible alternative to individual travel by car and a suitable complement to public transportation (Büttner et al. 2011). In BSSs, customers can spontaneously perform oneway trips between stations. BSSs are often used for commuting as well as for leisure and shopping activities. This leads to imbalances between stations and in the worst case to failed demand in terms of bikes and bike racks causing customer loss on the long run. To account for the imbalances, BSS providers dispatch vehicles to relocate bikes between stations. Research suggests to balance BSSs by means of optimization models based on typical daily demand patterns. Thereby, shortterm demand changes, for example, due to weather conditions are largely ignored (Borgnat et al. 2011; Vogel et al. 2011; O’Brien et al. 2014).
To incorporate spontaneous demand, the problem needs to be considered on the level of operational control. A dispatcher dynamically routes a fleet of vehicles relocating bikes between the stations. Subsequent decisions are taken for the vehicles with respect to the number of bikes to relocate at its current station as well as the next station to serve. To minimize the expected amount of unsatisfied demand per day, stations with an immediate demand are reactively chosen to be visited next. The respective model can be described as multivehicle stochastic and dynamic inventory routing problem (SDIRP).
Recent research address the operational repositioning of bikes in a BSS. In the previous research, a single vehicle is dynamically routed in the city to react to realized demand and in anticipation of future demand. In this paper, we route a fleet of vehicles. Isolated control approaches as described by Chiariotti et al. (2018), Brinkmann et al. (2019), and Legros (2019) work for a single vehicle, but may lead to insufficient solutions in a multivehicle case. For example, several vehicles may follow the same control policy and approach the same station. Missing coordination between vehicles may also cause unnecessarily long trips within the city. In this paper, we present a method that coordinates the fleet of vehicles in the city. Our method draws on the current state of the vehicles and their individual potential to avoid failed demand. Based on the fleet information, the station an individual vehicle is sent to is determined by means of an assignment problem solution. The parts of the assignment solution which are relevant for the immediate decision are implemented while the remaining parts are reevaluated later in the process based on newly observed demand information. To estimate the unmet demand a vehicle can avoid at a specific station, we extend a lookahead method introduced by Brinkmann et al. (2019).
We apply our methods for two case studies based on historical data from the BSSs in San Francisco (CA, USA) and Minneapolis (MN, USA). We show how coordination between the vehicles is essential to enable demand satisfaction.
This article is structured as follows. Relevant literature is reviewed in Sect. 2. The SDIRP is defined in Sect. 3. In Sect. 4, we define our method and the benchmark policies. A computational study is presented in Sect. 5. In Sect. 6, a summary is drawn and an outlook is given.
2 Literature
The literature on inventory routing problems for BSSs is manifold. In the following, we give a brief overview on relevant work. For further literature classifications, we kindly refer the interested reader to Brinkmann et al. (2016, 2019) and Espegren et al. (2016). Here, we consider deterministicstatic, stochasticstatic, and stochasticdynamic models.
Deterministicstatic models either do not comprise demand or assume that demand is known in advance. Decisions are taken in one decision point and a solution is a set of static routes. Various authors ignore user demand during operations (e.g., Chemla et al. 2013; Raviv et al. 2013; Erdoǧan et al. 2014, 2015; Espegren et al. 2016; Szeto et al. 2016; Szeto and Shui 2018). These models assume that relocations are carried out in the night when the system is closed. The goal is to realize target fill levels provided by external information systems. Timedependent target fill levels for daily relocations are determined by Vogel et al. (2014) and Neumann Saavedra et al. (2015). In other work, deterministic routing solutions are derived to ensure such given fill levels (Contardo et al. 2012; Kloimüllner et al. 2014; Brinkmann et al. 2016; Schuijbroek et al. 2017). Neumann Saavedra et al. (2016) determine target fill levels, relocations, and tours simultaneously.
Stochasticstatic models consider stochastic demand, however, optimization is conducted in a single decision point before the start of the BSSoperations. Raviv and Kolka (2013) and Datner et al. (2017) determine initial target fill levels for stations on the basis of stochastic demand. These fill levels serve as input for overnight relocations as described in the previous category. Lu (2016) considers stochastic demand and determines relocations for vehicle tours predefined by external information systems and one week in advance. Stochasticstatic inventory routing problems are investigated by Ghosh et al. (2016, 2017) and Yan et al. (2017). Ghosh et al. (2016, 2017) plan for one day in advance. Yan et al. (2017) plan once a week.
To counteract unexpected demand and sudden imbalances, some papers propose dynamic control during the day on basis of latest information. Brinkmann et al. (2015, 2019), Fricker and Gast (2016), Chiariotti et al. (2018), and Legros (2019) propose stochasticdynamic models for a single vehicle. To the best of our knowledge, multiple vehicles are not considered in the literature on stochasticdynamic routing for BSSs. Brinkmann et al. (2015) and Fricker and Gast (2016) draw on myopic approaches. Brinkmann et al. (2019) introduce online simulations to incorporating stochastic information and to enable anticipation. The vehicle is routed to the station where the largest amount of expected failed demand in the (near) future can be avoided. To this end, potential future demand is simulated. Chiariotti et al. (2018) and Legros (2019) divide the time horizon into periods of equal length. Anticipation is enabled by means of target fill levels for every station and period.
In this paper, we extend the work of Brinkmann et al. (2019) to a multivehicle model. We present methods to coordinate the multiple vehicles in the service area. To account for the increased computational burden, we modify the anticipation process of Brinkmann et al. (2019) and shift the anticipation to an analytical offline procedure.
3 Multivehicle stochasticdynamic inventory routing for bike sharing systems
In this section, we define the multivehicle stochasticdynamic inventory routing problem for BSSs (SDIRP). The SDIRP is an extension of the singlevehicle model by Brinkmann et al. (2019). First, we formulate the SDIRP’s setting in Sect. 3.1. We then model the SDIRP as Markov decision process (MDP) in Sect. 3.2 and present an example in Sect. 3.3. In Sect. 3.4, we briefly analyze the SDIRP’s state space dimensionality.
3.1 Problem setting
We consider a BSS with stations \(n_i \in N, i>0\) and a depot \(n_0\). Every station n has an initial fill level \(f^n_0\), i.e., a specific number of bikes, and a maximum capacity \(c^n\). Over a time horizon T, users rent and return bikes altering the fill level of the stations spontaneously. At a nonempty station, rental demand can be served. At a nonfull station, return demand can be served. If a demand is served, the station’s fill level is decreased, or increased, respectively. If demand fails, a penalty occurs and the user approaches an adjacent station.
Failed demand can be avoided by providing sufficient bikes and free bike racks at every station and every time. To this end, the dispatcher dynamically routes a fleet of transport vehicles \(V = \left\{ v_1,\dots ,v_{\text {max}}\right\}\). We assume the number of vehicles is determined by the tactical management and the drivers are already paid. Every vehicle starts at the depot, is initially empty, and has a capacity of \(c^v\). The travel time between two stations is given by function \(\tau (\cdot ,\cdot )\). The service time for relocation is \(\tau _r\) per bike.
Over the course of the day, the vehicles are subsequently sent from station to station to pick up or load bikes. Decision making therefore comprises a combination of routing to a station and loading operation at a station. Since new demand information reveals during travel, the loading operation is to be reconsidered, once a vehicle arrives at a station. The service provider aims on maximizing the users’ satisfaction based on the limited resources accessible. Therefore, the goal is to minimize the expected failed demand per day.
3.2 Markov decision process
Notation of the Markov decision process
Symbol  Description 

\(K = (0,\dots ,k_{\text {max}})\)  Sequence of decision points 
\(S = \left\{ s_0,\dots ,s_{\text {max}}\right\}\)  Set of decision states 
\(X_s = \left\{ x_1,\dots ,x_{\text {max}} \;  \; x = (\iota ,\rho ) \right\} \; , \; \forall s \in S\)  Sets of feasible decisions 
\(s^x_k = (s_k,x) \; , \; \forall s \in S, x \in X_s\)  Postdecision states 
\(\omega :S \times X \rightarrow S\)  Transition function 
\(T = \left\{ t_0 , \dots , t_\text {max} \;  \; t \in {\mathbb {N}}\right\}\)  Time horizon 
\(V = \left\{ v_1 , \dots , v_\text {max} \;  \; v = (n_k^v,\alpha _k^v,f_k^v) \right\}\)  Set of vehicles 
\(t_k \in T\)  Point in time in state \(s_k\) 
\(f_k = \left( f_k^{n_0} , \dots , f_k^{n_{\text {max}}} \right)\)  Stations’ fill levels in state \(s_k\) 
\(n_k^v \in N\)  Vehicle v’s station in state \(s_k\) 
\(\alpha _k^v \in T\)  Vehicle v’s arrival time at \(n_k^v\) 
\(f_k^v \in {\mathbb {N}}_0\)  Vehicle v’s load in state \(s_k\) 
\(\iota ^x \in {\mathbb {Z}}\)  Inventory decision 
\(n^x \in N\)  Routing decision 
\(p :S \times X \rightarrow {\mathbb {N}}_0\)  Penalty function 
\(\varPi = \left\{ \pi _0,\dots ,\pi _{\text {max}} \;  \; \pi :S \rightarrow X\right\}\)  Set of policies 
3.2.1 Decision states
A decision point \(k \in K\) occurs when a vehicle arrives at a station. The associated decision state \(s_k\) contains information about the time, the stations, and the fleet. The current point in time is \(t_k\). The fill levels at the stations are \(f^{n_1}_k,\dots ,f^{n_\text {max}}_k\). Every vehicle v is represented by a vector \((n^v_k,\alpha ^v_k,f^v_k)\). Value \(n^v_k\) represents the station vehicle v is currently traveling to and value \(\alpha ^v_k\) depicts the corresponding arrival time. In case that the vehicle just arrives at a station, the arrival time is \(\alpha ^v_k=t_k\). Value \(f_k^v\) represents the current number of bikes loaded on the vehicle.
3.2.2 Decisions
A decision is made only about the vehicles currently staying at a station. For vehicle v, decision \(x=(\iota ,\rho )\) contains an inventory decision \(\iota \in {\mathbb {Z}}\) at station \(n^v_k\) the vehicle just arrives, and a next station \(\rho \in N\) to serve. If \(\iota < 0\), the vehicle picks up \(\iota \) bikes at the current station. If \(\iota > 0\), the vehicle delivers \(\iota \) bikes.
A decision changes the status of station \(n^v_k\) and vehicle v as follows. The fill level of the station \(n_k^v\) is stepwise altered to \(f^n_k+\iota\) based on the inventory decision. The fill level of the vehicle is altered to \(f^v_k\iota\). The station of the vehicle is altered to \(\rho\) and the new arrival time is \(t_k + \iota  \cdot \tau _r + \tau (n^v_k,\rho )\) reflecting time for relocation and traveling.
3.2.3 Transition
The transition \(\omega\) leads to a new decision point \(k+1\) and reflects the vehicles’ traveling and a realization of customer demand at every station. The new point in time \(t_{k+1}\) is the minimum of all arrival times \(\alpha\). The transition updates the fill levels of the stations due to successfully fulfilled demand. The penalty function \(p(s_k,x)\) reflects the expected failed demand between two decision points k and \(k+1\) if x is the decision made in \(s_k\). Value \(p_\omega (s_k,x)\) represents the penalty based on the realized transition \(\omega\).
3.2.4 Objective
3.3 Example
In Fig. 1, we give an example of the MDP. On the lefthand side, decision state \(s_k\) is depicted. The center shows postdecision state \(s^x_k\). The following decision state \(s_{k+1}\) is depicted on the righthand side. The system has four stations \(n_1\), \(n_2\), \(n_3\), and \(n_4\). The depot is neglected. Two vehicles \(v_1,v_2\) are given. For the stations and vehicles, light boxes represent empty bike racks, dark boxes represent bike racks filled with a bike. Stations \(n_1\) and \(n_2\) have a capacity of five racks, station \(n_3\) of three, and station \(n_4\) of four racks. The vehicle capacities are four.
Decision point k is induced due to vehicle \(v_1\)’s arrival at station \(n_1\) in time \(t_k = 12\). In the associated decision state \(s_k\), stations \(n_1\) and \(n_4\) contain \(f^{n_1}_k=f^{n_4}_k=4\) bikes, \(n_3\) contains \(f^{n_3}_k=2\) bikes, and \(n_2\) is empty, \(f^{n_2}_k=0\). Vehicle \(v_1\) is located at \(n^{v_1}_k=n_1\). It just arrived at this station. Thus, the arrival time is \(\alpha ^{v_1}_k=t_k=12\). The current fill level of vehicle \(v_1\) is \(f^{v_1}_k=1\). Vehicle \(v_2\) travels to station \(n_4\) and arrives in nine time units. It has loaded one bike. Thus, the vector for vehicle \(v_2\) reads \((n_4,21,1)\).
The inventory decision is made about how many bikes to pick up at or to deliver to station \(n_1\) by vehicle \(v_1\). The routing decision is made about which station to serve next, or idling at the current station. Here, the applied decision is \(x=(2,n_2)\): picking up two bikes and travel to \(n_2\). Assuming \(\tau _r = 2\) units, two pick ups consume four time units. Furthermore, assuming travel time of \(\tau (n_1,n_2) = 20\), the decision consumes 24 time units in total. Finally, vehicle \(v_1\) arrives at station \(n_2\) in \(t_k + \text {}2 \cdot \tau _r + \tau (n_1,n_2) = 12 + 4 + 20 = 36\). The updated vector is \((n_2,36,3)\).
The resulting postdecision state \(s^x_k\), including the decisions made, is depicted in the center of Fig. 1. The next decision point \(k+1\) occurs at \(t_{k+1}=21\) because vehicle \(v_2\) arrives at station \(n_4\): \(\alpha _{k+1}^{v_2} = t_{k+1} = 21\).
Before the associated decision state \(s_{k+1}\) occurs, the transition \(\omega\) reveals new fill levels and a realization of the penalty function. New fill levels are revealed at \(n_1\) and \(n_3\) due to successful requests. At \(n_1\), the fill level has increased by one. At \(n_3\), the fill level has decreased by one. Station \(n_3\) remains empty and station \(n_4\) remains full. For the purpose of presentation, the customer trips are not depicted in Fig. 1. We assume that one rental demand failed at \(n_2\) and one return demand failed at \(n_4\) resulting in a realized penalty of \(p(s_k,x,\omega ) = 2\). The resulting new decision state \(s_{k+1}\) is shown on the righthand side of Fig. 1.
3.4 State space dimensionality
 (a)
A state may occur at any point in time \(t = t_0 , \dots , t_{\text {max}}\).
 (b)
At any point in time, every station fill level is between 0 and maximum capacity \(c_n\).
 (c)
Further, every vehicle load is between 0 and maximum capacity \(c_v\).
 (d)
Every vehicle may stay or travel to any station.
 (e)
Arrival times are arbitrary as well.
4 Coordinated lookahead policy
In this section, we present our solution policy. The method coordinates vehicles within the city and anticipates unmet demand by means of lookahead. We denote our method the coordinated lookahead policy (CLA). The method is an extension of prior work (Brinkmann et al. 2019) in terms of usability in the multivehicle case. We first give a motivation for our policy and then describe the methodological details.
4.1 Motivation and policy outline
The SDIRP is dynamic because of the spontaneity in user demand. A suitable method is required to coordinate the fleet of vehicles effectively, reacting to current demand and anticipating potential future demand.
Coordination manifests in the routing decision of the MDP. In the routing decision, the potential movement of the other vehicles needs to be considered. To highlight the importance of coordination, we show a (simplified) example in Fig. 2. The figure consists of three parts depicting different routing decisions for the same situation. Two empty vehicles and two full stations are given. We assume the travel time of vehicle \(v_1\) to station \(n_1\) is 12 min, to station \(n_2\), the travel time is 10 min. The travel times for vehicle \(v_2\) are 25 min to station \(n_1\) and 15 min to station \(n_2\).
Without coordination, we observe different decisions. The first (most obvious) decision is depicted in Fig. 2b. If we only focus on the current vehicle and ignoring the other vehicles in the decision process, both vehicles may eventually approach the same station. We first send \(v_1\) to \(n_2\) (ignoring \(v_2\)) and a short time later, we send \(v_2\) to the same station (ignoring \(v_1\)).
However, coordination should not be restricted to avoiding vehicles approaching the same station, as shown in Fig. 2c. In this decision, \(v_1\) is sent to its individual “best” station and a short time later, \(v_2\) is sent a long way to the remaining “best” station. As the example shows, this procedure may be inferior because other vehicles may travel unnecessarily long distances within the city.
Coordinating the fleet allows to effectively assign vehicles to stations avoiding unnecessary long travel. To achieve coordinated routing decisions, our method determines the potential for every vehicle to avoid failed demand for every station. Based on the estimation, it then determines the assignment for vehicles to stations and selects the routing decision accordingly. The method only implements the assignment only for the vehicle under consideration. The assignments for the other vehicles can be reevaluated later in the process based on new observations.
To estimate the potential for a vehicle to avoid unsatisfied demand at the current station and all other stations, anticipation of future demand is necessary. Anticipation indicates stations which are likely to run out of bikes or congests.
In the following, we present the details of the algorithm. We first describe how we estimate the future failed demand for the stations. We then present the procedures to determine inventory and routing decisions.
4.2 Anticipation of failed demand
Our policy requires a measure to calculate the expected failed demand for stations. To this end, we use historical trip data to successively update the fill levels of stations. The updates may lead to accumulations of failed demand for each station. The failed demand measured can then be used in the decision making of our policy. As previous research has shown, there is benefit to limit the horizon (Brinkmann et al. 2019) because it balances the urgency of nearfuture demand with longer term demand. Thus, we limit the horizon in state \(s_k\) to \(\delta\) minutes.
4.3 Inventory decision
As an example, we consider a station \(n^v_k\) with capacity \(c^{n^v_k}=20\) bikes. The current fill level is \(f_k^{n^v_k}=10\) bikes. The vehicle v has currently loaded \(f_k^v=2\) and a capacity of \(c^v=20\) bikes. The three relocation decisions aim on fill levels of \(25\% \cdot 20=5\), \(50\% \cdot 20=10\), and \(75\% \cdot 20=15\) bikes. The first fill level can be achieved by removing 5 bikes from the station, \(\iota _1 = 5\). The second fill level can be achieved by maintaining the fill level, \(\iota _2=0\). The third fill level cannot be achieved, because only \(f_k^{n^v_k}+f_k^v=12\) bikes are available. Thus, with respect to Eq. (8), the third relocation decision is \(\iota _3 = 2\).
4.4 Routing decision
In the second step, the CLA determines the routing decision \(\rho\) for the current vehicle in coordination with the other vehicles. In the following, we anticipate the prevented failed demand for pairs of stations and vehicles. We then describe how we coordinate the routing based on these values.
Only considering the demand at station n in the example in Fig. 3, it is beneficial to send either \(v_1\) or \(v_2\) to this station. However, looking at the demand at all stations, it might be beneficial to send \(v_3\) to n if \(v_1\) and \(v_2\) can prevent more demand at other stations. To consider these interdependencies, we assign every vehicle to a station. Although we only decide about the routing for the current vehicle, we make a preliminary, tentative decision for every other vehicle as well.
To coordinate the dispatching of the vehicles, we have to solve an assignment problem. The goal is to maximize the prevented failed demand over all stations. The constraint is that every vehicle is assigned to one station and every station is assigned at most to one vehicle. In the following, we formally define the assignment problem.
We apply the heuristic matrix maximum approach to solve the assignment problem: The values of \(\gamma (n,v)\) for all vehicles and stations lead to a matrix \(\varGamma\). Each row indicates a station and each column a vehicle. Let v be the vehicle we need to route in the current decision state. We iteratively search the entry with the maximum in \(\varGamma\). Let \(\gamma (n_i,v_j)\) be this entry. If \(v_j = v\), we stop the procedure and send vehicle v to station \(n_i\): \(\rho ^\star = n_i\). Else, if \(v_j \ne v\), we remove row i and column j of matrix \(\varGamma\). We remove row i to ensure that we do not route our vehicle to \(n_i\) because vehicle \(v_j\) is the best assignment for this station. We remove column j to ensure that \(v_j\) is not sent to another station for the same reason. We repeat the procedure until the maximum \(\gamma (n_i,v_j)\) refers to vehicle v, i.e., \(v = v_j\). Then, we choose \(n_i\) to be vehicle v’s next station: \(\rho ^\star = n_i\).
Notably, even though the approach is greedy, it performs comparably well. Experiments show that solving the deterministicstatic assignment problem to optimality even decreases the solution quality of the SDIRP (compare Appendix A.2). As for many dynamic problems, these results confirm the observation that solving static subproblems to optimality in a dynamic context is often not beneficial (Powell et al. 2000; Maggioni and Wallace 2012). One reason is that optimal solutions for static problems usually do not yield any flexibility to react to future information changes, as for the SDIRP, changes in \(\varGamma\).
Eventually, the CLA selects the inventory decision \(\iota ^\star\) of Sect. 4.3 and the routing decision \(\rho ^\star\) of Sect. 4.4.
4.5 Benchmark policies and tuning
In the following, we define our benchmark policies. Our CLA draws on two components: anticipation of future developments and coordination of the fleet. We design our benchmark policies with respect to these components.
We tune the policies as follows. For the CLA and the CLANC, we test horizons of \(\delta \in \{60,120,\dots ,720\}\). For STR and STRNC, we select \(\beta \in \{0.1,0.2,\dots ,0.5\}\). For every instance setting, we run all parametrizations over 1, 000 test days and select the best \(\delta\) and \(\beta\) for our experiments. The parameters can be found in Tables 2 and 3 in Appendix A.2.
5 Computational studies
In this section, we present our computational studies. We first describe the instance settings based on realworld data from the BSSs of Minneapolis and San Francisco. We then compare the results of the different policies. Finally, we analyze the impact of our coordination method in detail. The experiments are performed on an Intel Core i53470 with 3.2 GHz and 32GB RAM. The implementation bases on Java 8u121.
5.1 Instances
In this section, we describe the instances for the SDIRP based on realworld data. We draw on the data of the BSSs in Minneapolis (MN, USA, Nice Ride 2016) and San Francisco (CA, USA, Ford GoBike 2017). The providers frequently publish data sets providing information on trips. Every trip comprises a rental and return station and the corresponding rental and return times. The data sets are preprocessed as proposed by Vogel et al. (2011):
We only draw on week days because the customer demand significantly differs on weekends. We further remove all trips that start and end at the same station and take less than 1 min. In these cases, we assume a user has returned the bike immediately due to some defect and, thus, no real trip takes place. We draw on 88 working days in the summer months from July to October in 2015 for Minneapolis. The preprocessed data set consists of 197,726 trips occurred at 169 stations. The station capacities differ between 15 and 35 bike racks. 2246 trips take place per day on average. Ford GoBike BSS consists of three disjoint subsystems East Bay, San Francisco, and San José. We only draw on the San Francisco subsystem. For San Francisco, we select 89 working days in the summer months July to October in 2014. The data set consists of 100,728 trips after cleaning. The 35 stations have capacities between 15 and 27. 1131 trips take place per day.
Figure 4 depicts the temporal distributions of trips in the course of the day. The solid line refers to the average number of trips in Minneapolis, the dashed line refers to San Francisco. Both BSSs have peaks in the morning, around noon, and in the evening. In Minneapolis, the second and third peak are higher than the previous ones. In San Francisco, the amplitudes of the morning and evening peak are more equal. The noon peak is much lower. In both systems, the morning and evening peaks are likely to represent commuters. In the morning, commuters rent bikes in residential areas and return them in working areas. In the evening, bikes mainly are rented in working areas and returned in residential areas. The noon peak is likely due to leisure and shopping activities. As stated by O’Brien et al. (2014), leisure usage is significant in Minneapolis.
The preprocessed data sets serve as foundation for the actual instances. For each test day, we randomly draw trips with replacement from the associated data sets. We draw 2246 trips for Minneapolis, and 1126 for San Francisco. The combination of real trips from different days lead to new, artificial days. Further, we assume the ratio of bike racks over all stations and bikes within the system to be 2:1 (which is a common ratio in practice, O’Brien et al. 2014). In the beginning of the time horizon, we distribute the bikes randomly over all stations. Here, we use a uniform distribution. For each instance setting, we generate 1000 test days following this procedure. We test every instance setting for every BSS and for fleet sizes between 1 and 4 vehicles. Every vehicle has a capacity of 20 bikes. The vehicles travel on Euclidean distances between the stations with a speed of 15 km/h. This relatively slow speed accounts for potentially longer travel distances due to the road network. We assume a relocation time of 2 min per bike, i.e., \(\tau _r = 2\).
In Appendix A.1, we go into detail with the user behavior we have implemented in case of failing demand.
5.2 Analysis
5.3 Degree of coordination

The first degree is similar to CLANC choosing the station with the highest priority for the vehicle. However, we omit stations where other vehicles are currently traveling to. This method ignores the different potentials of all vehicles.

The second degree is to solve the assignment problem and to completely commit all vehicles to the solution. That means that the routing decision for other vehicles may already be taken before the vehicles arrive at the next station. This method ignores the value of reconsidering assignment decisions based on new information.
6 Conclusion
In this paper, we have addressed the management of bike sharing systems on the operational level. The service provider uses a fleet of vehicles to relocate bikes between stations with the objective of minimizing failed demand. We have modeled the stochasticdynamic inventory routing problem as Markov decision process and presented a decision policy allowing for coordination and anticipation. The policy anticipates future demand development based on historical data. Based on this development, it relocates bikes and coordinates the vehicles accordingly. We have tested our policy for two realworld bike sharing systems in Minneapolis and San Francisco. Our results show that both anticipation and coordination are essential for obtaining high customer satisfaction.
In future research, model and method could be further extended. The model may integrate the scheduling of drivers based on the workload. This scheduling is challenging because of the decisions’ interdependencies in stochastic, dynamic decision problems. Scheduling decisions for one hour affect failed demand in all future hours. The method may be extended to integrate potential routing developments as well as potential trips between the stations. Integrating routing decisions is challenging because it either requires extensive simulations with a runtimeefficient routing policy or the solution of a stochastic and continuous time inventory routing problem. Furthermore, our results show that spontaneous demand realizations impede longterm planning. Thus, a method may be developed that focuses more on future routing flexibility than on explicit future routing decisions.
Notes
Acknowledgements
The authors thank the editors and the two anonymous reviewers for their helpful suggestions and comments in preparation of this work.
References
 Borgnat, P., P. Abry, P. Flandrin, C. Robardet, J.B. Rouquier, and E. Fleury. 2011. Shared bicycles in a city: A signal processing and data analysis perspective. Advances in Complex Systems 14 (3): 415–438.CrossRefGoogle Scholar
 Brinkmann, J., M.W. Ulmer, and D.C. Mattfeld. 2015. Shortterm strategies for stochastic inventory routing in bike sharing systems. Transportation Research Procedia 10: 364–373.CrossRefGoogle Scholar
 Brinkmann, J., M.W. Ulmer, and D.C. Mattfeld. 2016. Inventory routing for bikes sharing systems. Transportation Research Procedia 19: 316–327.CrossRefGoogle Scholar
 Brinkmann, J., M.W. Ulmer, and D.C. Mattfeld. 2019. Dynamic lookahead policies for stochasticdynamic inventory routing in bike sharing systems. Computers & Operations Research 106: 260–279.CrossRefGoogle Scholar
 Büttner, J., H. Mlasowsky, T. Birkholz, et al. 2011. Optimising Bike Sharing in European Cities—A Handbook. OBIS projectGoogle Scholar
 Chemla, D., F. Meunier, and R. Wolfler Calvo. 2013. Bike sharing systems: solving the static rebalancing problem. Discrete Optimization 10 (2): 120–146.CrossRefGoogle Scholar
 Chiariotti, F., C. Pielli, A. Zanella, and M. Zorzi. 2018. A dynamic approach to rebalancing bikesharing systems. Sensors 18 (2): E512.CrossRefGoogle Scholar
 Contardo, C., C. Morency, and L.M. Rousseau. 2012. Balancing a Dynamic Public BikeSharing System. CIRRELT201209, https://www.cirrelt.ca/DocumentsTravail/CIRRELT201209.pdf. Accessed 8 Dec 2014.
 Datner, S., T. Raviv, M. Tzur, and D. Chemla. 2017. Setting inventory levels in a bike sharing network. Transportation Science 53 (1): 62–76.CrossRefGoogle Scholar
 Erdoǧan, G., G. Laporte, and R. Wolfler Calvo. 2014. The static bicycle relocation problem with demand intervals. European Journal of Operational Research 238 (2): 451–457.CrossRefGoogle Scholar
 Erdoǧan, G., M. Battarra, and R.W. Calvo. 2015. An exact algorithm for the static rebalancing problem arising in bicycle sharing systems. European Journal of Operational Research 245 (3): 667–679.CrossRefGoogle Scholar
 Espegren, H.M., J. Kristianslund, H. Andersson, and K. Fagerholt. 2016. The Static Bicycle Repositioning Problem  Literature Survey and New Formulation. In: Computational Logistics, Lecture Notes in Computer Science, Springer, pp 9855:337–351Google Scholar
 Ford GoBike. 2017. Ford Go Bike San Francisco. https://www.fordgobike.com/. Accessed 08 Dec 2017.
 Fricker, C., and N. Gast. 2016. Incentives and redistribution in homogeneous bikesharing systems with stations of finite capacity. EURO Journal on Transportation and Logistics 5 (3): 261–291.CrossRefGoogle Scholar
 Ghosh, S., M.A. Trick, and P. Varakantham. 2016. Robust Repositioning to Counter Unpredictable Demand in Bike Sharing Systems. Proceedings of the TwentyFifth International Joint Conference on Artificial Intelligence (IJCAI16).Google Scholar
 Ghosh, S., P. Varakantham, Y. Adulyasak, and P. Jaillet. 2017. Dynamic repositioning to reduce lost demand in bike sharing systems. Journal of Artificial Intelligence Research 58: 387–430.CrossRefGoogle Scholar
 Kloimüllner, C., P. Papazek, B. Hu, and G.R. Raidl. 2014. Balancing Bicycle Sharing Systems: An Approach for the Dynamic Case. In: Evolutionary Computation in Combinatorial Optimization, Lecture Notes in Computer Science. Springer, Berlin, pp 8600:73–84.Google Scholar
 Legros, B. 2019. Dynamic repositioning strategy in a bikesharing system; how to prioritize and how to rebalance a bike station. European Journal of Operational Research 272 (2): 740–753.CrossRefGoogle Scholar
 Lu, C.C. 2016. Robust multiperiod fleet allocation models for bikesharing systems. Networks and Spatial Economics 16 (1): 61–82.CrossRefGoogle Scholar
 Maggioni, F., and S.W. Wallace. 2012. Analyzing the quality of the expected value solution in stochastic programming. Annals of Operations Research 200 (1): 37–54.CrossRefGoogle Scholar
 Neumann Saavedra, B.A., P. Vogel, and D.C. Mattfeld. 2015. Anticipatory service network design of bike sharing systems. Transportation Research Procedia 10: 355–363.CrossRefGoogle Scholar
 Neumann Saavedra, B.A., T.G. Crainic, B. Gendron, D.C. Mattfeld, and M. Römer. 2016. Service Network Design of Bike Sharing Systems with Resource Constraints. In: Computational Logistics, Lecture Notes in Computer Science. Springer, Berlin, pp 9855:352–366.Google Scholar
 Nice Ride. 2016. Nice Ride Minneapolis (MN/USA). https://www.niceridemn.org/. Accessed 05 Oct 2016.
 O’Brien, O., J. Cheshire, and M. Batty. 2014. Mining bicycle sharing data for generating insights into sustainable transport systems. Journal of Transport Geography 34: 262–273.CrossRefGoogle Scholar
 Powell, W.B., M.T. Towns, and A. Marar. 2000. On the value of optimal myopic solutions for dynamic routing and scheduling problems in the presence of user noncompliance. Transportation Science 34 (1): 67–85. https://doi.org/10.1287/trsc.34.1.67.12283.CrossRefGoogle Scholar
 Puterman, M.L. 2014. Markov decision processes: discrete stochastic dynamic programming, 2nd ed. Hoboken: Wiley.Google Scholar
 Raviv, T., and O. Kolka. 2013. Optimal inventory management of a bikesharing station. IIE Transactions 45 (10): 1077–1093.CrossRefGoogle Scholar
 Raviv, T., M. Tzur, and I.A. Forma. 2013. Static repositioning in a bikesharing system: models and solution approaches. EURO Journal on Transportation and Logistics 2 (3): 187–229.CrossRefGoogle Scholar
 Schuijbroek, J., R.C. Hampshire, and W.J. van Hoeve. 2017. Inventory rebalancing and vehicle routing in bike sharing systems. European Journal of Operational Research 257 (3): 992–1004.CrossRefGoogle Scholar
 Stern, K.L. 2012. Hungarian Algorithm. GitHub, Inc., https://github.com/KevinStern/softwareandalgorithms/blob/master/src/main/java/blogspot/software_and_algorithms/stern_library/optimization/HungarianAlgorithm.java. Accessed 10 Oct 2018.
 Szeto, W.Y., and C.S. Shui. 2018. Exact loading and unloading strategies for the static multivehicle bike repositioning problem. Transportation Research Part B: Methological 109: 176–211.CrossRefGoogle Scholar
 Szeto, W.Y., Y. Liu, and S.C. Ho. 2016. Chemical reaction optimization for solving a static bike repositioning problem. Transportation Research Part D: Transport and Environment 47: 104–135.CrossRefGoogle Scholar
 Vogel, P., T. Greiser, and D.C. Mattfeld. 2011. Understanding bikesharing systems using data mining: exploring activity patterns. ProcediaSocial and Behavioral Sciences 20: 514–523.CrossRefGoogle Scholar
 Vogel, P., B.A. Neumann Saavedra, and D.C. Mattfeld. 2014. A hybrid metaheuristic to solve the resource allocation problem in bike sharing systems. In: Hybrid Metaheuristics, Lecture Notes in Computer Science, Springer, Berlin, pp 8457:16–29.Google Scholar
 Yan, S., J.R. Lin, Y.C. Chen, and F.R. Xie. 2017. Rental bike location and allocation under stochastic demands. Computers & Industrial Engineering 107: 1–11.CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.