ArticlePDF Available

Abstract and Figures

Bike sharing systems offer a mobility service whereby public bicycles, located at different stations across an urban area, are available for shared use. These systems contribute towards obtaining a more sustainable mobility and decreasing traffic and pollution caused by car transportation. Since the first bike sharing system was installed in Amsterdam in 1965, the number of such applications has increased remarkably so that hundreds of systems are now operating all over the world. In a bike sharing system, users can take a bicycle from a station, use it to perform a journey and then leave it at a station, not necessarily the same one of departure. This behaviour typically leads to a situation in which some stations become full and others are empty. Hence, a balanced system requires the redistribution of bicycles among stations. In this paper, we address the Bike sharing Rebalancing Problem (BRP), in which a fleet of capacitated vehicles is employed in order to re-distribute the bikes with the objective of minimizing total cost. This can be viewed as a special one-commodity pickup-and-delivery capacitated vehicle routing problem. We present four mixed integer linear programming formulations of this problem. It is worth noting that the proposed formulations include an exponential number of constraints, hence, tailor-made branch-and-cut algorithms are developed in order to solve them. The mathematical formulations of the BRP were first computationally tested using data obtained for the city of Reggio Emilia, Italy. Our computational study was then extended to include bike sharing systems from other parts of the world. The information derived from the study was used to build a set of benchmark instances for the BRP which we made publicly available on the web. Extensive experimentation of the branch-and-cut algorithms presented in this paper was carried out and an interesting computational comparison of the proposed mathematical formulations is reported. Finally, several insights on the computational difficulty of the problem are highlighted. You can find the instances here: http://www.or.unimore.it/resources/BRP/instances.html
Content may be subject to copyright.
The bike sharing rebalancing problem: Mathematical formulations
and benchmark instances
Mauro Dell'Amico
a
, Eleni Hadjicostantinou
b,c
, Manuel Iori
a,
n
, Stefano Novellani
a,d
a
DISMI, University of Modena and Reggio Emilia, Via Amendola 2, 42122 Reggio Emilia, Italy
b
Business School, Imperial College London, South Kensington Campus, London SW7 2AZ, UK
c
School of Engineering, Frederick University, 7 Y. Frederickou Str., 1036 Nicosia, Cyprus
d
DEI –“Guglielmo Marconi, University of Bologna, Viale Risorgimento 2, 40136 Bologna, Italy
article info
Article history:
Received 17 April 2013
Accepted 9 December 2013
Processed by B. Lev
Available online 18 December 2013
Keywords:
Integer programming
Routing
Traveling salesman
Vehicle scheduling
abstract
Bike sharing systems offer a mobility service whereby public bicycles, located at different stations across an
urban area, are available for shared use. These systems contribute towards obtaining a more sustainable
mobility and decreasing trafc and pollution caused by car transportation. Since the rst bike sharing system
was installed in Amsterdam in 1965, the number of such applications has increased remarkably so that
hundreds of systems are now operating all over the world.
In a bike sharing system, users can take a bicycle from a station, use it to perform a journey and then leave
it at a station, not necessarily the same one of departure. This behavior typically leads to a situation in which
some stations become full and others are empty. Hence, a balanced system requires the redistribution of
bicycles among stations.
In this paper, we address the Bike sharing Rebalancing Problem (BRP), in which a eet of capacitated
vehicles is employed in order to re-distribute the bikes with the objective of minimizing total cost. This can be
viewed as a special one-commodity pickup-and-delivery capacitated vehicle routing problem. We present four
mixed integer linear programming formulations of this problem. It is worth noting that the proposed
formulations include an exponential number of constraints, hence, tailor-made branch-and-cut algorithms are
developed in order to solve them.
The mathematical formulations of the BRP were rst computationally tested using data obtained for the
city of Reggio Emilia, Italy. Our computational study was then extended to include bike sharing systems from
other parts of the world. The information derived from the study was used to build a set of benchmark
instances for the BRP which we made publicly available on the web. Extensive experimentation of the branch-
and-cut algorithms presented in this paper was carried out and an interesting computational comparison of the
proposed mathematical formulations is reported. Finally, several insights on the computational difculty of the
problem are highlighted.
&2013 Elsevier Ltd. All rights reserved.
1. Introduction
Bike sharing systems offer a mobility service in which public
bicycles are available for shared use. These bicycles are located at
stations that are displayed across an urban area. The users of the
system can take a bicycle from a station, use it for a journey, leave
it into a station (not necessarily the one of departure), and then
pay according to the time of usage.
These systems are an important instrument used by public
administrations to obtain a more sustainable mobility, decrease trafc
and pollution caused by car transportation, and solve the so-called last
mile problem related to proximity travels. From the rst bike sharing
system installed in Amsterdam in 1965, their number increased in the
following years to reach, in 2011, more than 400 systems only in
Europe, see, e.g., DeMaio [1] and project OBIS [2].InNorthAmericathe
implementation of bike sharing systems started only in 2008, see
Pucher et al. [3], but as far as we know it already counts more than 20
operating systems. In the rest of the world the number of systems is
rising at a very high rate, as discussed, e.g., by Shaheen et al. [4].
Stations are made of different slots, each of which hosts a single
bicycle. In modern systems, stations are connected to the Internet
and display in real time the occupation status of each slot. In this
way users can easily check where it is possible to pick up or drop a
bicycle. The usage of the system is monitored continuously, and
the collected information is used to improve the level of service.
Operating bike sharing systems has a cost that may vary greatly
(depending on the system itself, the population density, the service
area and the eet size), with a consistent impact on the budget of
the public administration. The setup costs for installing the system
Contents lists available at ScienceDirect
journal homepage: www.elsevier.com/locate/omega
Omega
0305-0483/$ - see front matter &2013 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.omega.2013.12.001
n
Corresponding author. Tel.: +39 0522 522653.
E-mail addresses: mauro.dellamico@unimore.it (M. Dell'Amico),
e.hconstantinou@imperial.ac.uk (E. Hadjicostantinou),
manuel.iori@unimore.it (M. Iori),stefano.novellani2@unibo.it (S. Novellani).
Omega 45 (2014) 719
include, among others, the cost of purchasing the bikes, the slots,
and the stations, and the cost of the back-end system used to
operate the equipment, see, e.g., DeMaio [1]. The daily operating
costs include maintenance, insurance, possibly website hosting and
electricity, and, most important, the cost due to the redistribution of
bikes among the stations. Indeed, at the end of a day some stations
are typically full and others are empty.
A commonly adopted rule for rebalancing is to keep each
station only partly occupied, i.e., there should always be in a
station some slots occupied by bicycles, to allow users to pick
them up, and some free slots, to allow users to drop a bicycle at
the end of their journey. Let us suppose that a desired level of
occupation is present in the early morning in a given bike station,
then the number of bikes may change drastically during the day
from the desired level because of the users' travel behavior. This
happens typically in cities characterized by a hilly territory, see,
e.g., Kaltenbrunner et al. [5], where users take a bike from a station
located at the top of a hill, leave it at the bottom and then take the
journey back with different means of transportation. It is also
common for cities located in at areas, where some stations have
large inows or outows at different times of the day. In the next
section we report the results of the analysis of the system at the
city of Reggio Emilia (Italy) used over a period of seven months.
Repositioning is usually done by means of capacitated vehicles
based on a central depot that pick up bicycles from stations where the
level of occupation is too high and deliver them to stations where the
level is too low. Usually a buffer of bicycles is kept at the depot, and
used to allow a more exible redistribution. The resulting optimization
problem of deciding how to route the vehicles so as to perform the
redistribution at minimum cost is known in the literature as the Bike
sharing Rebalancing Problem (BRP), and has recently attracted the
interest of many researchers and practitioners in the area. It can be
modeled as either a dynamic or a static optimization problem. In the
static version, a snapshot of the level of occupation at the stations is
taken and then used to plan the redistribution. In the dynamic version,
the real-time usage of the system is taken into account, and the
redistribution plan is possibly updated as soon as the information
required to make decisions is revealed over time.
Usually, static rebalancing is associated with a redistribution
process that is performed during the night, when the system is
kept closed or the demand is very low, whereas dynamic rebalan-
cing is associated to redistributions operated during the day, when
demand may be high. In the real-world case that we studied in
detail the redistribution is performed during the night, and hence
we focus on the static version of the problem.
In this paper we provide several contributions. In Section 2 we
briey present the real-world case study that we conducted at the city
of Reggio Emilia, by analyzing the travel ows, the users behavior and
the resulting levels of occupation at the stations. In Section 3 we
formally describe the BRP and discuss the related literature. In Section
4we propose four Mixed Integer Linear Programming (MILP) formula-
tions to model the problem. All these formulations involve an
exponential number of constraints, so Section 5 presents the branch-
and-cut algorithms that we implemented to solve them. We present a
large set of benchmark instances in Section 6, obtained by analyzing
the usage of several bike systems around the world; we make these
instances publicly available on the Internet. Extensive computational
results of the branch-and-cut algorithms are reported in Section 7.
Finally, conclusions are given in Section 8 and future research
directions are discussed.
2. Data analysis of a real-world case
The rst real-world case that we studied is the bike sharing
system of Reggio Emilia, a city of around 170 thousand inhabitants
located in a very at area in northern Italy. The system, which is
depicted in Fig. 1, is quite small and now counts one depot
(indicated by 0 in the gure), 13 stations and about 100 bicycles.
It operates all day but is kept closed during the night, which is
quite common for bike sharing systems in small/medium cities.
The redistribution of the bicycles is carried out during the night, by
means of a single vehicle that visits each station exactly once.
The data associated with a seven-month usage of the system
was provided to us by the municipality of the city. It contains the
list of journeys performed by the users in the considered period,
including time and station of departure and arrival of each
journey. For each station we evaluated the net ow of bicycles
on a daily basis, computed as the difference between the inow
and the outow. This gives the difference between the bicycles
available at the beginning of the day and those left at the end of
the day in each station. We then plotted the distribution of the net
ow over the period, see the distribution graphs in Fig. 2. The
x-axis gives the difference Δbetween arrivals and departures in a
station per day, and the y-axis gives the percentage of times Φ
(frequency of occurrence) this number appears throughout the
period that we studied. We mostly found normal-like distribu-
tions, as the one depicted in Fig. 2(a) for station 4, but also a
bimodal one for station 5, see Fig. 2(b). In both cases, for the
majority of the days over the observation the stations ended up
with a number of bikes different from that available at the
beginning of the day, and this supports the choice of performing
rebalancing operations.
Furthermore, by analyzing the net ow per hour of all the
stations we have been able to determine the diverse variability in
usage by the customers. We could consequently divide the stations
into three groups, as shown in Fig. 3. In this gure, the x-axis
represents the hour
τ
of the day, and the y-axis states the
cumulative number
ν
of bikes arriving into or departing from
the station within a seven-months period. More specically:
1. The rst group, see Fig. 3(a), has a peak of incoming bikes
between 7 and 9 am, and a smaller one between 1 and 3 pm.
The peaks of outgoing bikes occur between 12 am and 2 pm
and between 4 and 6 pm. These stations are all situated in the
city center, with the exception of one that is located near the
hospital (stations 1, 2, 3, 4, 5 and 13). This usage ts well with
Fig. 1. The bike sharing system of Reggio Emilia. The depot is depicted by 0. Stars,
circles and triangles represent stations of the rst, second and third groups,
respectively.
M. Dell'Amico et al. / Omega 45 (2014) 7198
0
10
20
30
40
50
60
-2 -1 0 1 2
Φ
Δ
0
5
10
15
20
25
30
35
-4 -3 -2 -1 0 1 2 3
Φ
Δ
Fig. 2. Net ow of bicycles per day, following (a) a normal-like distribution in station 4 and (b) a bimodal distribution in station 5 (Δ;difference between arrivals and
departures; Φ, frequency of occurrence).
Fig. 3. Typical arrivals and departures per hour in a station of (a) the rst group, (b) the second group and (c) the third group (τ, hour of the day; ν, cumulative number of
bikes arriving into or departing from a station within a seven-months period).
M. Dell'Amico et al. / Omega 45 (2014) 719 9
the behavior of users that work in the city center but live
outside.
2. The second group is complementary to the rst one, see Fig. 3
(b). These stations (6, 7, 8, 9 and 12) are in the so-called park-
and-ride areas, where users can leave their cars and continue
their ride on a public bike.
3. The third group, see Fig. 3(c), contains stations where arrivals
and departures follow a similar pattern during the day. These
stations (10 and 11) are located close to places, such as the train
station, that are used all day long.
More enhanced studies on bike traveling habits are out of the
scope of this paper, so the interested reader is referred to the
relevant literature. Vogel and Mattfeld [6] present a business
model for bike sharing systems. They model the repositioning
activities with the help of a system dynamics approach that they
solve with a simulation tool. They conclude that more effort spent
on repositioning leads to a better corporate performance in terms
of satised customers. Kaltenbrunner et al. [5] provide an analysis
of human mobility data in the urban area of Barcelona (Spain)
using the amount of available bikes in the stations of the local bike
sharing program. By using data sampled from the operator's
website, they detect temporal and geographic mobility patterns
within the city. Lin and Yang [7] address the strategic planning of
public bicycle sharing systems. These authors propose a model
that attempts to determine the number and locations of bike
stations, the users' travel paths, and the network structure of bike
trips connecting the stations.
The determination of the most suitable bike trips has been
studied by Souffriau et al. [8], for a problem arising in East
Flanders (Belgium), and motivated by the problem that a cyclist
deals with when looking for a nice route of a certain length. They
propose a mathematical model and a metaheuristic. The meta-
heuristic obtained good computational results and was then
embedded into a web-based cycle route planner. We also mention
that a similar problem was faced in a different context by Boctor
et al. [9], who studied the assignment of trips to vehicles in petrol
stations replenishment problems.
3. Problem description and previous work
We are given a complete digraph G¼ðV;AÞ, where the set of
vertices V¼f0;1;;ngis partitioned into the depot, vertex 0, and
the stations, vertices f1;2;;ng. Each station ihas a request q
i
,
which can be either positive or negative. If q
i
Z0 then iis a pickup
node, where q
i
bikes should be removed; if q
i
o0 then iis a
delivery node, where q
i
bikes should be supplied, for iAV\f0g. The
bikes removed from pickup nodes can either go to a delivery node
or back to the depot. Bikes supplied to delivery nodes can either
come from the depot or from pickup nodes. A eet of midentical
vehicles of capacity Qis available at the depot to transport the
bikes. A traveling cost c
ij
is associated with each arc ði;jÞAA.
The BRP involves determining how to drive at most mvehicles
through the graph, with the aim of minimizing the total cost and
ensuring that the following constraints are not violated: (i) each
vehicle performs a route that starts and ends at the depot, (ii) each
vehicle starts from the depot empty or with some initial load (i.e.,
with a number of bikes that vary from 0 to Q), (iii) each station is
visited exactly once and its request is completely fullled by the
vehicle visiting it, and (iv) the sum of requests of the visited
stations plus the initial load is never negative or greater than Qin
the route performed by a vehicle.
In our study, each request q
i
is computed as the difference
between the number of bikes present at station iwhen performing
the redistribution, and the number of bikes in the station in the
nal required conguration. Note that we impose that a station
with request q
i
¼0 must be visited, even if this implies that no bike
has to be dropped off or picked up there. This case arises, for
example, when the driver of the vehicle is supposed to check that
the station is correctly working. The case in which stations with
null requests have to be skipped can be simply obtained by
removing in a preprocessing phase those stations from the set of
vertices.
The fact that each vehicle is allowed to start its route with some
bikes enlarges the space of feasible BRP solutions, and allows to
obtain a more exible redistribution plan. Note also that we do not
impose the sum of redistributed bikes to be null, and hence there
can be a positive or a negative ow of bikes on the depot. This
consideration is useful to model cases in which some bikes enter
or leave the depot for maintenance.
The traveling cost c
ij
is computed in our case as the shortest
length of a path in the road network connecting iand j, for i;jAV.
It is important to work on a directed graph, because all bike
sharing systems we are aware of are located in urban areas, and
thus one-way streets typically have a strong impact on the choice
of the routes performed by the vehicles during the redistribution.
The notation dened for the BRP is summarized in Table 1.
The BRP belongs to the wide class of Pickup and Delivery Vehicle
Routing Problems (PDVRPs), where a eet of vehicles is used to
transport requests from the depot and/or some nodes to the depot
and/or other nodes in the network. In particular, some pickup
customers require a certain amount of freight to be picked up by a
vehicle and then transported elsewhere, whereas some delivery
customers require a certain amount of freight to be delivered there.
The BRP generalizes the well-known Capacitated Vehicle Routing
Problem (CVRP), where customers are either all pickup vertices or
all delivery vertices, but not both, and thus it is a strongly NP-hard
problem.
Detailed reviews and classications of the PDVRPs have been
proposed by Berbeglia et al. [10] and Parragh et al. [11,12]. More
recent surveys have been presented by Battarra et al. [13], for what
concerns the transportation of freight, and Doerner and Salazar-
González [14], for the transportation of people. Following the
notation introduced in Berbeglia et al. [10], the BRP can be
classied as a Many-to-Many (MM) vehicle routing problem, in
which a request has multiple origins (in our case pickup stations)
and multiple destinations (in our case delivery stations).
The most basic problem in the class of MM PDVRPs is
probably the One-commodity Pickup and Delivery Traveling Sales-
man Problem (1-PDTSP), which calls for routing a single capaci-
tated vehicle to meet MM requests. The 1-PDTSP was formally
introduced by Hernández-Pérez and Salazar-González [15], who
presented mathematical formulations and branch-and-cut algo-
rithms. The mathematical formulations were given for both the
symmetric and asymmetric versions of the problem, and were
based on the use of a binary variable x
ij
taking value one if the
edge or arc (i,j) was used, 0 otherwise, and a non-negative variable
f
ij
giving the ow of the single commodity on edge or arc (i,j).
Computational results were provided only for the symmetric
formulation that was solved by means of a branch-and-cut
algorithm. The results of this approach were later improved by
Table 1
BRP notation summary.
VSet of vertices
ASet of arcs
nNumber of stations
mNumber of vehicles
QVehicle capacity
q
i
Demand at vertex i
c
ij
Cost of the arc (i,j)
M. Dell'Amico et al. / Omega 45 (2014) 71910
Hernández-Pérez and Salazar-González [16], with an enhanced
branch-and-cut algorithm working again on the symmetric for-
mulation but exploiting only the binary variable x
ij
. To address
larger instances, Hernández-Pérez and Salazar-González [17]
proposed two simple heuristics, whereas a well-performing vari-
able neighborhood descent metaheuristic was introduced by
Hernández-Pérez et al. [18]. All these works considered the case
in which vehicles can leave the depot with some load, but the sum
of all requests is equal to zero.
The 1-PDTSP has also attracted the interests of other research-
ers. Wang et al. [19] studied some variants of the 1-PDTSP that
involve unit-load requests. They developed polynomial-time exact
algorithms for the case of distribution on a path, and for the cases
of distribution on a tree having Q¼1orQ¼þ1. Martinovic et al.
[20] presented a simulated annealing approach, whereas Zhao
et al. [21] developed a genetic algorithm. The results of these two
metaheuristics were later improved by Hosny and Mumford [22]
by means of a Variable Neighborhood Search (VNS), but at the
expense of very high computing times. A more recent VNS has
been proposed by Mladenovićet al. [23] that used a binary tree to
efciently perform feasibility checks and obtained very good
computational results.
The multiple-vehicle case, known as the One-commodity Pickup
and Delivery Vehicle Routing Problem (1-PDVRP), was formally
introduced by Shi et al. [24], who studied the case in which a
maximum duration limit is imposed on each route. They presented
a genetic algorithm and a three-index mathematical formulation
making use of a binary variable x
ijk
, taking value 1 if vehicle k
travels along edge or arc (i,j), 0 otherwise, and a non-negative
variable f
ij
representing the ow of the single commodity on edge
or arc (i,j). Computational experiments were performed only
for the genetic algorithm that was tested on a set of randomly
generated instances with symmetric costs.
The BRP is a generalization of the 1-PDTSP which involves more
than one vehicle. Indeed, in the next sections we use successful
properties and algorithmic ideas adapted for the BRP from [15,16].
Moreover, the BRP can be seen as a special case of the 1-PDVRP,
because it does not consider maximum route duration.
As previously mentioned, the issue of rebalancing a bike
sharing system has attracted the interest of many researchers in
recent years. Benchimol et al. [25] study the case in which the
redistribution is performed by a single capacitated vehicle, split
deliveries are allowed (i.e., a vertex may be visited more than
once) and the sum of all requests is balanced to zero. They present
complexity results, lower bounding techniques, and approxima-
tion algorithms, but do not provide computational results.
In a recent paper, Chemla et al. [26] focus again on the single
vehicle case, allowing split deliveries. Vertices with null demand
are not forced to be visited, but can be used by vehicles as
temporary buffer when transporting bikes among other stations.
In their paper, the authors obtain a lower bound by solving the
relaxation of the problem in which a limit is imposed on the
maximum number of times that a vertex can be visited. They also
obtain an upper bound by using a tabu search algorithm and run
their bounding procedures on instances obtained by modifying
those randomly created in [15].
In another recent paper, Raviv et al. [27] dene the static bicycle
repositioning problem in which they do not only minimize total
traveling costs of a eet of heterogeneous vehicles, but also users'
dissatisfaction that is linked with a convex function to the
inventory level of each station. The authors present two MILP
formulations, an arc-indexed and a time-indexed one, each of
them represents a different version of the problem. They allow
limited or unlimited split delivery, limited or unlimited transship-
ment, dwelling with a maximum duration of each route and with
synchronized transshipment. Exact and heuristics methods to
speed up the computational times for solving the formulations
are also presented in this paper.
Contardo et al. [28] present a formulation for the dynamic
version of the bike rebalancing problem, allowing the use of more
than one vehicle. Their objective function is the maximization
of the serviced demand. An arc ow formulation working on
a discretized time horizon is proposed and solved with Dantzig
Wolfe and Benders decomposition. Extensive tests on several
randomly created instances are presented.
4. MILP formulations for the BRP
In this section we present four Mixed Integer Linear Program-
ming (MILP) formulations of the BRP. Computational evidence
obtained from preliminary experiments suggested to us that it
would be better to adopt two-index formulations for the BRP.
4.1. Formulation F1
The starting point of the aforementioned two-index formula-
tions is the well-known Multiple Traveling Salesman Problem (m-
TSP), see, e.g., Bektas [29], in which at most muncapacitated
vehicles based on a central depot have to visit a set of vertices,
with the constraint that each vertex is visited exactly once. By
dening a binary variable x
ij
, taking value 1 if arc (i,j) is used by a
vehicle, 0 otherwise, the m-TSP can be modeled as
ðmTSPÞmin
iAV
jAV
c
ij
x
ij
ð1Þ
iAV
x
ij
¼1;jAV\f02Þ
iAV
x
ji
¼1;jAV\f03Þ
jAV
x
0j
rmð4Þ
jAV\f0g
x
0j
¼
jAV\f0g
x
j0
ð5Þ
iAS
jAS
x
ij
rjSj1;SDV\f0g;Sað6Þ
x
ij
Af0;1g;i;jAV:ð7Þ
Objective function (1) minimizes the traveling cost. Constraints
(2) and (3) impose that every node but the depot is visited exactly
once. Constraints (4) and (5) ensure, respectively, that at most m
vehicles leave the depot, and that all vehicles that are used return
to the depot at the end of their route. Constraints (6) are the
classical subtour elimination constraints, see, e.g., Gutin and Punnen
[30], that impose the connectivity of the solution. These con-
straints increase exponentially, so, as usual, we proceed in branch-
and-cut fashion, by invoking a separation procedure to identify the
violated ones from the non-violated ones, and then adding to the
model only the violated constraints in an iterative way. The details
will be given in the next section.
To guarantee the feasibility of a solution with respect to the
BRP, we need to include additional constraints in the m-TSP
formulation, so as to ensure that demands are satised and vehicle
capacities are not exceeded. This may be done in different ways.
The rst option is to dene an additional continuous variable
θ
j
,
representing the load of a vehicle after it visited node j, for jAV.
The load should be updated along the route by taking into
consideration the fact that, if the vehicle travels along arc (i,j),
then
θ
j
should be equal to θ
i
þq
j
. The aforementioned restriction
M. Dell'Amico et al. / Omega 45 (2014) 719 11
can be imposed by the non-linear constraints:
θ
j
Zðθ
i
þq
j
Þx
ij
;iAV;jAV\f08Þ
θ
i
Zðθ
j
q
j
Þx
ij
;iAV\f0g;jAVð9Þ
maxf0;q
j
grθ
j
rminfQ;Qþq
j
g;jAV:ð10Þ
Constraints (8) and (9) impose that, if x
ij
takes value 1, then
θ
j
¼θ
i
þq
j
, and hence model the ow conservation independently
of the sign of q
j
. Constraints (10) simply give lower and upper
bounds on the loads.
These constraints generalize the MillerTuckerZemlin subtour
elimination constraints for the TSP, see Miller et al. [31], to the case
where vertices have demands unrestricted in sign. They can be
linearized with the standard big Mmethod, obtaining:
θ
j
Zθ
i
þq
j
Mð1x
ij
Þ;iAV;jAV\f011Þ
θ
i
Zθ
j
q
j
Mð1x
ij
Þ;iAV\f0g;jAV:ð12Þ
Constraints (8) and (9) are linearized to (11) and (12), respectively.
In our implementation we set the big Mequal to minfQ;Qþq
j
g
in (11), and equal to minfQ;Qq
j
gin (12).
Our formulation F1 for the BRP is thus given by (1)(7), (10)
(12). Note that subtour elimination constraints must be kept in the
formulation, because (10)(12) are not enough to ensure connec-
tivity of the solution when some demands are non-positive and
some are non-negative.
4.2. Formulation F2
Our second formulation also builds upon the m-TSP, but makes
use of an additional variable f
ij
giving the ow over arc (i,j), i.e., the
load on the vehicle traveling along arc (i,j), if any, for ði;jÞAA.To
impose feasibility with respect to the BRP, it is then enough to
include in the m-TSP:
iAV
f
ji
iAV
f
ij
¼q
j
;jAV\f013Þ
maxf0;q
i
;q
j
gx
ij
rf
ij
rminfQ;Qþq
i
;Qq
j
gx
ij
;ði;jÞAA:ð14Þ
Constraints (13) model the balance of the ows on the arcs
entering and leaving a given node. Constraints (14) impose lower
and upper bounds on the ows on each arc, and make these
bounds as tight as possible by considering whether or not an arc is
traveled by a vehicle. Indeed, for what concerns the lower bound,
if arc (i,j) is used, then f
ij
should be at least greater than q
i
if q
i
40
(because q
i
has just been collected) or greater than q
j
if q
j
o0
(because q
j
has to be supplied to the next node). Similar con-
siderations apply to the upper bound.
Formulation F2 of the BRP is thus given by (1)(7), (13) and (14).
4.3. Formulation F3
We use the approach proposed by Hernández-Pérez and
Salazar-González [15,16] for the 1-PDTSP in order to develop
another formulation of the BRP. We start again from the m-TSP,
but ensure that solutions satisfy demands, without exceeding the
vehicle capacity, by adding to the model the following family of
constraints:
iAS
jAS
x
ij
rjSjmax 1;j
iAS
q
i
j
Q

;SDV\f0g;Sa:ð15Þ
Constraints (15) are similar to the generalized subtour elimination
constraints for the CVRP. They state that, for each subset Sof
vertices, the number of arcs with both tail and head in Sshould not
exceed the cardinality of Sminus the minimum number of vehicles
required to serve S. An estimation of the minimum number of
vehicles is simply obtained by computing the absolute value of the
sum of the demands, dividing it by the vehicle capacity and then
rounding up the result. This value can be zero when the sum of the
q
j
is null. In such a case the value 1 is used instead, because at least
one vehicle is needed (notice that Sdoes not contain the depot).
Our formulation F3 is thus given by (1)(5), (7) and (15).Note
that constraints (15) are exponentially many, and hence, as already
observed for (6), we need a separation procedure that identies
violated constraints from non-violated ones. Also note that these
constraints are valid for formulations F1 and F2, and may be used
to improve their convergence to the optimum.
4.4. Formulation F4
We propose a fourth formulation of the BRP that builds upon
the two-commodity ow model originally presented by Baldacci
et al. [32] for the symmetric CVRP. This formulation rst requires
to modify the graph by adding a copy of the depot, dened in
the following by a new vertex nþ1. We dene ~
V¼V[fnþ1g
the resulting set of vertices, and ~
A¼A[fðj;nþ1Þ:jA~
Vg[
nþ1;jÞ:jA~
Vgthe resulting set of arcs. Let us also dene
~
V
0
¼~
V\f0;nþ1gand Q
tot
¼
jA~
V
0
q
j
. We set q
nþ1
¼0, c
nþ1;j
¼þ1,
and c
j;nþ1
¼c
j0
for jA~
V, knowing that c
0;nþ1
¼0, and then we set
c
j0
¼þ1 for jA~
V.
We use three sets of variables. The rst two have already been
used in formulation F2: x
ij
takes value 1 if arc (i,j) is used,
0 otherwise, for ði;jÞA~
A, and f
ij
gives the ow over arc (i,j), i.e.,
the load of the vehicle passing over arc (i,j), if any, for ði;jÞA~
A. The
third variable is another continuous variable g
ji
that gives the
residual space of the vehicle traveling along arc (i,j), if any, for
ði;jÞA~
A.
In this formulation, vehicles leave the initial depot, vertex 0,
visit customers, and then end their route in the nal depot, vertex
nþ1. Variable f
ij
gives the load along the route performed by the
vehicle, starting from the initial depot, vertex 0, following the
vertices visited by the route and then ending in the nal depot,
vertex nþ1. In the opposite way, g
ji
gives the free space on the
vehicle, starting from nþ1, retracing back the route and then
ending 0. The resulting model is then:
ðFormulation F4Þmin
iA~
V
jA~
V
c
ij
x
ij
ð16Þ
iA~
V
x
ij
¼1;jA~
V
0
ð17Þ
iA~
V
x
ji
¼1;jA~
V
0
ð18Þ
jA~
V
x
0j
rmð19Þ
jA~
V
0
x
0j
¼
jA~
V
0
x
j;nþ1
ð20Þ
iAS
jAS
x
ij
rjSj1;SD~
V
0
;Sað21Þ
f
ij
þg
ji
¼Qx
ij
ði;jÞA~
Að22Þ
iA~
V
ðf
ji
g
ij
Þ
iA~
V
ðf
ij
g
ji
Þ¼2q
j
;jA~
V
0
ð23Þ
jA~
V
0
f
0j
Zmaxf0;Q
tot
24Þ
jA~
V
0
f
j;nþ1
Zmaxf0;Q
tot
25Þ
M. Dell'Amico et al. / Omega 45 (2014) 71912
jA~
V
0
g
j0
rminfmQ;mQ þQ
tot
26Þ
maxf0;q
i
;q
j
gx
ij
rf
ij
rminfQ;Qþq
i
;Qq
j
gx
ij
ði;jÞA~
Að27Þ
ðQminfQ;Qþq
i
;Qq
j
x
ij
rg
ji
rðQmaxf0;q
i
;q
j
x
ij
ði;jÞA~
A
ð28Þ
x
ij
A0;1fg;i;jA~
V:ð29Þ
Constraints (17)(20) and (29) are equivalent to the ones
discussed for formulation F1, but adapted to the new sets of
vertices and arcs. Constraints (22) state that, if a vehicle travels
along arc (i,j), then the sum of the load and the residual space on
that arc is equal to the vehicle capacity. Constraints (23) impose
that the difference between loads and residual capacities that
enter and leave a vertex is double of the demand of that vertex.
The total load leaving the initial depot should be in any case
non-negative, and moreover, in case Q
tot
takes a negative value,
it should be not lower than this value. This fact is imposed by
constraints (24). Similarly, constraints (25) state that the total load
entering the nal depot is in any case non-negative, and not lower
than the sum of all demands in case this is positive. Inequalities
(26) state that the free space on the vehicles leaving the depot
must be not greater than the minimum value between the total
capacity of the mvehicles and the total capacity plus Q
tot
. Finally,
constraints (27) and (28) enforce lower and upper bounds on the
continuous variables.
5. Branch-and-cut algorithm
The models presented in the previous section include an
exponential number of constraints, hence we solve them with a
Branch-and-Cut (B&C) algorithm. We use the B&C framework
of CPLEX 12.2, that solves at every node of an enumeration tree
the linear relaxation of a MILP model, and then invokes user-
developed separation procedures for the possible addition of cuts.
At the root node of the B&C procedure we obtain an initial
solution by using a simple greedy heuristic. The greedy method
builds routes one at a time, using the principle of the closest
neighbor. It starts from the depot and then visits the closest, yet
unserved, customer. It then extends the path by moving to the
next closest neighbor for which the sum of collected and delivered
demands is feasible (see Section 5.2 below for the algorithm used
to determine if a path is feasible), if any. When no extension is
possible, the route is closed by going back to the depot, and
possibly a new route is initialized in an iterative fashion. The
model is then initialized with the generalized subtour elimination
constraints for sets of one or two vertices, hence x
ii
¼0 for all iAV
and x
ij
þx
ji
r2maxf1;jq
i
þq
j
j=Qg, for all ði;jÞAA. After testing a
few branching strategies, we adopted the automatic strong
branching procedure by CPLEX that provides the best computa-
tional performance on our test bed.
In Section 5.1 we present some valid inequalities that we use to
improve the convergence of the algorithm to the optimum,
whereas in Section 5.2 we discuss the separation procedures that
we implemented. Since inequalities and separation procedures are
based only on the x
ij
variables, they apply directly to formulations
13. The adaptation to formulation 4 is trivial, and is outlined in
Section 5.2.
5.1. Valid inequalities
We rst propose two new simple families of clique inequalities
with three vertices. Consider a pair of nodes iand j, and let
Sði;jÞV\f0gbe the subset of nodes whose demand results in a
total greater than Qor smaller than Q. Namely, Sði;jÞ¼fhAV
0
;
hai;haj:jq
i
þq
j
þq
h
j4Qg. Then the following inequalities are
valid for the BRP:
x
ij
þ
hASði;jÞ
x
jh
r1;i;jAV\f0g;hASði;jÞð30Þ
hASði;jÞ
x
hi
þx
ij
r1;i;jAV\f0g;hASði;jÞ:ð31Þ
We note that, in (30), at most one among the x
jh
variables may
take the value of 1 because of the degree constraint, and that all of
them are incompatible with x
ij
because of the capacity constraint.
Thus the sum of all these variables is at most 1 in a feasible
solution. A similar consideration applies to (31).
For the next family of inequalities we need some further
notation. Let Pdenote a path consisting of a sequence of vertices
starting from the depot. Let also jPjdenote the number of vertices
in P, and PðiÞdenote the index of the i-th vertex of path P,
for i¼0;1;;jPj1, with Pð0Þ¼0. Given P, we compute
q
min
P
¼min
jPj1
i¼1
f
i
j¼1
q
PðjÞ
gand q
max
P
¼max
jPj1
i¼1
f
i
j¼1
q
PðjÞ
g, that
denote, respectively, the minimum and maximum of the cumula-
tive demand along P.
As observed by Hernández-Pérez and Salazar-González [15],a
path Pis infeasible with respect to the capacity constraint if
q
max
P
q
min
P
4Q. Indeed, if the vehicle leaves the depot with an
empty load, then along the path it will reach a maximum load
equal to q
max
P
that clearly cannot exceed Q. Now notice that q
min
P
may be negative even in a feasible solution, but in this case the
vehicle has to start from the depot by carrying q
min
P
bikes. Hence, the
maximum load becomes q
max
P
q
min
P
, which also cannot exceed Q.
Let Pbe the family of all infeasible paths, the following
infeasible path constraints are thus valid inequalities for the BRP:
jPj2
i¼0
x
PðiÞ;Pðiþ1Þ
rjPj2;PAP:ð32Þ
Inequality (32) simply states that, if path Pis infeasible, then not
all the arcs connecting two consecutive vertices of Pmay belong to
a feasible solution. A way to enforce them is to consider also the
arcs connecting non-consecutive vertices of P. Indeed, any arc
ðPðiÞ;PðjÞÞ with jaiþ1 is incompatible with arcs ðPðiÞ;Pðiþ1ÞÞ and
ðPðj1Þ;PðjÞÞ, because of, respectively, out-degree and in-degree
constraints. Hence we can add the corresponding variable, x
PðiÞ;PðjÞ
to the left-hand side of (32), without affecting the right-hand side
value. This process can be repeated for all arcs connecting two
non-consecutive vertices in the path, with the exception of those
arcs leaving the depot, because up to mof them may belong to a
feasible solution. Hence, we obtain the following:
x
0;Pð1Þ
þ
jPj2
i¼1
jPj1
j¼iþ1
x
PðiÞ;PðjÞ
rjPj2;PAP:ð33Þ
Inequalities (33) generalize, in the case of multiple vehicles, the
tournament constraints, discussed by Ascheuer et al. [33] for the
Traveling Salesman Problem. Note that these constraints can be
used in directed formulations (where a variable is associated to
each directed arc), but cannot be applied to undirected ones
(where variables are associated to undirected edges).
5.2. Separation procedures
The aim of this section is to present the procedures that we use
to determine whether or not the valid inequalities we proposed in
Section 5.1 are violated by a given solution x(possibly fractional).
M. Dell'Amico et al. / Omega 45 (2014) 719 13
Separations S1 and S2: The inequalities of type (30) and (31) are
separated exactly, by enumerating all possible pairs of vertices
iand j, computing the set S
ij
, and then evaluating if the sum of
the xinvolved in the inequality exceeds one. In the following we
will refer the separation of (30) and (31) as separation S1 and
separation S2, respectively.
Separation S3: To separate constraints (6) and (15),werst
build a supporting graph G¼ðV;AÞ, where V¼V,A¼fði;jÞAA:
x
ij
40g, and a capacity x
ij
is assigned to every arc ði;jÞAA.
Constraints (6) may be separated exactly as usually done for the
TSP, by computing O(n) max ows on G, using the depot as a
source and any vertex i, in turn, as a sink. If the max ow value
obtained is lower than one, then iis disconnected from the depot,
and hence the cut that corresponds to the set Sinduced by the min
cut may be added to the model. For the BRP, we obtain a simple
algorithmic improvement by checking, for any set Sinduced by a
min cut, if the minimum number of vehicles required to serve Sis
lower than the max ow value obtained, and, in such a case, we
add the corresponding (stronger) constraint (15). In this way the
exact separation of (6) is used as a heuristic for separating (15).We
refer to this procedure as separation S3.
Separation S4:Toseparateconstraint(15), we extend the procedure
developed in Hernández-Pérez and Salazar-González [15] for the
1-PDTSP to the directed case. First of all we associate a demand
q
0
¼Q
tot
to the depot. Then we build a new supporting graph G
0
,
obtained by adding two dummy nodes, nþ1andnþ2, to G.We
connect nþ1toanyiAVhaving q
i
40 with an arc of capacity q
i
=Q,
and then connect any iAVhaving q
i
o0tonþ2withanarcof
capacity q
i
=Q(in this way, the capacities associated with the arcs
arealwaysnon-negative).Wethencomputethemaxow on G
0
,using
nþ1asasourceandnþ2 as a sink. The constraint (15) corresponding
to the set Sinduced by the min cut is then checked, and, if violated, it
is added to the model. We refer to Hernández-Pérez and Salazar-
González [15] for further details.
Conforming to the fact that we are solving a problem on an
asymmetric graph, we perform a second separation for (15).We
build a second modied supporting graph G, adding again two
new dummy vertices, nþ1 and nþ2, to G. In this case however we
include in Gnew arcs ðnþ1;iÞof capacity q
i
=Qfor all iAV
having q
i
o0, and new arcs ði;nþ2Þof capacity q
i
=Qfor all iAV
having q
i
40. Once more, we use the max ow procedure on
the resulting supporting graph, from nþ1tonþ2, and check the
constraints (15) for the sets Sinduced by the min cuts. In the
following, these procedures are referred to as separation S4.
Separation S5: The tournament constraints (33) are separated
exactly, by generating all possible paths starting from the depot
and using a depth-rst strategy. We initialize vector Pwith
Pð0Þ¼0, then select the rst outgoing arc having a positive value
of x, say, ð0;iÞ, and extend the path to include the head of the
selected arc by setting Pð1Þ¼i. The process is then reiterated.
Every time we add a node to the path, we check if it is infeasible.
If so, then we add the cut and backtrack to the previous node,
otherwise we continue extending the path. The path extension
continues as long as the sum of the involved x
ij
is large enough to
possibly lead to a violated cut, i.e., as long as it is strictly greater
than jPj2. As soon as the sum becomes smaller, we backtrack to
the previous node. Anytime we backtrack, we continue the depth-
rst search by selecting the next arc with positive value of xand
then extend the path consequently.
Suppose a violated cut of type (33) has been found, then we
know that the set S¼fPð1Þ;Pð2Þ;;PðjPjÞg is currently visited by a
single vehicle (the one performing the path P). Now we estimate
the minimum number of vehicles required to serve Susing
j
iAS
q
i
j=Q, and, if this is greater than one, we add the violated
generalized subtour elimination constraint (15) for this set S.
Constraints (15) are usually stronger than (33), but do not
dominate them (because the latter involves variable x
0;Pð1Þ
, not
contained in the former), and hence they are both protable for
the model solution. The current procedure is called separation S5.
The separation procedures (S1S5) are invoked at every node of
the enumeration tree in the order in which we described them.
With regards to formulation F4, there is only a slight modication
Table 3
Implementation of formulations F1F4.
Formulation Variables Core formulation Additional separations
F1 x
ij
;θ
j
(1)(7), (10)(12), S3 S1, S2, S4, S5
F2 x
ij
;f
ij
(1)(7), (13) and (14), S3 S1, S2, S4, S5
F3 x
ij
(1)(5), (7) and (15), S3, S4 S1, S2, S5
F4 x
ij
;f
ij
;g
ij
(16)(29), S3 S1, S2, S4, S5
Table 2
Benchmark instances (notation explained in Table 1).
City Country jVjminfq
i
gavgfq
i
gmaxfq
i
gdevfq
i
gminfc
ij
gavgfc
ij
gmaxfc
ij
gdevfc
ij
g
Bari Italy 13 51.54 5 2.70 400 2283.97 5400 1067.62
Reggio Emilia Italy 14 10 2.00 3 4.17 300 2095.05 5500 1110.44
Bergamo Italy 15 12 1.00 10 5.39 100 1532.86 3200 631.94
Parma Italy 15 61.07 4 2.76 200 3121.43 8800 1857.86
Treviso Italy 18 40.83 3 2.23 340 3510.99 8398 2133.37
La Spezia Italy 20 5 0.05 6 2.93 193 2521.61 6128 1279.82
Buenos Aires Argentina 21 20 0.43 20 17.15 689 4676.75 12 780 2246.80
Ottawa Canada 21 50.05 5 2.58 180 2219.15 5030 1012.63
San Antonio US 23 4 1.74 8 3.43 98 1950.98 4808 944.61
Brescia Italy 27 11 1.41 4 3.69 200 2571.65 6600 1174.49
Roma Italy 28 17 2.36 18 9.45 20 0 5989.55 2740 0 7361.37
Madison US 28 6 0.29 8 2.93 53 3085.99 9922 1780.75
Guadalajara Mexico 41 11 1.07 1 1.94 60 3278.30 14 728 2440.40
Dublin Ireland 45 11 1.42 6 3.73 203 2190.50 4734 933.16
Denver US 51 80.69 7 3.28 211 3873.94 12 000 2643.54
Rio de Janeiro Brazil 55 71.47 7 3.82 420 5328.35 16 591 2587.97
Boston US 59 80.27 16 5.28 243 3911.82 19 239 2378.22
Torino Italy 75 70.49 9 3.73 23 2527.84 7200 1157.14
Toronto US 80 11 0.15 12 5.17 150 2339.03 6283 1103.70
Miami US 82 82.24 9 3.99 68 4000.0 0 13771 3336.49
Ciudad de Mexico Mexico 90 17 0.97 17 8.48 15 2551.94 7264 1409.34
Minneapolis US 116 90.79 5 2.87 6 6045.24 19 468 3558.17
M. Dell'Amico et al. / Omega 45 (2014) 71914
Table 4
Computational results for formulations F1F4 on all problem instances.
Inst. City (jVj,Q)UB F1 F2 F3 F4
Gap
1
Time Gap
2
Time Gap
3
Time Gap
4
Time
1 Bari (13, 30) 14 600 0.00 0.06 0.00 0.11 0.00 0.02 0.00 0.27
2 Bari (13, 20) 15 700 0.00 0.06 0.00 0.10 0.00 0.02 0.00 0.11
3 Bari (13, 10) 20 600 0.00 0.16 0.00 0.39 0.00 0.03 0.00 0.32
4 Reggio Emilia (14, 30) 16 900 0.00 0.03 0.00 0.03 0.00 0.02 0.00 0.06
5 Reggio Emilia (14, 20) 23 200 0.00 0.09 0.00 0.52 0.00 0.03 0.00 0.33
6 Reggio Emilia (14, 10) 32 500 0.00 5.59 0.00 0.67 0.00 0.05 0.00 0.22
7 Bergamo (15, 30) 12 600 0.00 0.05 0.00 0.05 0.00 0.03 0.00 0.10
8 Bergamo (15, 20) 12 700 0.00 0.06 0.00 0.26 0.00 0.00 0.00 0.21
9 Bergamo (15, 12) 13 500 0.00 0.27 0.00 0.74 0.00 0.11 0.00 0.95
10 Parma (15, 30) 29 0 00 0.00 0.05 0.00 0.03 0.00 0.02 0.00 0.06
11 Parma (15, 20) 29 0 00 0.00 0.05 0.00 0.02 0.00 0.02 0.00 0.06
12 Parma (15, 10) 32 500 0.00 0.22 0.00 0.26 0.00 0.05 0.00 0.45
13 Treviso (18, 30) 29 259 0.00 0.12 0.00 0.14 0.00 0.05 0.00 0.62
14 Treviso (18, 20) 29 259 0.00 0.12 0.00 0.20 0.00 0.03 0.00 0.45
15 Treviso (18, 10) 31 443 0.00 0.27 0.00 0.75 0.00 0.09 0.00 0.79
16 La Spezia (20, 30) 20746 0.00 0.09 0.00 0.16 0.00 0.03 0.00 0.31
17 La Spezia (20, 20) 20 746 0.00 0.09 0.00 0.10 0.00 0.03 0.00 0.24
18 La Spezia (20, 10) 22 811 0.00 0.16 0.00 1.45 0.00 0.09 0.00 1.34
19 Buenos Aires (21, 30) 76 999 0.00 1.36 0.00 3.54 0.00 0.37 0.00 12.40
20 Buenos Aires (21, 20) 91619 0.00 23.26 0.00 3.58 0.00 16.80 0.00 7.35
21 Ottawa (21, 30) 16 202 0.00 0.06 0.00 0.05 0.00 0.02 0.00 0.09
22 Ottawa (21, 20) 16 202 0.00 0.06 0.00 0.06 0.00 0.02 0.00 0.09
23 Ottawa (21, 10) 17 576 0.00 0.30 0.00 1.90 0.00 0.11 0.00 1.26
24 San Antonio (23, 30) 22 982 0.00 0.19 0.00 2.74 0.00 0.08 0.00 4.38
25 San Antonio (23, 20) 24 007 0.00 3.63 0.00 1.36 0.00 0.09 0.00 7.52
26 San Antonio (23, 10) 40 149 5.36 3600.00 0.00 7.07 0.00 1.06 0.00 17.86
27 Brescia (27, 30) 30 30 0 0.00 0.70 0.00 0.77 0.00 0.06 0.00 2.22
28 Brescia (27, 20) 31100 0.00 6.07 0.00 6.38 0.00 0.20 0.00 9.11
29 Brescia (27, 11) 35 20 0 0.00 24.46 0.00 10.83 0.00 1.37 0.00 9.31
30 Roma (28, 30) 61 900 0.00 4.27 0.00 5.48 0.00 0.84 0.00 8.46
31 Roma (28, 20) 66 600 0.00 22.04 0.00 7.61 0.00 1.72 0.00 33.38
32 Roma (28, 18) 68 300 0.00 16.15 0.00 3.26 0.00 0.58 0.00 4.99
33 Madison (28, 30) 29 246 0.00 0.09 0.00 0.10 0.00 0.02 0.00 0.24
34 Madison (28, 20) 29 839 0.00 0.31 0.00 0.44 0.00 0.05 0.00 0.84
35 Madison (28, 10) 33 848 0.00 6.02 0.00 16.56 0.00 0.53 0.00 6.36
36 Guadalajara (41, 30) 57476 0.00 1.16 0.00 2.97 0.00 0.22 0.00 6.22
37 Guadalajara (41, 20) 59 493 0.00 2.29 0.00 8.18 0.00 0.34 0.00 7.21
38 Guadalajara (41, 11) 64 981 1.18 3600.00 0.00 39.15 0.00 1.79 0.00 17.99
39 Dublin (45, 30) 33 548 0.0 0 435.69 0.00 180.81 0.0 0 6.05 0.00 280.05
40 Dublin (45, 20) 39 786 2.43 3600.00 1.14 360 0.00 0.00 76.72 0.00 3140.89
41 Dublin (45, 11) 54 392 7.70 3600.00 1.17 360 0.00 0.00 610.80 0.00 3513.55
42 Denver (51, 30) 51 583 0.00 66.57 0.00 11.01 0.00 0.67 0.0 0 15.88
43 Denver (51, 20) 53 465 0.00 410.05 0.00 372.78 0.00 25.33 0.0 0 1096.95
44 Denver (51, 10) 67 459 1.47 3600.00 0.00 1535.62 0.0 0 231.52 0.00 3443.68
45 Rio de Janeiro (55, 30) 122 547 4.16 3600.00 1.57 3600.00 0.00 65.57 1.97 3600.00
46 Rio de Janeiro (55, 20) 156 140 8.57 360 0.00 2.29 3600.00 0.44 3600.00 1.82 3600.00
47 Rio de Janeiro (55, 10) 259 049 28.58 3600.00 2.07 3600.00 2.23 3600.00 2.23 3600.0 0
48 Boston (59, 30) 65 669 0.00 255.25 0.0 0 1136.46 0.00 28.14 0.00 975.97
49 Boston (59, 20) 71 879 0.00 1899.07 1.70 3600.00 0.00 473.84 1.63 3600.00
50 Boston (59, 16) 75 065 0.99 3600.00 2.59 3600.00 0.37 3600.00 2.94 360 0.00
51 Torino (75, 30) 47 634 0.00 464.46 0.00 919.59 0.00 13.79 0.00 1703.46
52 Torino (75, 20) 50 204 2.38 3600.00 2.70 3600.0 0 0.00 859.69 3.50 3600.00
53 Torino (75, 10) 64 797 11.30 3600.00 9.66 3600.00 9.25 3600.00 9.23 3600.00
54 Toronto (80, 30) 41 549 3.54 3600.00 4.47 360 0.00 1.82 3600.00 4.42 3600.00
55 Toronto (80, 20) 47 898 11.81 3600.00 11.02 3600.00 11.05 3600.00 11.39 3600.00
56 Toronto (80, 12) 60 763 13.15 3600.00 10.74 3600.00 11.84 3600.00 10.88 3600.00
57 Miami (82, 30) 156 104 23.68 3600.00 8.43 3600.00 2.48 3600.00 9.01 3600.00
58 Miami (82, 20) 229 237 38.43 3600.00 11.02 3600.00 8.66 3600.00 10.99 3600.00
59 Miami (82, 10) 415 762 38.14 3600.00 6.07 3600.00 6.49 3600.00 6.12 360 0.00
60 Ciudad de Mexico (90, 30) 88 227 28.67 3600.00 23.28 3600.00 23.05 3600.00 23.74 3600.00
61 Ciudad de Mexico (90, 20) 116 418 29.95 3600.00 23.59 3600.00 23.61 3600.00 23.63 3600.00
62 Ciudad de Mexico (90, 17) 109 573 20.00 3600.00 9.00 3600.00 9.56 3600.00 10.73 3600.00
63 Minneapolis (116, 30) 137 843 4.58 3600.00 5.82 3600.00 1.23 360 0.00 5.96 3600.00
64 Minneapolis (116, 20) 186 449 23.45 3600.00 18.61 3600.00 15.40 3600.00 18.41 3600.0 0
65 Minneapolis (116, 10) 298 886 37.08 3600.0 0 17.65 3600.00 17.96 3600.00 18.93 3600.00
Average gaps and times 5.33 1330.02 2.69 1228.99 2.24 923.37 2.73 1272.84
Opt 42 44 49 46
#Nodes 2134.32 1847.74 1240.91 1440.65
#Cuts 2233.02 630.14 1908.28 578.09
M. Dell'Amico et al. / Omega 45 (2014) 719 15
to implement. Recall that this formulation works on a modied
graph ~
V, where nþ1 is a copy of the original depot 0. When
creating the supporting graph G, we merge again 0 and nþ1 into a
unique vertex 0 (this is done by simply setting x
j;0
¼x
j;nþ1
for all
jAV), and then use the separation process just described for the
previous formulations. The resulting cut, if any, is then mapped
back on ~
V. On the basis of computational evidence resulting from
detailed experimentation, the separation process for all formula-
tions is terminated as soon as a violated cut is found.
6. Benchmark instances
In our attempt to solve real-world instances, we collected real data
from the web sites of twenty-two bike sharing systems characterized
by diverse size. The cities included in our studies are: Bari, Brescia,
Bergamo, La Spezia, Parma, Rome, Torino, Treviso, and Reggio Emilia,
in Italy; Dublin in Ireland; Boston, Denver, Madison, Miami, Minnea-
polis, and San Antonio in the USA; Ottawa and Toronto in Canada;
Ciudad de Mexico and Guadalajara in Mexico; Buenos Aires in
Argentina and Rio de Janeiro in Brazil.
We have been in touch with the bike sharing operators of these
cities, in particular with those people responsible for the bike
repositioning, to obtain information regarding the depot location,
the desirable level of occupation, the characteristics of the avail-
able eet of vehicles and the type of repositioning performed. Not
all of them furnished us with all the required information.
In general, we can state that some of them perform the reposi-
tioning during the night, some others also during the day. From
the web sites we collected the coordinates of the stations and of
the depot. If no information for the depot was available, we
assumed that the depot was located at the same place as one of
the stations. We used a Geographical Information System to
compute the shortest traveling distances c
ij
(in meters) between
each pair of points, considering the two possible directions. We
then took a snapshot of the nightly level of occupation at each
station, and xed the demand of the station to be the difference
between the level of occupation encountered and the desired level
of occupation of the station. Indeed, according to the information
provided by the majority of operators, the most common rule
adopted to rebalance the stations is to ll half of the slots in each
station, thus we set the desired level of occupation of a station to
half its number of slots. Also note that, for those cities where the
depot was allocated to a bike station, we set the demand of that
station to 0.
According to the data we collected, the most common vehicle
capacities encountered in practice are 30, 20 and 10 bikes for each
vehicle. We applied these three values to the data obtained for
each city. For some instances the minimum vehicle capacity used
is set to max
iAV
fjq
i
jg, when the number of the latter exceeds 10.
For Buenos Aires, whose maximum demand was 20, we tested
only 20 and 30. We generated 65 instances in total that are
summarized in Table 2. The values minfq
i
g,avgfq
i
g, maxfq
i
g, and
devfq
i
ggive, respectively, the minimum, average, and maximum
demand, and the standard deviation. Similar information is
provided for the distances c
ij
. The number of vertices varies from
13 to 116 stations. All test instances have variability in the number
Table 5
Root node comparison of various separation procedures on the core
formulation F3.
City (jVj,Q)Gap
core
Gap
þ
(S1) Gap
þ
(S2) Gap
þ
(S5)
Dublin (45 ,30) 1.45 1.45 1.45 1.45
Dublin (45 , 20) 4.56 4.31 3.68 4.56
Dublin (45, 11) 5.52 5.61 4.69 4.86
Denver (51, 30) 0.52 0.52 0.52 0.52
Denver (51, 20) 2.58 2.58 2.58 2.56
Denver (51, 10) 3.34 3.05 4.29 3.32
Rio de Janeiro (55, 30) 2.05 2.05 2.05 2.05
Rio de Janeiro (55, 20) 2.51 2.51 2.51 2.51
Rio de Janeiro (55, 10) 4.12 3.99 3.35 4.12
Boston (59, 30) 1.87 1.76 1.76 1.87
Boston (59, 20) 3.31 3.45 3.11 3.28
Boston (59, 16) 4.63 4.25 4.13 4.63
Torino (75, 30) 1.35 1.35 1.35 1.35
Torino (75, 20) 3.38 3.81 3.30 3.38
Torino (75, 10) 11.73 11.44 11.50 11.73
Toronto (80, 30) 5.55 5.55 5.55 5.55
Toronto (80, 20) 15.19 13.48 14.10 15.19
Toronto (80, 12) 14.40 14.87 14.97 14.40
Miami (82, 30) 3.28 3.28 3.28 3.28
Miami (82, 20) 8.91 9.17 9.29 8.91
Miami (82, 10) 6.71 7.03 6.86 6.71
Ciudad de Mexico (90, 30) 24.62 25.23 25.18 24.62
Ciudad de Mexico (90, 20) 25.43 24.96 24.94 25.43
Ciudad de Mexico (90, 17) 11.81 11.31 11.85 11.80
Minneapolis (116, 30) 2.97 2.97 2.97 2.97
Minneapolis (116, 20) 15.97 15.97 15.97 15.97
Minneapolis (116, 10) 19.44 19.14 18.83 19.44
Average gaps (%) 7.67 7.60 7.56 7.65
Table 6
Root node comparison of various separation procedures on the full
formulation F3.
City (jVj,Q)Gap
full
Gap
(S1)
Gap
(S2)
Gap
(S3)
Gap
(S4)
Gap
(S5)
Dublin (45 ,30) 1.45 1.45 1.45 3.75 3.47 1.45
Dublin (45 , 20) 3.68 3.68 4.31 6.38 12.08 3.68
Dublin (45, 11) 5.16 4.43 5.61 5.26 13.95 5.16
Denver (51, 30) 0.52 0.52 0.52 1.31 1.64 0.52
Denver (51, 20) 2.56 2.56 2.56 2.60 3.33 2.58
Denver (51, 10) 3.49 4.29 2.98 4.82 6.65 3.49
Rio de Janeiro
(55, 30)
2.05 2.05 2.05 2.05 6.45 2.05
Rio de Janeiro
(55, 20)
2.51 2.51 2.51 2.51 10.56 2.51
Rio de Janeiro
(55, 10)
3.30 3.35 3.41 3.30 21.50 3.30
Boston (59, 30) 1.76 1.76 1.76 2.75 1.68 1.76
Boston (59, 20) 3.45 3.11 3.45 4.08 3.88 3.45
Boston (59, 16) 3.87 4.13 4.25 4.48 4.33 3.87
Torino (75, 30) 1.35 1.35 1.35 2.50 1.61 1.35
Torino (75, 20) 3.81 3.30 3.81 4.68 4.41 3.81
Torino (75, 10) 11.56 11.50 11.44 12.84 15.15 11.56
Toronto
(80, 30)
5.55 5.55 5.55 7.25 6.08 5.55
Toronto
(80, 20)
13.30 14.10 13.48 14.62 14.90 13.30
Toronto (80, 12) 14.99 14.97 14.87 15.36 18.99 14.99
Miami (82, 30) 3.28 3.28 3.28 3.36 20.32 3.28
Miami (82, 20) 9.14 9.25 9.14 9.17 28.36 9.17
Miami (82, 10) 7.0 0 6.86 7.03 7.01 35.36 7.00
C. de Mexico
(90, 30)
25.46 25.18 25.23 25.51 32.58 25.46
C. de Mexico
(90, 20)
25.04 24.94 24.96 25.04 34.97 25.04
C. de Mexico
(90, 17)
11.48 11.48 11.31 11.50 24.47 11.55
Minneapolis
(116, 30)
2.97 2.97 2.97 3.59 6.73 2.97
Minneapolis
(116, 20)
15.97 15.97 15.97 16.50 23.42 15.97
Minneapolis
(116, 10)
18.52 18.83 19.14 18.72 36.39 18.83
Average
gaps (%)
7.53 7.53 7.57 8.18 14.56 7.54
M. Dell'Amico et al. / Omega 45 (2014) 71916
of bikes leaving the depot (since avg fq
i
gis not 0). All distances are
given in meters. All instances are available online at http://www.
or.unimore.it/resources.htm.
7. Computational results
All algorithms described in Sections 4 and 5 were coded in
C/Cþþ and run on an Intel Core i3-2100 CPU, 3.10 GHz, 4.00 GB.
We used CPLEX 12.2 as the MILP solver imposing the selection of a
single processor. Formulations F1F4 were computationally tested
on the problem instances described in Section 6. For clarity
purposes, details of the computational implementation of the
formulations we tested are given in Table 3, where we also include
the additional separation procedures described in Section 5.2.
In this section, we present the computational results of the B&C
algorithm using formulations F1F4. The B&C algorithm was termi-
nated when either the optimal solution was found or a predeter-
mined time-limit elapsed. The time-limit imposed was 3600 CPU
seconds. Table 4 reports the computational results obtained for the
complete set of 65 problem instances. In this table, the following
information is provided for each problem instance:
City ðjVj;QÞ: City name associated with a given problem
instance which is uniquely identied by the number of vertices
jVjof the corresponding digraph and the vehicle capacity Q
used to transport the bikes at the specied city.
UB: The value of the best feasible solution found by the B&C
algorithm using formulations F1F4.
Gap
1
Gap
4
: Percentage deviation from UB of LB
1
LB
4
, best
lower bounds obtained by the B&C algorithm using core
formulations F1F4 including the set of additional separations
for each formulation, respectively, as shown in Table 3.
Gap
i
¼100=ð1LB
i
=UBÞ, for i¼1;;4.
Time: Computational time for running the B&C algorithm, in
CPU seconds.
To compare the average performance of formulations F1F4 over
the complete set of problem instances, the following additional
information is given in Table 4:
Opt: The total number of problem instances solved to optim-
ality by the B&C algorithm within 3600 s.
#Nodes: Average number of nodes (over all instances) explored
by the B&C algorithm.
#Cuts: Average number of cuts generated by the B&C algorithm.
As shown in Table 4, the rst 25 problem instances and a large
number of other instances are easily solved by all formulations
within a few seconds. Formulation F1 gives the worst results
in terms of average gap, computational time, and number of
generated cuts, whereas, formulations F2 and F4 demonstrate
similar performance for all performance indicators. On the other
hand, F3 performs best over all formulations with average
Gap
3
¼2:24%and it optimally solves all problem instances includ-
ing up to 50 vertices. Indeed, formulation F3 nds the optimal
solution for 49 out of 65 instances within an average time of
15 min generating an average of approximately 1200 B&C nodes.
However, it is worth noting that, for some of the larger instances,
Gap
3
is larger than Gap
2
(e.g., Ciudad de Mexico (90, 17)) or Gap
4
(e.g., Miami (82, 10)). Further insight into the best performing
formulation F3 was gained by computationally evaluating the
impact of each separation procedure on the resulting percentage
gaps computed at the root node of the B&C tree for the most
difcult problem instances.
In Table 5 we test the core formulation F3, see Table 3, and the
ones obtained by including just one of the separation procedures
at a time. We denote with Gap
core
the percentage deviation
from UB of the lower bound obtained with the core version, while
we use Gap
þ
ðSxÞto denote the results of the core version plus
separation Sx.
Fig. 4. Optimal solutions for Reggio Emilia with (a) Q¼10, (b) Q¼20, and (c) Q¼30.
M. Dell'Amico et al. / Omega 45 (2014) 719 17
In Table 6 we present the results of the full version of
formulation F3 (i.e., core formulation plus all separation proce-
dures) and those obtained by removing from it one separation
procedure at a time. We denote with Gap
full
the percentage
deviation from UB of the lower bound obtained with the full
version, while we use Gap
ðSxÞto denote the results of the full
version minus separation Sx.
The results reported in Table 5 demonstrate that the average
gap of the core formulation F3 is close to 7% but slightly greater
than 25% in the worst case Ciudad De Mexico (90, 20). The
average gap Gap
core
is only slightly improved by separately adding
either separation S1, S2 or S5; however, it is worth noting that
separations S1, S2 and S5 are computed very fast. The importance of
separations S3 and, more clearly, S4 is evident from the results
presented in Tabl e 6, namely, removing S3 and S4 from the full
formulation F3 leads to an increase of the percentage gap from
an average value of Gap
full
¼7:53%to Gap
ðS3Þ¼8:18%and
Gap
ðS4Þ¼14:56%, respectively. Notably, this gap increases from
18.52% to 36.39% for separation S4 in the case of Minneapolis (116, 10).
Based on the overall computational results presented in this
section, we note that the computational difculty of the instances
grows not only with the number of vertices, as it is expected, but
also when the capacity of the vehicles decreases. This behavior
was also noted for the 1-PDTSP by Hernández-Pérez and Salazar-
González [15] and is due to the fact that small capacity vehicles are
forced to perform long and complicated routes for pickups and
deliveries. An illustrative example is given in Fig. 4, which depicts
the three optimal solutions obtained for the problem instance
arising in Reggio Emilia for the following cases:
(i) Q¼10, three vehicle routes are needed. The rst one
visits stations 2, 6, 13, 5, 8 and 7, the second vehicle visits
stations 1, 3, 10, 4, 9, and 11 but the third one visits only
station 12. The total distance traveled is 32.5 km.
(ii) Q¼20, two vehicle routes are needed. The rst one visits
stations 13, 2, 10, 4, 6, 3, 1, 5, 8 and 7 while stations 9, 11,
and 12 are visited by the second vehicle. Total distance
traveled is 23.2 km.
(iii) Q¼30, a single vehicle route visits all stations (traveling
for 16.9 km) in the following sequence: 7, 5, 8, 13, 2, 10, 4,
6, 3, 1, 11, 9, and 12.
7.1. Randomly generated instances
It is well known that TSP formulations perform differently on
clustered and randomized data set. To this end, we created a set of
random instances, in addition to the real-world ones, to evaluate
the quality of our algorithm. We followed a classical random
generation method adopted in the CVRP literature, see e.g. Toth
and Vigo [34]. We randomly generated instances including 40, 45,
50, 55 and 60 vertices, because problems of this size are challen-
ging to solve for real-world cases. The coordinates of the vertices
are randomly generated between 0 and 100, while the depot is set
in (50, 50). Distances between vertices are computed as the
Euclidean ones, but perturbed by a factor
δ
, randomly chosen
between 20% and 20% to induce asymmetry on the costs.
In more detail, let b
ij
be the Euclidean distance between the two
vertices iand j, for i;jAV;j4i. The cost matrix is computed by
setting c
ij
¼b
ij
ð1þδÞ, for i;jAV, then the resulting c
ij
values are
multiplied by 100 and rounded up to the next integer value.
A check on triangularity of distances is then performed to adjust
non-triangular distances. We considered 10, 20 and 30 as plausible
values for Q. The demand of each vertex is randomly generated
between 10 and 10 but other than zero, while the demand of the
depot is set to zero.
In Table 7 we report the instance name, the number of vertices,
the vehicle capacity, the best upper bound found and, for each
formulation, the percentage gap between the best upper bound
and the best lower bound, and the solution time. The average gaps
and computational times are also reported. The number of
instances solved to optimality is indicated by Opt, while #Nodes
and #Cuts illustrate the average number of visited nodes and
added cuts for each formulation. The time limit was set to 3600 s.
The results conrm the computational experience derived from
solving the real-world instances. When increasing the number of
vertices and the vehicle capacity the instances get harder to solve.
The formulation having better results is, once again, F3.
As reported in Table 7, 12 instances out of 15 are solved to
optimality by F3, and the percentage gap between the best upper
bound and the best lower bound is, on average, lower than 0.20%.
The average solution time is less than 15 min. Overall, tests on
randomly generated instances conrm the quality of the proposed
algorithms and formulations.
Table 7
Tests on randomly generated instances.
Name jVjQUB F1 F2 F3 F4
Gap
1
Time Gap
2
Time Gap
3
Time Gap
4
Time
R40-30 40 30 59 429 1.45 3600.00 0.00 451.32 0.0 0 13.23 0.00 241.58
R40-20 40 20 67 789 1.92 360 0.00 0.00 1171.56 0.00 115.25 0.00 845.35
R40-10 40 10 102 941 3.85 3600.0 0 0.00 890.31 0.00 217.83 0.00 842.11
R45-30 45 30 52 980 0.00 70.23 0.00 42.42 0.00 2.81 0.00 115.88
R45-20 45 20 58 204 0.00 825.6 8 0.00 1860.36 0.00 56.08 0.63 3600.00
R45-10 45 10 75 223 2.42 3600.00 2.84 3600.00 0.00 591.15 3.18 3600.00
R50-30 50 30 60 960 0.00 14.59 0.00 52.95 0.00 7.83 0.00 210.09
R50-20 50 20 67 212 0.00 2348.79 1.19 3600.0 0 0.00 41.82 0.95 3600.0 0
R50-10 50 10 94 465 4.55 3600.00 1.23 3600.00 0.00 248.73 0.28 3600.00
R55-30 55 30 67 491 0.00 872.29 0.00 403.45 0.00 11.83 0.0 0 1155.85
R55-20 55 20 74 429 0.0 0 2744.08 0.00 1143.11 0.00 33.71 0.0 0 1333.42
R55-10 55 10 103 117 12.37 3600.00 1.86 3600.00 1.07 3600.00 2.17 3600.00
R60-30 60 30 76 574 6.15 3600.00 3.08 3600.00 0.00 1025.23 3.52 3600.00
R60-20 60 20 89 762 9.96 3600.00 4.39 3600.00 0.88 3600.00 3.27 3600.00
R60-10 60 10 133 824 12.95 3600.00 1.90 3600.00 0.78 3600.00 1.78 3600.00
Average gaps and times 3.71 2618.38 1.10 2081.03 0.18 877.70 1.05 2236.28
Opt 68127
#Nodes 7741.20 6479.47 4664.30 4958.07
#Cuts 2822.73 903.27 1145.80 758.67
M. Dell'Amico et al. / Omega 45 (2014) 71918
8. Conclusions and future research directions
In this paper we considered the Bike Rebalancing Problem,
which calls for the repositioning of public bikes of a bike sharing
program at minimum cost, using a eet of capacitated vehicles. We
modeled the problem proposing four different formulations,
which take into account different types of variables and con-
straints. All formulations involve an exponential number of con-
straints, so we solved them by using a branch-and-cut algorithm.
By collecting data from several web sites, we produced an
interesting test bed containing 65 instances. We made the test bed
publicly available, and used it to computationally evaluate the
branch-and-cut algorithm. Computational evidence suggests that
the best computational results are produced by formulation F3.
This formulation efciently solves instances with up to 50 vertices,
but may fail in solving some larger ones in 1 h of computational
time on a standard PC. An interesting future research direction is
to try to solve these instances by means of heuristic and meta-
heuristic algorithms.
Acknowledgments
We thank the Mobility Concilorship of Reggio Emilia, and
Alessandro Meggiato, Mobility Manager of the Municipality of
Reggio Emilia, for the data and information supplied. We also
thank Scott Mullen (General Manager of Hubway, Boston bike
sharing system), Matt Verlee (Customer Relations & Low Income
Outreach Manager of Denver B-Cycle), Marco Verità (of Brescia
Mobilità, Brescia bike sharing system), Ben Kunde (Tech Manager,
Madison B-Cycle), Caleb Cohate (San Antonio B-Cycle), Sonia Fakiel
(Mejor en Bici, Buenos Aires bike sharing system) and ATB
Mobilità (La BiGi, Bergamo bike sharing system) for the informa-
tion they furnished us with.
We thank Ministero dell'Istruzione, dell'Università e della
Ricerca, Italy, for nancial support. Manuel Iori is partially sup-
ported by CAPES/Brazil under Grant PVE no. A007/2013.
We are grateful to the associate editor and to two anonymous
referees for their valuable comments.
References
[1] DeMaio P. Bike sharing: history, impacts, model of provision and future.
Journal of Public Transportation 2009;10:4156.
[2] OBIS Project. Optimising bike sharing in European cities. A handbook, 2011.
[3] Pucher J, Buehler R, Seinen M. Bicycling renaissance in North America? An
update and re-appraisal of cycling trends and policies Transportation Research
Part A 2011;45:451475.
[4] Shaheen S, Guzman S, Zhang H. Bikesharing in Europe, the Americas, and Asia:
past, present, and future. Transportation Research Record 2010;2143:159167.
[5] Kaltenbrunner A, Meza R, Grivolla J, Codina J, Banchs R. Urban cycles and
mobility patterns: exploring and predicting trends in a bicycle-based public
transport system. Pervasive and Mobile Computing 2010;6:455466.
[6] Vogel P, Mattfeld D. Modeling of repositioning activities in bike-sharing
systems. In: 12th WCTR, Lisbon, Portugal, 2010. p. 113.
[7] Lin J-R, Yang T. Strategic design of public bicycle sharing systems with service
level constraints. Transportation Research Part E 2011;47:284294.
[8] Souffriau W, Vansteenwegen P, Vanden Berghe G, Van Oudheusden D. The
planning of cycle trips in the province of East Flanders. Omega
2011;39:209213.
[9] Boctor F, Renaud J, Cornillier F. Trip packing in petrol stations replenishment.
Omega 2011;39:8698.
[10] Berbeglia G, Cordeau J-F, Gribkovskaia I, Laporte G. Static pickup and delivery
problems: a classication scheme and survey. TOP 2007;15:131.
[11] Parragh SN, Doerner KF, Hartl RF. A survey on pickup and delivery problems.
Part I: transportation between customers and depot. Journal für Betriebs-
wirtschaft 2008;58:2151.
[12] Parragh SN, Doerner KF, Hart lRF. A survey on pickup and delivery problems.
Part II: transportation between pickup and delivery locations. Journal für
Betriebswirtschaft 2008;58:81117 .
[13] Battarra M, Cordeau J-F, Iori M. Pickup and delivery problems for goods
transportation. Technical Report, University of Modena and Reggio Emilia,
Italy; 2012.
[14] Doerner K, Salazar-González J-J. Pickup and delivery routing problems for
people transportation. Technical Report, University of La Laguna, Spain; 2012.
[15] Hernández-Pérez H, Salazar-González J-J. A branch-and-cut algorithm for a
traveling salesman problem with pickup and delivery. Discrete Applied
Mathematics 2004;145:126139.
[16] Hernández-Pérez H, Salazar-González J-J. The one-commodity pickup-and-
delivery traveling salesman problem: inequalities and algorithms. Networks
2007;50:258272.
[17] Hernández-Pérez H, Salazar-González J-J. Heuristics for the one-commodity
pickup-and-delivery traveling salesman problem. Transportation Science
2004;38:245255.
[18] Hernández-Pérez H, Rodríguez-Martín I, Salazar-González J-J. A hybrid GRASP/
VND heuristic for the one-commodity pickup-and-delivery traveling salesman
problem. Computers & Operations Research 2009;36:16391645.
[19] Wang F, Lim A, Xu Z. The one-commodity pickup and delivery travelling
salesman problem on a path or a tree. Networks 2006;48:2435.
[20] Martinovic G, Aleksi I, Baumgartner A. Single-commodity vehicle routing
problem with pickup and delivery service. Mathematical Problems in Engi-
neering 2008 Article ID 697981.
[21] Zhao F, Li S, Sun J, Mei D. Genetic algorithm for the one-commodity pickup-
and-delivery traveling salesman problem. Computers & Industrial Engineering
2009;56:16421648.
[22] Hosny M, Mumford C. Solving the one-commodity pickup and delivery
problem using an adaptive hybrid VNS/SA approach. In: Schaefer R, Cotta C,
Kolodziej J, Rudolph G, editors. Parallel problem solving from nature, PPSN XI.
Lecture notes in computer science, vol. 6239. Berlin: Springer; 2010.
p. 189198.
[23] MladenovićN, UroševićD, HanaS, IlićA. A general variable neighborhood
search for the one-commodity pickup-and-delivery travelling salesman pro-
blem. European Journal of Operational Research 2012;220:270285.
[24] Shi X, Zhao F, Gong Y. Genetic algorithm for the one-commodity pickup-and-
delivery vehicle routing problem. In: IEEE international conference on
intelligent computing and intelligent systems, vol. 1, 2009. p. 1759.
[25] Benchimol M, Benchimol P, Chappert B, De La Taille A, Laroche F, Meunier F,
et al. Balancing the stations of a self service Bike Hiresystem. RAIRO
Operations Research 2011;45:3761.
[26] Chemla D, Meunier F, Woler Calvo R. Bike sharing systems: solving the static
rebalancing problem. Discrete Optimization 2013;10:120146.
[27] Raviv T, Tzur M, Forma IA. Static repositioning in a bike-sharing system:
models and solution approaches. EURO Journal of Transportation and Logistics
2013;2:187229.
[28] Contardo C, Morency C, Rousseau L-M. Balancing a dynamic public bike-
sharing system. Technical Report CIRRELT-2012-09, CIRRELT; 2012.
[29] Bektas T. The multiple traveling salesman problem: an overview of formula-
tions and solution procedures. Omega 2006;34:209219.
[30] Gutin G, Punnen A, editors. The traveling salesman and its variations.
Dordrecht: Kluwer; 2002.
[31] Miller C, Tucker A, Zemlin R. Integer programming formulations and traveling
salesman problems. Journal of the Association of Computing Machinery
1960;7:326329.
[32] Baldacci R, Hadjiconstantinou E, Mingozzi A. An exact algorithm for the
capacitated vehicle routing problem based on a two-commodity network ow
formulation. Operations Research 2004;52:723738.
[33] Ascheuer N, Fischetti M, Grötschel M. A polyhedral study of the asymmetric
travelling salesman problem with time windows. Networks 20 00;36:6979.
[34] Toth P, Vigo D. The vehicle routing problem. SIAM monographs on discrete
mathematics and applications, Philadelphia, USA. 2002.
M. Dell'Amico et al. / Omega 45 (2014) 719 19
... Based on transportation and distribution characteristics, bike-sharing rebalancing can be divided into two categories: static bikesharing rebalancing (SBR) and dynamic bike-sharing rebalancing (DBR). SBR refers to rebalancing operations that typically take place at night when user demand is minimal and traffic congestion effects are negligible [7], [6]. In contrast, DBR refers to rebalancing operations that occur during the day, involving real-time changes in user demand [8]. ...
... The objective of static rebalancing differs depending on the priorities of the operator, with typical objectives including the total vehicle travel time (cost) [7], [18], the total operating cost of rebalancing (including truck travel time and loading and unloading operation time) [19], [20], the total absolute deviation from the target number of bicycles at each station [19], [21], the total penalty cost at each station [22], [23], and minimizing the total transportation cost of the free-floating system [24]. ...
... The transportation cost is only related to the distance of transportation.(6) The cost of loading and unloading bicycles positively correlates with the average distance of transportation in An example of a bike-sharing service network(7) All transportation trucks are the same and have limited truck capacity. ...
Article
Full-text available
Demand uncertainty and variations in user rental-return behavior can lead to an uneven spatial distribution of bicycles, which forces bike-sharing operators to rebalance the bike-sharing system by relocating bicycles from overstocked to understocked stations. In addition, this may lead to increased costs for bike-sharing operators. This paper proposed a two-stage robust model based on spatio-temporal networks to solve the static rebalancing problem in a bike-sharing system affected by demand uncertainty. The model designed a static rebalancing scheme for bike-sharing at a strategic level. To solve the problem, the paper used a customized column-and-constraint generation algorithm. Finally, the effectiveness of the proposed model and algorithm was confirmed using real data from Shanghai, China, providing strategic decision support for the static rebalancing problem in actual bike-sharing systems.
... Additionally, it can be divided into static BRP and dynamic BRP based on whether the user activity is negligible [3]. Building on the single commodity picking traveling salesman problem (1-PDTSP), the capacitated vehicle routing problem (CVRP), and the multiple traveling salesman problem (M-TSP), Dell'Amico et al. [4] constructed a four-model mixed integer linear programming (MILP) model to formalize the BRP. To address these problems, they developed a customized branch-and-cut algorithm. ...
Article
Full-text available
Public transportation scheduling aims to optimize the allocation of resources, enhance efficiency, and increase passenger satisfaction, all of which are crucial for building a sustainable urban transportation system. As a complement to public transportation, bike-sharing systems provide users with a solution for the last mile of travel, compensating for the lack of flexibility in public transportation and helping to improve its utilization rate. Due to the characteristics of shared bikes, including peak usage periods in the morning and evening and significant demand fluctuations across different areas, optimizing shared bike dispatch can better meet user needs, reduce vehicle vacancy rates, and increase operating revenue. To address this issue, this article proposes a comprehensive decision-making approach for spatiotemporal demand prediction and bike dispatch optimization. For demand prediction, we design a T-GCN (Temporal Graph Convolutional Network)-based bike demand prediction model. In terms of dispatch optimization, we consider factors such as dispatch capacity, distance restrictions, and dispatch costs, and design an optimization solution based on genetic algorithms. Finally, we validate the approach using shared bike operating data and show that the T-GCN can effectively predict the short-term demand for shared bikes. Meanwhile, the optimization model based on genetic algorithms provides a complete dispatch solution, verifying the model’s effectiveness. The shared bike dispatch approach proposed in this paper combines demand prediction with resource scheduling. This scheme can also be extended to other transportation scheduling problems with uncertain demand, such as store replenishment delivery and intercity inventory dispatch.
... In the dial-a-ride problem, (i) the reallocation cost depends on the route; (ii) customers are not fungible; and (iii) reallocation is performed sequentially for each vehicle. Another example is the bike-share rebalancing problem, which involves scheduling trucks to redistribute shared bikes with the objective of minimizing the total cost [ 16]. In this problem, conditions (i) and (iii) for the dial-a-ride problem also apply: the reallocation cost depends on the route, and reallocation is performed sequentially for each truck. ...
Chapter
Full-text available
In this chapter, we focus on combinatorial optimization problems related to mobility societies. We briefly explain the main existing approaches for solving basic optimization problems and the advanced frameworks that capture realistic problems: online optimization and mechanism design. In relation to these topics, we introduce our results obtained from a joint project between Kyoto University and Toyota Motor Corporation.
Preprint
Full-text available
Solving a static bike sharing rebalancing problem requires finding the minimum-cost route for rebalancing vehicles, subject to meeting the demand at the bike sharing stations of the system. In this work, we study the variant of the problem where the demand is specified by intervals, which adds flexibility to the routing of the rebalancing vehicles. We propose a generalized disjunctive programming (GDP) model to represent the problem and its reformulation into a mixed-integer linear programming (MILP) model. We use demand splitting to duplicate stations that require multiple visits. The model is designed for single-vehicle routing but can be used jointly with a clustering approach proposed in the literature for multi-vehicle routing. The model can solve to optimality 86.8\% of benchmark instances with 70 stations within two hours of computing time. On test cases derived from real process data, the model is more than two orders of magnitude faster than the reference model in the literature.
Article
Full-text available
Bike-sharing systems allow people to rent a bicycle at one of many automatic rental stations scattered around the city, use them for a short journey and return them at any station in the city. A crucial factor for the success of a bike-sharing system is its ability to meet the fluctuating demand for bicycles and for vacant lockers at each station. This is achieved by means of a repositioning operation, which consists of removing bicycles from some stations and transferring them to other stations, using a dedicated fleet of trucks. Operating such a fleet in a large bike-sharing system is an intricate problem consisting of decisions regarding the routes that the vehicles should follow and the number of bicycles that should be removed or placed at each station on each visit of the vehicles. In this paper, we present our modeling approach to the problem that generalizes existing routing models in the literature. This is done by introducing a unique convex objective function as well as time-related considerations. We present two mixed integer linear program formulations, discuss the assumptions associated with each, strengthen them by several valid inequalities and dominance rules, and compare their performances through an extensive numerical study. The results indicate that one of the formulations is very effective in obtaining high quality solutions to real life instances of the problem consisting of up to 104 stations and two vehicles. Finally, we draw insights on the characteristics of good solutions.
Article
This paper deals with a new problem that is a generalization of the many to many pickup and delivery problem and which is motivated by operating self-service bike sharing systems. There is only one commodity, initially distributed among the vertices of a graph, and a capacitated single vehicle aims to redistribute the commodity in order to reach a target distribution. Each vertex can be visited several times and also can be used as a buffer in which the commodity is stored for a later visit. This problem is NP-hard, since it contains several NP-hard problems as special cases (the TSP being maybe the most obvious one). Even finding a tractable exact formulation remains problematic.This paper presents efficient algorithms for solving instances of reasonable size, and contains several theoretical results related to these algorithms. A branch-and-cut algorithm is proposed for solving a relaxation of the problem. An upper bound of the optimal solution of the problem is obtained by a tabu search, which is based on some theoretical properties of the solution, once fixed the sequence of the visited vertices. The possibility of using the information provided by the relaxation receives a special attention, both from a theoretical and a practical point of view. It is proven that to build a feasible solution of the problem by using the one obtained by the relaxation is an NP-hard problem. Nevertheless, a tabu search initialized with the optimal solution of the relaxation often shows that it is the optimal one.The algorithms have been tested on a set of instances coming from the literature, proving their effectiveness.
Article
We present a variable neighborhood search approach for solving the one-commodity pickup-and-delivery travelling salesman problem. It is characterized by a set of customers such that each of the customers either supplies (pickup customers) or demands (delivery customers) a given amount of a single product, and by a vehicle, whose given capacity must not be exceeded, that starts at the depot and must visit each customer only once. The objective is to minimize the total length of the tour. Thus, the considered problem includes checking the existence of a feasible travelling salesman’s tour and designing the optimal travelling salesman’s tour, which are both NP-hard problems. We adapt a collection of neighborhood structures, k-opt, double-bridge and insertion operators mainly used for solving the classical travelling salesman problem. A binary indexed tree data structure is used, which enables efficient feasibility checking and updating of solutions in these neighborhoods. Our extensive computational analysis shows that the proposed variable neighborhood search based heuristics outperforms the best-known algorithms in terms of both the solution quality and computational efforts. Moreover, we improve the best-known solutions of all benchmark instances from the literature (with 200 to 500 customers). We are also able to solve instances with up to 1000 customers.
Article
A new variant of classical VRP, called 1-PDVRP, is introduced in this paper. It differs from the general VRP with pickup and delivery in that the commodity provided by the pickup customers is the same as that needed by delivery customers. We established the mathematical model for 1-PDVRP, and utilized genetic algorithm to solve it. In the proposed genetic algorithm, we implemented a pheromone-based crossover operator for this problem and the algorithm is tested on 100 randomly generated instances.
Article
This paper discusses the history of bike-sharing from the early 1st generation program to present day rd generation programs. Included are a detailed examination of models of provision, with benefits and detriments of each, and a description of capital and operating costs. The paper concludes with a look into the future through discussion about what a th generation bike-sharing program could be.