Next Article in Journal
Enhanced Semi-Supervised Medical Image Classification Based on Dynamic Sample Reweighting and Pseudo-Label Guided Contrastive Learning (DSRPGC)
Previous Article in Journal
A System of Tensor Equations over the Dual Split Quaternion Algebra with an Application
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Matheuristic Approach Based on Variable Neighborhood Search for the Static Repositioning Problem in Station-Based Bike-Sharing Systems

by
Julio Mario Daza-Escorcia
*,† and
David Álvarez-Martínez
Grupo PyLO Producción y Logística, Industrial Engineering Department, Universidad de los Andes, Cra. 1 No 18a–12 Edif. Mario Laserna Pinzón, Bogota 111711, Colombia
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2024, 12(22), 3573; https://doi.org/10.3390/math12223573
Submission received: 28 September 2024 / Revised: 12 November 2024 / Accepted: 13 November 2024 / Published: 15 November 2024

Abstract

:
In this paper, we study a novel static bike-sharing repositioning problem. There is a set of stations spread over a given area, each containing a number of operative bikes, damaged bikes, and free slots. The customers may pick up an operative bike from a station, use it, and return it to another station. Each station should have a target number of operative bikes to make it likely to meet customer demands. Furthermore, the damaged bikes should be removed from the stations. Given a fleet of available vehicles, the repositioning problem consists of designing the vehicles’ routes and calculating the number of operative (usable) and damaged (unusable) bikes that will be moved (loading instructions/loading policy) between stations and/or the depot. The objective is to minimize the weighted sum of the deviation from the target number of bikes for each station, the number of damaged bikes not removed, and the total time used by vehicles. To solve this problem, we propose a matheuristic based on a variable neighborhood search combined with several improving algorithms, including an integer linear programming model to optimize loading instructions. The algorithm was tested in instances based on real-world data and could find good solutions in reasonable computing times.

1. Introduction

public bike-sharing systems (PBSs) have become a sustainable mobility model that has attracted significant interest worldwide. These were first introduced in Amsterdam in 1965 [1], and the number of cities with PBSs has grown rapidly since then due to the reduction of the users’ environmental impact and the lower usage costs compared to other means of transportation. According to the consultancy PBSC Urban Solutions [2], as of August 2021, there were nearly 10 million shared bikes and 3000 bike-sharing systems worldwide.
There are two primary categories within PBSs. The first category is the station-based bike-sharing system (SBBS), allowing users to rent bicycles at fixed stations and return them to the same station or any other designated station after usage [1]. SBBSs were first introduced in Denmark in 1991 [3]. The second category is the free-floating bike-sharing systems (FFBSs), where bicycles can be conveniently picked up and returned anywhere according to the users’ preferences [4]. In these systems, there may be no fixed stations. The FFBSs were first introduced in China in 2016 [5]. This study focuses on the station-based bike-sharing system.
In the SBBS category, a user takes a bike from one fixed station, uses it, and returns it to another station from the system. Each station has a number of bike parking slots, some of which may be empty or occupied by operational or damaged bikes. During the day, some stations may not have operative bikes or free slots to park, preventing the correct service use. In order to avoid these situations, a fleet of vehicles is used to move bikes between the stations (and also the depot) to approximate the inventory levels of the stations to their desired (or target) levels. Finding good strategies for this process constitutes the so-called bike-sharing repositioning problem (BRP). An example of such a situation is shown in Figure 1.
According to DeMaio [3], a good system of repositioning (or redistribution) must be present in a successful bike-sharing program. Recently, some SBBSs used incentives that persuade the customers to move bikes in such a way as to reduce the imbalance of the stations (see, for example, Haider et al. [6]), although this strategy may have to be combined with the use of a fleet of trucks to balance the stations completely.
The BRP implies two main decisions: (1) Designing the routes that vehicles must follow to visit the stations from the depot. (2) Deciding the number of bikes to be picked up or delivered at each station. This is called the loading policy (or loading instructions).
Furthermore, there are two types of bike-sharing repositioning problems: The dynamic and static. In the first one, the redistribution is carried out while the users are using the system (e.g., during the day). Therefore, the inventory levels of the stations change continuously. In the dynamic case, the operation is linked to the redistributions conducted during peak system usage throughout the day, causing the stations’ demands to change during the redistribution period. In the second case, the operation is performed when the demand is low or the system is closed (e.g., at night). Hence, the state of the stations changes only as a result of the repositioning process. Both types of repositioning are evident in real-world scenarios. However, the predominant focus in the literature is on the static case, which is already acknowledged as a challenging problem. For instance, Chemla et al. [7] show that a simple variant of the static-BRP is NP-hard.

1.1. Main Contributions of the Paper

As shown in Figure 2. this study focuses on the static bike-sharing repositioning problem (s-BRP) variant in station-based bike-sharing systems (SBBSs).
This paper contributes significantly to the literature in the following ways:
  • Introducing a novel s-BRP in SBBSs, this paper considers operational and damaged bikes and multiple visits to the depot and stations. It utilizes a heterogeneous fleet to implement a joint repositioning strategy, enabling the simultaneous movement (pick-up and delivery) of operational (usable) and damaged (unusable) bikes between stations and the depot.
  • Designing a new arc flow formulation to model the novel static bike-sharing repositioning problem variant in the station-based bike-sharing systems proposed in this paper.
  • Proposing two innovative approaches to optimize the number of bikes to be moved for each visit (loading instructions). The first is a heuristic approach, where we design two heuristic methods to compute the loading policy given the sequence of visits. Additionally, a second mathematical programming-based approach is proposed, in which we formulate the problem of finding the optimal loading instructions as an integer linear programming (ILP) model.
  • Presenting an effective matheuristic based on a variable neighborhood search combined with several improving and perturbation algorithms, including an integer linear programming model to optimize loading policy.
The proposed matheuristic approach addresses the pressing operational challenges in public bike-sharing systems (PBSs); for instance, in the Bogotá bike-sharing system (Colombia), which serves a city of over 15 million residents with approximately 300 stations, 3450 bikes, and 40,000 weekly trips. Despite its popularity, the system faces significant logistical issues as up to 47% of bikes can be reported damaged daily, creating bottlenecks for users and operators. This situation is further complicated by the system’s limited repair infrastructure, consisting of only one maintenance shop, making efficient repositioning and timely maintenance crucial. The novel algorithmic solution proposed in this study introduces a targeted and adaptable approach to optimizing the static bike-sharing repositioning problem within station-based bike-sharing systems, demonstrating high practicality and the potential for widespread applicability across similar urban systems in Latin America and globally.

1.2. The Outline of the Paper

The remainder of the paper is organized as follows: Section 2 provides the state of the art literature review. Section 3 describes the research problem and arc flow formulation proposed. Section 4 presents a constructive heuristic approach designed to build the initial solution. Section 5 describes two procedures to optimize loading instructions: one heuristic approach and one mathematical formulation-based approach. Section 6 provides the general scheme of the proposed matheuristic algorithm and several improvement moves and perturbation mechanisms. In Section 7, we introduce the set of instances based on the real-world data used in this study and report the results of our computational evaluation. Finally, the conclusions are presented in Section 8.

2. Literature Review

The rapid growth of PBSs worldwide has attracted scholars’ attention in the past decade. Consequently, a substantial number of studies addressing various variants of the BRP have been published in recent years. This paper mainly reviews the characteristics of the s-BRP, its objectives, and the optimization methods used to resolve it.

2.1. Problem Characteristics

Below, we present the characteristics of the problems studied in the literature regarding vehicle fleet, number of visits to stations, s-BRP subtypes, and types of bikes to reposition.

2.1.1. Fleet of Vehicles

The literature encompasses works that explore either homogeneous or heterogeneous fleets of vehicles. The studies employing a homogeneous fleet include those by Dell’Amico et al. [8,9], Ho and Szeto [10], Kloimüllner and Raidl [11], and others. On the other hand, works addressing a heterogeneous fleet can be found in papers by Alvarez-Valdes et al. [1], Rainer-Harbach et al. [12,13], Raviv et al. [14], Wang and Szeto [15], among others. The majority of these studies opt for a heterogeneous fleet of vehicles. The problem’s complexity is greater when a heterogeneous fleet is incorporated, which leads to a more realistic variant. Our problem considers a heterogeneous fleet.

2.1.2. Multiple Visits to the Stations

This characteristic is present in the works by Alvarez-Valdes et al. [1], Kloimüllner and Raidl [11], Rainer-Harbach et al. [12,13], Raviv et al. [14], Wang and Szeto [15], Casazza [16], Di Gaspero et al. [17,18,19], Espegren et al. [20], Forma et al. [21], Papazek et al. [22,23], Raidl et al. [24], Schuijbroek et al. [25]. Multiple visits to the stations are allowed in two different ways: (1) when a station can be visited by several vehicles but cannot be visited several times by the same vehicle (similarly to the split delivery vehicle routing problem), and (2) when the stations can be visited several times by the same or different vehicles. In this paper, we consider this last possibility. Note that when the deviation between the desired (or target) inventory level and the initial one is larger than the vehicle capacity, multiple visits to stations and the depot are necessary.

2.1.3. Subtypes of the s-BRP

The subtype of the static bike-sharing repositioning problem (s-BRP) could be with repositioning Complete or Partial. In the repositioning Complete, operators are required to precisely achieve the target inventory level at all stations (see Dell’Amico et al. [8,9], Wang and Szeto [15], Sorensen and Vergeylen [26], Lahoorpoor et al. [27], Zhang et al. [28]).
In cases where the available repositioning duration or the number of rebalancing trucks is insufficient, partial target inventory levels are met at some or all stations, leading to what is known as repositioning Partial (see Alvarez-Valdes et al. [1], Ho and Szeto [10], Kloimüllner and Raidl [11], Rainer-Harbach et al. [12,13], Raviv et al. [14], Di Gaspero et al. [17,18,19], Espegren et al. [20], Forma et al. [21], Papazek et al. [22,23], Raidl et al. [24], Schuijbroek et al. [25], Kinable [29], Kloimüllner et al. [30], Li et al. [31], Tang et al. [32], Lv et al. [33].
In many PBSs, it may be unrealistic to require that all the stations receive their target levels because sometimes it is impossible (the number of available bikes is not enough to meet the demand) or simply too expensive (in terms of labor, time, or fuel costs). In this paper, we consider a more general problem where obtaining perfectly balanced stations is an objective rather than a requirement. This feature considerably increases the solution space. This approach can be called a static partial bike-sharing repositioning problem (sp-BRP).

2.1.4. Types of Bikes

Concerning the types of bikes, most of the works deal with only one type of bike. Alvarez-Valdes et al. [1], Wang and Szeto [15] contemplate the possibility that some of the bikes are damaged (unusable), so it is advisable to remove them from the stations. On the other hand, Li et al. [31] considers different types of bikes, but they do not deal with the possibility of having damaged bikes. Finally, we find the work of Du et al. [34], which contemplates the possibility of collecting damaged bicycles, but in free-floating bike-sharing systems (FFBSs).
According to Kaspi et al. [35,36], the most critical component of the operating costs in the PBS, apart from the repositioning, is maintenance, which includes the detection of damaged bikes and their collection to be repaired. These processes are critical because the damaged bikes, undetected and not collected to be repaired, appear in the information systems as available ones. This situation may adversely affect the user’s route choices and service level. Studies like Castro Fernandez [37] on the Barcelona bike-sharing system show that 67% of all its bikes had some defect affecting their normal usage. Furthermore, DeMaio and Meddin [38] indicate that nearly 2000 bikes required daily maintenance in the Hangzhou bike-sharing system. For these reasons, these processes have recently received substantial attention in the literature. For example, Kaspi et al. [35] and Kaspi et al. [36] study the detection and analysis of damaged bikes, respectively, while the work of Alvarez-Valdes et al. [1], Wang and Szeto [15], Du et al. [34], and this paper, consider the collection of damaged (unusable) bikes.

2.2. Objectives

In addition to the previously analyzed characteristics, the objectives considered in the literature of the static bike-sharing repositioning problem vary widely. Usually, the studies aim to minimize one or various performance measures, including the total travel cost (Dell’Amico et al. [8,9], Casazza [16], Kinable [29], Benchimol et al. [39], Erdoğan et al. [40]), the total travel distance (Chemla et al. [7], Cruz et al. [41]), the weighted sum of total absolute deviation from the target number of bikes and total travel time (Di Gaspero et al. [18]), the total travel and handling cost (Erdoğan et al. [42]), the weighted sum of total unmet demand (Sorensen and Vergeylen [26]), the makespan of the rebalancing fleet (Pal and Zhang [4]), the weighted sum of the deviation over all stations, the travel time for each vehicle, and service or loading instructions for each station (Rainer-Harbach et al. [12,13], Papazek et al. [22,23], Raidl et al. [24]), among other things.
In this paper, we minimize the weighted sum of three terms. The first two terms represent the total unbalance of the bikes usable in the stations and the number of damaged (unusable) bikes not picked up. The third term is the total time used by all the vehicles divided by an upper bound. Thus, we consider a hierarchical objective: the first objective is to minimize the dissatisfaction (in terms of unbalanced and damaged bikes not removed), and the second is to minimize the total repositioning time.

2.3. Optimization Methods

Most of the methods of solution for the static bike-sharing repositioning problem (s-BRP) are heuristics. Among them we find: ant colony optimization (Di Gaspero et al. [17]), genetic algorithm (Lahoorpoor et al. [27], Du et al. [34], Kadri et al. [43]), greedy randomized adaptive search procedure (Rainer-Harbach et al. [13], Papazek et al. [22,23]), large neighborhood search (Pal and Zhang [4], Ho and Szeto [10], Di Gaspero et al. [18,19]), iterated local search (Tang et al. [32], Cruz et al. [41]), variable neighborhood descent (Pal and Zhang [4], Rainer-Harbach et al. [12,13], Papazek et al. [22,23], Zhang et al. [28], Cruz et al. [41]), variable neighborhood search (Rainer-Harbach et al. [12,13], Raidl et al. [24], Lv et al. [33]), particle swarm optimization (Zhang et al. [28]), Tabu search (Chemla et al. [7]), among other things.
This paper proposes a matheuristic based on the general variable neighborhood search first proposed by Mladenović and Hansen [44,45]. The algorithm combines the variable neighborhood search metaheuristic with several improving and perturbation algorithms, including two procedures to optimize the number of bikes to move for each visit: one heuristic approach, and one mathematical formulation-based.

2.4. Summary

As is evident from the above review, it can be concluded that numerous studies have been carried out on the bike-sharing repositioning problem (BRP). However, as for the repositioning considering the collection of damaged (unusable) bikes, to the best of our knowledge, there is little research that, in addition to this feature, includes a heterogeneous fleet and multiple visits to stations and the depot in the station-based bike-sharing system (SBBS), carrying out a repositioning Partial (sp-BRP).
This paper introduces a novel static bike-sharing repositioning problem (s-BRP) in SBBSs, considering operational (usable) and damaged (unusable) bikes and multiple visits to the depot and stations. It utilizes a heterogeneous fleet to implement a joint repositioning strategy, enabling the simultaneous movement (pick-up or delivery) of operational and damaged bikes between stations and/or the depot. The objective of our problem is to minimize the weighted sum of the deviation from the target number of bikes usable for each station, the number of damaged bikes not removed, and the total time used by vehicles. To solve this problem, we propose a matheuristic approach based on variable neighborhood search, combined with several improvement and perturbation algorithms, including an integer linear programming model to optimize the number of bikes to move for each visit.
From a practical standpoint, this matheuristic approach adapts seamlessly to dynamic scenarios, positioning it as a versatile tool for operational planning in public bike-sharing systems (PBSs). By encompassing both operational and damaged bikes within its scope, the proposed approach provides a realistic framework that better aligns than existing models with the dynamic needs of urban PBSs. Additionally, our study provides a robust algorithmic foundation for future work in the BRP field, with implications for developing adaptable, real-time solutions in cities where PBSs must contend with rapidly fluctuating conditions and resource constraints. This work, therefore, stands as a significant contribution to the optimization of PBS logistics, with insights applicable across urban contexts.

3. Problem Research

The novel static bike-sharing repositioning problem (s-BRP) that we consider in this paper is described by a set of stations, a depot, and a heterogeneous fleet of vehicles. For each station, the current and desired number of operative bikes and the number of damaged bikes are known. The problem is to design the routes of the vehicles and the number of both operative and damaged bikes to be moved at each station and the depot to minimize the sum of the final imbalance of the stations and the damaged bikes that have not been taken to the depot. As a secondary objective, the total time of the routes is minimized. Routes have to satisfy vehicle capacity and maximum time constraints. Both the stations and the depot can be visited multiple times.
The s-BRP proposed is defined by a complete and directed graph G 0 = ( V 0 , A 0 ) whose node-set, V 0 = { 0 , n } , represents the bike stations and the depot (node 0) and whose arcs are associated with the best feasible paths that can be traveled by the repositioning vehicles between stations and the depot. The time needed to travel along arc ( i , j ) A 0 is denoted by t i j 0 .
The following sections detail the characteristics of the nodes set, vehicle fleet, routes, proposed function objective, and the notation to represent a feasible solution.

3.1. Characteristics for Stations and the Depot

The stations may contain operative (or usable) bikes and damaged (or unusable) bikes. Throughout the paper, operative bikes and damaged bikes are abbreviated as o-bikes and d-bikes, respectively. It is assumed that the depot has an unlimited capacity to store bikes and that p 0 0 o-bikes are available at the depot initially. For simplicity, the time for loading/unloading operations is not considered. We denote the set of stations as V = V 0 { 0 } . For each station v V , we have:
  • c v > 0 , the number of lockers available to store bikes (capacity).
  • q v 0 , the desired (or target) number of o-bikes at the station.
  • p v 0 , the initial number of o-bikes at the station.
  • a v 0 , the initial number of d-bikes at the station.
  • w v > 0 , the station priority.
We denote the initial imbalance of station v as d v , that is, d v = p v q v , and say that v is a deficit station if d v < 0 , a surplus station if d v > 0 , and a balanced station if d v = 0 . We denote the sets of deficit, surplus, and balanced stations as V d e f , V s p l , and V b a l , respectively. We also denote the set of stations with at least one d-bike as V d a m .
We call conflicted station to a deficit station for which a v + q v > c v . Note that for these stations, it is necessary to pick up some d-bikes before delivering the number of o-bikes that are necessary to balance the station. The set of conflicted stations is denoted as V c o n f .

3.2. Characteristics for Vehicles and Routes

The repositioning is carried out by set vehicles L with the following characteristics:
  • The vehicles can transport both o-bikes and d-bikes.
  • The total vehicle capacity l L is denoted by k l > 0 .
  • Each vehicle route must start and end at the depot, and the route’s total time cannot exceed T, which represents the maximum time available to carry out the repositioning.
  • It is not necessary to specify at which time the stations are visited by the vehicles.
  • In each visit to a station, the vehicle can load/unload o-bikes and load d-bikes.
  • The vehicle can also visit the depot several times, and on each visit, it can load/unload o-bikes and unload d-bikes.
  • Any station can be visited several times by the same or different vehicles during the repositioning.
  • The vehicles can only load o-bikes at a surplus station and unload o-bikes at a deficit station, so the stations cannot be used to store bikes temporarily. Similarly, the d-bikes can only be loaded at the stations and unloaded at the depot.
It is also assumed that a conflicted station is visited by only one vehicle (although it can be visited several times). Without this assumption, we could obtain a solution where, for example, vehicle A picks up some d-bikes from a conflicted station u and vehicle B delivers some o-bikes in it. Therefore, given that we do not specify at which time the stations are visited by the vehicles when such a solution was implemented in reality, it could happen that vehicle B visited u before the d-bikes are picked up, so there would not be enough free slots to unload the o-bikes (recall that a u + q u > c u ).

3.3. Function Objective Proposed

Let p ^ v and a ^ v be the number of o-bikes and d-bikes, respectively, at station v V after the repositioning process, and let t l be the time used by vehicle l L in the repositioning. The objective of our problem is to minimize the following function:
γ d v V w v | q v p ^ v | + γ a v V w v a ^ v + γ t l L t l T | L |
The first two terms of the objective function represent the total imbalance of o-bikes at the stations and the number of d-bikes not removed from them, respectively. The third term is the total time used by all the vehicles divided by T | L | , so it is always less than or equal to one. γ d , γ a , and γ t are scaling factors controlling the relative importance of the respective terms. Thus, we consider a hierarchical objective, where the primary objective minimizes the dissatisfaction and the secondary objective minimizes the total repositioning time.
The gamma parameters would yield alternative solutions depending on the relative weighting of these three terms. However, such variations would shift the focus of the study toward determining which factor is more critical, an issue outside the scope of our current research. The intent here is to provide a flexible, adaptable framework that organizations can customize by adjusting the importance of each term according to their unique strategic needs without altering the core objective function, allowing implementing organizations to prioritize terms based on their strategic goals without requiring modifications to the objective function. In other words, this prioritization is inherently contextual and best left to the implementing organization, as different operational environments may value these terms differently.

3.4. Notation for Feasible Solutions

A feasible solution for our s-BRP consists of a set of routes, one for each vehicle, and a set of loading instructions (or loading policy) that specifies the number of bikes to be loaded or unloaded in each visit to the stations and the depot.
Unless otherwise stated, we will denote the route of the vehicle l as r l = { v 1 l , , v n l l } , where n l denotes the number of visits on route l, v i l V 0 , i = 1 , , n l is the depot or station visited in i-th place, and v 1 l = v n l l = 0 is the visits to the depot. The loading instructions for the vehicle l are denoted as ( x l , y l ) = { ( x 1 l , y 1 l ) , , ( x n l l , y n l l ) } , where, for each i = 1 , n l :
  • x i l is the number of o-bikes loaded (if x i l 0 ) or unloaded (if x i l < 0 ) at v i l , and
  • y i l is the number of d-bikes loaded (if y i l 0 ) or unloaded (if y i l < 0 ) at v i l

3.5. Arc Flow Formulation

3.5.1. Elements to Configure Graph

To formulate the s-BRP presented in Section 3, we construct a new non-complete directed graph G = ( V , A ) , where V are the node sets representing the stations and the depot, and A are the arcs representing the shortest paths between each pair of nodes. Each arc ( u , v ) A has a cost t ( u , v ) representing the travel time between u and v. To reposition, we have a homogeneous fleet of vehicles | L | with capacity Q and a route time no longer than T. The elements for nodes V and arcs A are detailed below:
  • The nodes set V is formed by:
    (i)
    A nodes set V 1 containing | d v | copies of each v V s p l V d e f , each with demand 1 if v V s p l or 1 if v V d e f .
    (ii)
    A nodes set V 2 containing a v copies of each v V d a m , each with demand 1.
    (iii)
    A nodes set V 3 containing N copies of the depot, for potential intermediate visits of all vehicles.
    (iv)
    Two nodes, i n i and f i n , copies of the depot, acting as source and sink, respectively.
  • The set of arcs A is formed by:
    (i)
    A set of arcs A 1 formed by the arcs ( u , v ) for all u , v V 1 V 2 .
    (ii)
    A set of arcs A 2 formed by the arcs ( i n i , v ) for all v V 1 V 2 .
    (iii)
    A set of arcs A 3 formed by the arcs ( v , f i n ) for all v V 1 V 2 .
    (iv)
    A set of arcs A 4 formed by the arcs ( u , v ) for all u V 3 and v V 1 V 2 or for all v V 3 and u V 1 V 2 .
    (v)
    An arc ( i n i , f i n ) .
In addition to the usual notation for directed graphs (such as δ + ( S ) o δ ( S ) ), we need the following notation:
  • Given i V , π ( i ) denotes the nodes v V { 0 } of which it is a copy.
  • Given a = ( u , v ) A , t a denotes the travel time t ( π ( u ) , π ( v ) ) if π ( u ) π ( v ) and 0 otherwise.

3.5.2. Assumptions

  • The fleet of vehicles can make at most N intermediate visits to the depot. At each of these visits, o-bikes and/or d-bikes can be dropped off, but only o-bikes can be taken from the initial depot inventory.
  • For the moment, that there are no conflicting stations.

3.5.3. Decision Variables

  • x a : 1 if any vehicle uses the arc a A { ( i n i , f i n ) } , 0 otherwise.
  • x i n i , f i n : number of vehicles not used.
  • y a : number of o-bikes in the vehicle that crosses the arc a A { ( i n i , f i n ) } .
  • z a : number of d-bikes in the vehicle that crosses the arc a A { ( i n i , f i n ) } .
  • f a : cumulative time of the route through the arc a A { ( i n i , f i n ) } .
  • w i : number of o-bikes picked up in the intermediate visit to the depot i.
  • h i : number of o-bikes delivered in the intermediate visit to the depot i.

3.5.4. Mathematical Model

Our problem can be modeled as:
Min γ d v V s p l d v i V 1 : π ( i ) = v a δ ( i ) x a + γ d v V d e f d v i V 1 : π ( i ) = v a δ ( i ) x a + γ a v V d a m a v i V 2 : π ( i ) = v a δ ( i ) x a + γ t T | L | a δ ( f i n ) f a
s.t.:
a δ ( i ) x a = a δ + ( i ) x a i V { i n i , f i n }
a δ ( i ) x a 1 i V { i n i , f i n }
a δ + ( i n i ) x a = | L |
a δ ( f i n ) x a = | L |
a δ + ( i ) y a a δ ( i ) y a = a δ + ( i ) x a i V 1 : π ( i ) = v V s p l
a δ + ( i ) y a a δ ( i ) y a = a δ + ( i ) x a i V 1 : π ( i ) = v V d e f
a δ + ( i ) y a a δ ( i ) y a = 0 i V 2
a δ + ( i ) y a a δ ( i ) y a = w i h i i V 3
a δ + ( i ) z a a δ ( i ) z a = 0 i V 1
a δ + ( i ) z a a δ ( i ) z a = a δ + ( i ) x a i V 2
a δ + ( i ) { ( i n i , f i n ) } z a = 0 i V 3 { i n i }
a δ + ( i ) f a a δ ( i ) f a = a δ + ( i ) t a x a i V { i n i , f i n }
f a = t a x a a δ + ( i n i ) { ( i n i , f i n ) }
f a T x a a δ ( f i n ) { ( i n i , f i n ) }
f a T x a a A ( δ + ( i n i ) δ ( f i n ) )
y a + z a Q x a a A { ( i n i , f i n ) }
a δ + ( i n i ) y a + i V 3 w i p 0
0 x a | L | a n d i n t e g e r a = ( i n i , f i n )
w i , h i 0 a n d i n t e g e r i V 3
f a 0 a A
x a { 0 , 1 } a A { ( i n i , f i n ) }
y a , z a 0 a n d i n t e g e r a A { ( i n i , f i n ) }
The objective function (2) minimizes the total imbalance of o-bikes at the stations, the number of d-bikes not removed from them, and the total time used by all the vehicles divided by T | L | . The scaling factors γ d , γ a , and γ t control the relative importance of the respective terms. The flow constraint (3) ensures that the amount of flow entering a node is equal to the amount of flow leaving it, except for the source and destination nodes. The constraint (4) ensures that a node i V { i n i , f i n } can have a maximum of one visit. Constraints (5) and (6) ensure that the number of vehicles leaving node i n i and arriving at node f i n are equal | L | . Constraints (7)–(10) control the amount of o-bikes on the vehicle at each visit to a surplus, deficit, damage station or the depot, respectively. Constraints (11)–(13) control the amount of d-bikes in the vehicle at each visit to a node belonging to the sets V 1 , V 2 , and V 3 { i n i }, respectively. Constraints (14)–(17) determine the cumulative time on the route and constrain that the maximum repositioning time T is not exceeded. Constraint (18) ensures the vehicle’s capacity is met. Constraint (19) limits the number of bikes picked up and delivered to the depot. Finally, constraints (20)–(24) define the domain of the variables.

4. Construction of the Initial Solution

4.1. General Schema

To build an initial solution for our s-BRP, we developed a multi-start heuristic called randomized constructive heuristic (RCH). This multi-start procedure is based on the heuristics presented by Rainer-Harbach et al. [13] and Daza-Escorcia and Alvarez-Martinez [46], and it has been adapted to solve the research problem proposed in Section 3.
This heuristic sequentially builds a route for each vehicle. The routes are created by iteratively inserting a new node at the end of the partial route following a greedy strategy. From the last visit u of a partial route (or initially, the depot), we first determine the set F V 0 of feasible successors, and, for each candidate v F , we compute a ratio between the maximum number of bikes to be moved at the node v and the time t u v . Among the candidates with the largest ratio value, one is chosen to be inserted as the next visit of the current route. See Algorithm 1.
Algorithm 1 RCH
Input: Problem Instance I
Input: Parameter M a x I t e r / / Max. number of iterations
 1:
I t e r a t i o n 1 , S / / Variable initialization
 2:
repeat
 3:
    S / / Initialization of a feasible solution
 4:
   for all lL do
 5:
      u 1 , F / / First stop
 6:
     Initialize the route with r l ( u ) and Loading Instructions ( x l ( u ) , y l ( u ) )
 7:
     Define the set of candidate nodes F V 0 to visit from u
 8:
     while  | F |  do
 9:
         Calculate the ratios ρ v of each candidate v F
10:
         Select randomly v among the highest ratios: ϵ × ρ m a x ρ v ρ m a x
11:
         u u + 1 / / Next stop
12:
         Insert the node v in the visit r l ( u )
13:
         Define Loading Instructions ( x l ( u ) , y l ( u ) ) on the node v
14:
         Define the set of new candidate nodes F V 0 to visit from u
15:
      end while
16:
       Close the route r l visiting the depot and delivery all the bikes
17:
       S [ r l ; ( x l , y l ) ]    //Update the Route and Loading Instructions
18:
   end for
19:
   if  S is better than S  then
20:
        S S
21:
   else
22:
        I t e r a t i o n I t e r a t i o n + 1
23:
   end if
24:
until I t e r a t i o n = M a x I t e r
   Return a feasible solution S
The following sections detail the steps developed in the RCH.

4.2. Updating States

We have built a partial solution at each algorithm stage that includes station visits and loading/unloading operations on them. Let us suppose that the route being constructed is l, and u is the last node inserted in this partial route. As a result of the partial solution so far constructed, the states of the depot and the stations have changed.

4.2.1. States for Stations and the Depot

For each station v u , let us denote as d ¯ v and a ¯ v , respectively, the imbalance and the number of d-bikes according to the partial solution built, and p ¯ 0 l the remaining number of o-bikes at the depot that can be taken by vehicle l (that is, they have not been left by another vehicle). We denote as
  • V ¯ d e f = { v V : d ¯ v < 0 } the set of deficit station,
  • V ¯ s p l = { v V : d ¯ v > 0 } the set of surplus station,
  • V ¯ b a l = { v V : d ¯ v = 0 } the set of balanced station, and
  • V ¯ d a m = { v V : a ¯ v > 0 } the set of stations with at least one d-bike.

4.2.2. States for the Vehicles

We denote as p ¯ l and a ¯ l , respectively, the number of o-bikes and d-bikes on the vehicle l after visiting u and let t ¯ l be the partial traveling time of route l. Additionally, we denote as k ¯ l the minimum number of free lockers in the vehicle in the section of the current route from the last visit to the depot to node u.

4.3. Selection of Successors

The election of the next visit on route l is as follows. Firstly, a set of potential candidates F is built. This set initialized with all the nodes v V ¯ d e f V ¯ s p l V ¯ d a m , v u , such that t ¯ l + t u v + t v 0 T , that is, those nodes not balanced or with d-bikes that could be inserted after u in the current route without exceeding the time limit T (considering also the time needed to return to the depot). The depot is added to F if u 0 and a ¯ l > 0 . Finally, the conflicted stations that have been visited by other vehicles in the current partial solution are removed from F. For each potential candidate v F , v 0 , we compute the maximum number of o-bikes β v and d-bikes α v we can move if v is inserted after node u in the current route. These quantities are computed as
β v = min { k l p ¯ l a ¯ l , d ¯ v } v F V ¯ s p l V ¯ b a l m i n { p ¯ l + min { p ¯ 0 l , k ¯ l } , | d ¯ v | } v F V ¯ d e f
α v = min { k l p ¯ l a ¯ l β v , a ¯ v } v F V ¯ s p l V ¯ b a l min { k l p ¯ l a ¯ l + β v , a ¯ v } v F V ¯ d e f
Note that in the case where v V ¯ d e f with | d ¯ v | > p ¯ l , we could consider to have taken more o-bikes from the depot if p ¯ 0 l > 0 . To carry this out, we also have to check if there is enough capacity in the vehicle to carry them from the depot to v, which is represented by k ¯ l . This is the reason to consider min { p ¯ l + min { p ¯ 0 l , k ¯ l } , | d ¯ v | } in (25). Finally, if v = 0 , we assume that the d-bikes that are on the vehicle a ¯ l would be unloaded in the depot. The final candidate set of successors of u in the route is obtained by the removal of F from those stations v with β v + α v = 0 . If F = , we close the route by adding a visit to the depot and unloading all the bikes on the vehicle. Otherwise, for each v F we compute a ratio ρ v as follows:
ρ v = ( α v + β v ) θ t u v κ v v F V a ¯ l t u 0 μ v = 0 F
where θ ( 0 , 1 ] , μ , and κ v are parameters that are used to tune the algorithm. A value θ < 1 is used to prevent selecting stations with a large number of bikes to be moved, but that are far away from u, against stations that are closer to u although the number of bikes to be moved is not so large. Furthermore, if μ > 1 , then the visits to the depot are promoted. Finally, parameters κ v are used to promote the visits to conflicted stations; thus, we set κ v = 1 for v F V c o n f and κ v = κ , with κ > 1 , for v F V c o n f .
In a deterministic scheme, we would choose as the next visit in the route the candidate v such that ρ v = ρ m a x = m a x { ρ v : v F } . However, we have embedded the algorithm into an aleatorized multi-start scheme that executes the construction of the solution a number of times equal to M a x I t e r and outputs the best solution generated. In this algorithm the next node v is randomly selected among the candidates with highest values of ratio ρ v . Specifically, let ϵ be a random number in ( 0 , 1 ) , then v is randomly selected among the candidates v F such that ϵ × ρ m a x ρ v ρ m a x .
Once the node v has been selected for the next visit, the number of o-bikes and d-bikes to be moved at the station or the depot is given by β v and α v , respectively. In the case where | d ¯ v | > p ¯ l and min { p ¯ 0 l , k ¯ l } > 0 , β v p ¯ l additional o-bikes are taken in the last visit to the depot, and the values of k ¯ l and p ¯ 0 l are consequently updated.

5. Approaches for Optimizing Loading Instructions

Given a feasible solution provided by the randomized constructive heuristic described above, we apply a variable neighborhood search (VNS) method to improve it. This method is based, among other things, on minor modifications (usually called moves) that slightly change a given solution. The classical moves used in vehicle routing problems involve modifying the sequence of visits in the routes to produce new sequences of visits. In basic routing problems, it is straightforward to evaluate the cost of the move as the increment in distance or time.
In our problem, the most important part of the objective is to minimize the total imbalance of the stations and the number of d-bikes transported to the depot. Therefore, we need to determine the best loading instructions for the new sequence to evaluate the cost of the move. This is not an easy task because a little modification in the sequence (for example, just removing one visit) may change the loading policy of many of the remaining visits. In order to evaluate many moves in a reasonable time, we need a method to compute the loading instructions of the new sequence quickly. To solve this, we propose two approaches. The first is a heuristic approach, where we design two heuristic methods to compute the loading policy given the sequence of visits. Additionally, a second mathematical programming-based approach is proposed, in which we formulate the problem of finding the optimal loading instructions as an integer linear programming model. In the following sections, we detail the two proposed approaches.

5.1. Heuristic Approach

We have designed two heuristics that are based on the same idea; a global heuristic, named g-LH, that computes the loading policy of all the vehicles, and a heuristic that computes the loading instructions of only one vehicle, assuming that the loading instructions of the other vehicles are known. This last heuristic will be called sv-LH.

5.1.1. Single-Vehicle Loading Heuristic: sv-LH

  • Notations and General Definitions
Let l be the vehicle for which we want to compute the loading instructions, assuming that it is a known sequence of visits (or route). Additionally, assume that the other vehicles’ routes and loading instructions are known.
In this section, p ¯ v and a ¯ v denote the number of o-bikes and d-bikes, respectively, that would be in station v, assuming that the routes and the loading instructions of all the vehicles different from l are performed, and let p ¯ 0 l be the number of o-bikes in the depot that have not been used by the other vehicles. In other words, the numbers p ¯ v , a ¯ v , and p ¯ 0 l represent the residual state of each station and the depot after the operations (pickup/delivery) for a route (or section of the route). We define the station imbalance as d ¯ v = p ¯ v q v . Furthermore, z i l and w i l denote the number of o-bikes and d-bikes, respectively, that are on the vehicle after the visit i.
We call intermediate visits to those visits to the depot different from the first and last ones. In the case that the route of the vehicle makes intermediate visits to the depot, we split the route into sections in such a way that each section starts and ends at the depot but does not have any intermediate visits to it. Let us assume that the current section contains the visits from i 1 to i s , so r l ( i 1 ) = r l ( i s ) = 0 , i.e., the depot.
  • General Scheme
In the single-vehicle loading heuristic (sv-LH), we first compute the loading policy of all the sections, and then they are merged to obtain the loading instructions for the whole route. Once we compute the loading instructions for the first section, the computation for the second section assumes that the operations designed for the first section have been carried out, and so on. The sv-LH consists of two steps. In Step I, the visits to the stations are considered consecutively, and at each station, the load/unload instruction tries to achieve the greatest possible balance, taking into account the number of bikes on the vehicle before the visit and its capacity. In Step II, the sequence of visits is traversed backward from the last visit, and the number of d-bikes to load at each station is decided so that the vehicle’s capacity is not exceeded. Finally, all the loaded bikes are unloaded into the depot on the last visit of the section. The Algorithm 2 shows a detailed pseudo-code for sv-LH.
Algorithm 2 sv-LH
Input: Solution S
 1:
// Step I
 2:
m i n r e s k l ; x i 1 l , y i 1 l , z i 1 l , w i 1 l 0 , p ¯ 0 p ¯ 0 l
 3:
for  i : = i 1 + 1   to  i s 1   do
 4:
   if  d ¯ r l ( i ) 0  then
 5:
        x i l m i n { d ¯ r l ( i ) , k l z i 1 l w i 1 l }
 6:
        z i l z i 1 l + x i l ; w i l w i 1 l
 7:
        p ¯ r l ( i ) p ¯ r l ( i ) x i l
 8:
        m i n r e s m i n { m i n r e s , k l z i l w i l }
 9:
   end if
10:
   if  d ¯ r l ( i ) < 0  then
11:
        x i l d ¯ r l ( i )
12:
        z i l z i 1 l + x i l ; w i l w i 1 l
13:
       if  z i l < 0  then
14:
            Δ m i n { z i l , p ¯ 0 l , m i n r e s }
15:
            x i l x i l Δ z i l ; z i l 0
16:
            m i n r e s m i n r e s Δ
17:
            p ¯ r l ( i ) p ¯ r l ( i ) x i l
18:
            x i 1 l x i 1 l + Δ
19:
            p ¯ 0 l p ¯ 0 l Δ
20:
           for  j : = i 1 to i 1  do
21:
               z j l z j l + Δ
22:
           end for
23:
       end if
24:
        Λ c r l ( i ) p ¯ r l ( i ) a ¯ r l ( i )
25:
       if  Λ < 0  then
26:
            y i l Λ ; w i l w i l Λ ; a ¯ r l ( i ) a ¯ r l ( i ) + Λ
27:
       end if
28:
    end if
29:
end for
30:
// Step II
31:
m i n r e s ; i i s 1
32:
while  m i n r e s > 0 AND i > i 1  do
33:
     m i n r e s m i n { m i n r e s , k l z i l w i l }
34:
    if  a ¯ r l ( i ) > 0  then
35:
         Γ min { a ¯ r l ( i ) , m i n r e s }
36:
         y i l y i l + Γ
37:
         a ¯ r l ( i ) a ¯ r l ( i ) Γ
38:
         m i n r e s m i n r e s Γ
39:
        for  j : = i to i s 1  do
40:
             w j l w j l + Γ
41:
        end for
42:
     end if
43:
      i i 1
44:
end while
45:
x i s l z i s 1 ; y i s l w i s 1 ; p ¯ 0 l p ¯ 0 l + z i s 1
   Return Solution S with loading policy improved.
  • Detailed Procedural Outline
Step I: Algorithm 2 for the single-vehicle loading heuristic (sv-LH) starts with the definition of variables (line 2) described in section Notations and General Definitions. Then, for each visit on the route sections (lines 3 to 29), we proceed to calculate the load instructions, trying to reach the maximum possible balance in the visited stations. In this step, we do not pick up d-bikes; we only pick up and/or drop off o-bikes at the corresponding stations.
If the next visited r l ( i ) is in surplus station (lines d ¯ r l ( i ) 0 (lines 4 to 9), then we proceed to pick up the o-bikes that the available space of the truck allows (line 5), then we update the bikes carried by the truck (line 6), the number of o-bikes at the visited station d ¯ r l ( i ) (line 7) and the minimum residual capacity of the truck (line 8).
If the next visited r l ( i ) is in deficit station d ¯ r l ( i ) < 0 (lines 10 to 28), then we proceed to deliver o-bikes (line 11) and update the bikes carried by the truck (line 12). Initially, it is assumed that the vehicle leaves the depot empty. However, suppose it visits a deficit station, and the number of o-bikes that are on the vehicle is less than the number of bikes needed to balance that station ( d ¯ r l ( i ) ) (lines 13 to 23). In that case, the possibility of loading a larger number of o-bikes from the depot is considered, provided that the capacity of the vehicle is not exceeded in its path from the depot to r l ( i ) (line 14). Then, we update the amount of delivered o-bikes and the bikes carried by the truck (line 15), the minimum residual capacity of the truck (line 16), the number of o-bikes at the station and the depot (lines 17 to 19). Finally, update the bikes carried by the truck for each of the previous visits up to the current one (lines 20 to 22). Finally, in the case of conflicted stations, the algorithm loads the necessary number of d-bikes to unload the decided number of o-bikes (lines 24 to 27).
Step II: This second step aims to collect the d-bikes from the stations as long as the truck has enough space (lines 31 to 44). Initially, we define the minimum residual capacity of the truck (line 31), which we use to visit the stations with d-bikes (line 34). Then, we determine the number of d-bikes to be loaded on the truck (lines 35 and 36), update the number of d-bikes left in the station (line 37) and the minimum residual capacity of the truck (line 38). Then, we update the truck’s number of d-bikes at each visit (lines 39 to 41). Finally, we unload all the bikes carried by the truck at the depot (line 45).
Route loading instructions: Once the Algorithm 2 has been applied to all the sections of the route, we have to define the loading instructions of the whole route. Note that the order in which the sections are traversed by the vehicle can be modified arbitrarily because each section starts and ends at the depot. If, for instance, at the end of one section, some o-bikes are unloaded at the depot, it is advisable that this section be traversed at the beginning of the route, as the o-bikes unloaded at the depot could be useful for balancing deficit stations in subsequent sections.
Therefore, we use the following strategy: Firstly, Step I of Algorithm 2 is applied to each section, assuming, for all of them, that there is an infinite number of available o-bikes at the depot. We estimate in this way the number of o-bikes that each section would load from the depot at the beginning and the number that would unload at the end. Then, the sections are ordered in decreasing order of the net number of o-bikes that would be unloaded at the depot. Secondly, the Algorithm 2 is applied to the sections ordered in this way.
Finally, the loading instructions of the successive sections are joined. An obvious correction is carried out when two consecutive sections are joined. If, for instance, xo-bikes are unloaded into the depot at the end of one section and x o-bikes are loaded from the depot at the beginning of the next section, then the number of o-bikes that are unloaded at the end of the first section is m a x { 0 , x x } .

5.1.2. Global Loading Heuristic: g-LH

This procedure determines heuristically the loading policy for all the vehicles, provided that the routes (sequence of visits) are known for all of them. The procedure works as follows. The loading instructions for the vehicles are computed sequentially in an arbitrary order. This time, the quantities p ¯ v , a ¯ v , and p ¯ 0 l are computed assuming that the loading policy of the vehicles already considered has been performed.
A similar method to sv-LH is applied for each route. Firstly, the route is divided into sections determined by consecutive visits to the depot. Then, Step I of Algorithm 2 is applied twice to each section of the route, as in method sv-LH, the first one to decide the order in which the sections should be traversed, and the second time using this order to compute the load instructions of the sections that are finally joined. Nevertheless, this time, the loading instructions are corrected in such a way that the only o-bikes that are unloaded at the depot are those to be used by successive sections of the route. This is easily performed by traversing the route from the last station visited backward and decreasing, if necessary, the number of o-bikes that are loaded at each surplus station visited and would be unloaded at the depot. The reason for doing this is that the o-bikes that are unloaded at the depot cannot be used by the other vehicles, and, on the other hand, the imbalance of the surplus stations could be balanced by the subsequent vehicles.
Once the loading policy for all the vehicles has been computed, a last correction is made. This correction allows the vehicles to load d-bikes and o-bikes at the stations that will be unloaded on the next visit to the depot. The depot plays a crucial role in this correction, as it is the point of reference for unloading and loading. This correction, similarly to Step II of Algorithm 2, ensures that each section is traversed from the end backward, and at each station, the possibility of loading o-bikes and d-bikes is considered if it would balance the station and if the capacity of the vehicle allows it.

5.2. Mathematical Programming-Based Approach

We have formulated the problem of finding the optimal loading instructions for a given set of vehicle routes as an integer linear programming (ILP) model. The objective function of this formulation does not include the time used by the routes. Given that the time for load operations is not considered and the sequence of visits is assumed to be fixed, the total time does not depend, in principle, on the loading policy. This is not entirely true because if the optimal load instructions include some visits without operation, those visits could be skipped so that the total time would decrease. Given that the importance of the total time in our repositioning problem is small, we have decided not to consider this possibility.
The formulation is based on the variables that define the loading policy that were described in Section 3.4: x i l , y i l are the number of o-bikes and d-bikes, respectively, that are loaded (if positive) or unloaded (if negative) in the vehicle l at visit i, i = 1 , , n l . For convenience, we use another variable, w 0 l , representing the number of o-bikes loaded by vehicle l from the depot. As in the heuristic above, we denote as r l ( i ) the station (or depot) visited in i-th place in the vehicle route l, i = 1 , , n l . Let L ¯ be the set of vehicles with nonempty routes and, for l L and v V 0 , I v l = { i { 1 , , n l } : r l ( i ) = v } .
Min v V s p l ( d v l L ¯ i I v l x i l ) v V d e f ( d v l L ¯ i I v l x i l ) + v V d a m ( a v l L ¯ i I v l y i l )
s.t.:
i = 1 j ( x i l + y i l ) k l l L ¯ , j = 1 , , n l 1
i = 1 j x i l 0 l L ¯ , j = 1 , , n l 1
x n l l = i = 1 n l 1 x i l l L ¯
i = 1 j y i l = 0 l L ¯ , j I 0 l
l L ¯ i I v l x i l d v v V s p l
l L ¯ i I v l x i l d v v V d e f
l L ¯ i I v l y i l a v v V d a m
l L ¯ w 0 l p o
x j l w 0 l i I 0 l , i < j x i l l L ¯ , j I 0 l
p v + a v i I v l , i j y i l i I v l , i j x i l c v l L ¯ , v V c o n f , j I v l
x i l = 0 l L ¯ , v V b a l , i I v l
y i l = 0 l L ¯ , v V V d a m , i I v l
x i l 0 and integer l L ¯ , v V s p l , i I v l
x i l 0 and integer l L ¯ , v V d e f , i I v l
y i l 0 and integer l L ¯ , v V d a m , i I v l
y i l 0 and integer l L ¯ , i I 0 l
w 0 l 0 and integer l L ¯
x i l non restricted integer l L ¯ , i I 0 l
The objective function minimizes the total imbalance of the stations and the number of d-bikes that have not been collected from the stations. Constraints (29)–(30) guarantee that the number of o-bikes and the total number of bikes on the vehicle are non-negative and below capacity, respectively, at each visit. Constraint (31) ensures that all o-bikes are unloaded at the end of each route. Constraint (32) guarantees that all d-bikes are unloaded at each visit to the depot. Constraints (33)–(35) limit the number of bikes that can be managed in the stations. Constraint (36) limits the number of o-bikes that can be taken from the depot by all the vehicles, and constraint (37) controls the number of o-bikes that can be taken in each visit to the depot. Constraint (38) prevents the capacity of a conflicted station from being exceeded. Finally, constraints (39)–(46) define the domain of the variables.
This model can be solved quickly with CPLEX 20.0 [47] for the size of the instances we have tried. Compared with the heuristic approach described in Section 5.1, the model provides better solutions, even though in the heuristic approach, it is allowed to slightly change the routes by altering the order in which the successive visits to the depot are traversed. The improvements have been observed with solutions that perform multiple station visits. In fact, we conjecture that our heuristic method is optimal if the stations are visited only once.

6. Framework of the Proposed Matheuristic

To solve our s-BRP described in Section 3, we present a matheuristic approach based on variable neighborhood search that consists of two phases. In the first phase, an initial solution is constructed with the randomized constructive heuristic (RCH) presented in Section 4. The second phase consists of three stages: first, the optimal loading policy for the solution provided by the RCH is computed with the integer linear programming (ILP) model presented in Section 5.2; then, the resulting solution is used as the input for the generalized variable neighborhood search (GVNS) described in Section 6.1, Section 6.2, Section 6.3 and Section 6.4; finally, the loading policy of the solution obtained by the GVNS is optimized with the integer linear programming (ILP) model. The framework of the proposed matheuristic is shown in Figure 3.

6.1. Variable Neighborhood Search

The metaheuristic variable neighborhood search (VNS), proposed by Mladenović and Hansen [44,45], tries to avoid being trapped in a local minimum by systematically changing the neighborhood structures where the search is performed. When a deterministic rule controls this change, the VNS is renamed variable neighborhood descent (VND) (Hansen and Mladenović [48]).
The VND procedure is outlined in Algorithm 3. The procedure consists of a sequence of local moves based on different neighborhoods, denoted by N k , k = 1 , , k m a x . The best solution obtained in the exploration of neighborhood N k of solution S is denoted by B e s t M o v e ( S , N k ) . In case the best move of the current neighborhoods succeeds (i.e., the solution is improved), the method restarts with the first neighborhood (line 6). Otherwise, the next neighborhood is used (line 8) with solution S . The solution obtained at the end of this method is a local minimum with respect to all neighborhoods.
Algorithm 3 VND
Input: Solution S
Input: Set of neighborhoods N k , k = 1 , , k m a x
 1:
k 1
 2:
while k k m a x do
 3:
    S BestMove ( S , N k )
 4:
   if  S is better than S  then
 5:
        S S
 6:
        k 1
 7:
   else
 8:
        k k + 1
 9:
   end if
10:
end while
   Return A local minimum S

6.2. General Variable Neighborhood Search

The general variable neighborhood search (GVNS) is a more elaborate implementation that is based on two complementary methods: a local search method (or improvement) that consists of a VND and a perturbation method (or shaking), where the solution is drastically changed.
The GVNS (Algorithm 4) systematically uses the principles of intensification and diversification to avoid being trapped in a local minimum. The intensification task is performed by the VND (line 6). In contrast, the diversification (line 5) is based on a set of so-called perturbation procedures ( P j , j = 1 , , j m a x ). After a perturbation procedure is applied to a solution, the VND is used to improve it. The perturbation procedures P j are managed similarly to the neighborhood structures in the VND; when it succeeds in improving the incumbent solution, j is reset to 1; otherwise, j is increased by one. The GVNS ends when the stopping criterion is met, in our case, when a prefixed number of iterations has been performed.
Algorithm 4 GVNS
Input: Solution S
Input: Set of neighborhoods N k , k = 1 , , k m a x
Input: Set of perturbation procedures P j , j = 1 , , j m a x
 1:
S S
 2:
repeat
 3:
    j 1
 4:
   while  j j m a x  do
 5:
       S Perturbation ( S , P j )
 6:
       S VND ( S )
 7:
      if  S is better than S  then
 8:
           S S
 9:
           j 1
10:
      else
11:
           j j + 1
12:
      end if
13:
   end while
14:
until  the stopping criterion is met
   Return  S
In the following sections, we present in detail the improvement and perturbation procedures that we use in our algorithm.

6.3. Improvement Moves

Six improvement moves have been implemented to be used in the VND (Algorithm 3). The corresponding neighborhoods are denoted by N 1 , , N 6 . The moves are described below in terms of the changes in the sequence of visits to the stations and the depot. Recall that to evaluate one particular move, it is necessary to determine the loading instructions in each visit, which is implemented by applying the sv-LH heuristic described in Section 5.1.1. Furthermore, the best improvement strategy is used in all the cases: all the solutions in the neighborhood are evaluated, and the best one is chosen. If a better solution than the incumbent is found, we tried to further improve the solution using the g-LH procedure presented in Section 5.1.2.
  • Insert or change unsolved stations— N 1
    An unsolved station is one that is still imbalanced or has damaged bikes in the current solution. This move tries to improve the current solution by inserting a new visit to an unsolved station (see Figure 4). For each unsolved station and any route, two possibilities are tried: to insert a visit to that station or to replace one visit (to another station) in the route with a visit to the unsolved station. Both situations are shown in Figure 4b and Figure 4c, respectively.
  • Remove or relocate a visit— N 2
    This move consists of removing the visit to a station or depot, discarding it, or inserting it in another position on the same or different route. Both situations are shown in Figure 5b and Figure 5c, respectively.
  • Relocate a segment intra-route— N 3
    In this move, a segment of l consecutive visits, where 1 l 4 , is removed from a route and re-inserted at another position in the same route, with the same or the reverse orientation. The segment may include intermediate visits to the depot. Both situations are shown in Figure 6b and Figure 6c, respectively.
  • Relocate a segment inter-route— N 4
    This move is similar to the one defining N 3 , but the segment is inserted in another route. Segments that include visits to conflicted stations are not considered. See Figure 7.
  • Intra-route segment exchange— N 5
    Two non-overlapping segments of a route, both with a number of visits between 1 and 4, change their positions in the route, may be with the reverse orientation in both cases. Segments with intermediate visits to the depot are also considered. See Figure 8.
  • Inter-route segment exchange— N 6
    This move is similar to the one defining N 5 , but the segments are taken from different routes. See Figure 9.
Note that the current solution may include empty routes (i.e., vehicles not used in the solution) that can be filled with visits by some of the preceding moves. Note also that the insertion or replacement of one or several visits in a route may result in a route that contains consecutive visits to the same node, which are substituted by a single visit. Furthermore, as the sv-LH heuristic is used to calculate the loading instructions, it may happen that no loading or unloading had to be made in some visits; then, obviously, those visits are removed from the route. If the final route after the move and all these corrections exceed the maximum time allowed T, the move is discarded.

6.4. Perturbation Mechanisms

Three perturbation mechanisms, P 1 ,   P 2 ,   P 3 , have been implemented in our GVNS (see Algorithm 4). For all perturbation mechanisms, the operations are executed κ times.
  • P 1 ( κ -Shift): The following operation is executed κ times. Randomly select two routes r 1 and r 2 (one of them may be empty), and then randomly select one visit i in r 1 and one visit j in r 2 . The visit i is removed from route r 1 and inserted just before visit j in route r 2 . Positions i and j are different from the first and last ones in the routes. See Figure 10.
  • P 2 ( κ -Swap): The following operation is executed κ times. Randomly select two routes r 1 and r 2 (one of them may be empty), and then randomly select one visit i in r 1 and one visit j in r 2 . The visit i of route r 1 is interchanged with the visit j in route r 2 . Positions i and j are different from the first and last ones in the routes. See Figure 11.
  • P 3 ( κ -Segment): The following operation is executed κ times. Chose a random integer L between 2 and 4 visits. Select randomly one route r 1 and one visit i in that route. Then, for each j = i , , i + L 1 , a route r 2 , and a position j in it, are randomly chosen, and visit i is removed from r 1 and inserted in position j of r 2 . See Figure 12.
The solution obtained after any of these perturbations is simplified in a similar way as was explained for moves: repeated visits to nodes are merged, loading instructions are computed using the g-LH algorithm (see Section 5.1.2), and visits with no loading/unloading operation are removed. Furthermore, in case a route exceeds the maximum time T, starting from the last visit to a station and backwards, some visits are removed until a feasible route is obtained; then new loading policies are computed with the g-LH heuristic.

7. Computational Experiments

The computational analysis to assess the performance of our algorithm is structured as follows:
  • Experiment Setup: Section 7.1 describes the instances based on real-world data used for testing and introduces the parameter information used in our solution method.
  • First Experiment: Section 7.2 presents an exhaustive performance analysis for the randomized constructive heuristic (RCH) described in Section 4.
  • Second Experiment: Section 7.3 provides an in-depth analysis of the general variable neighborhood search (GNVS) detailed in Section 6.2, evaluating its performance across various scenarios.
  • Third Experiment: Section 7.4, we compare the results obtained by our method with the recommended parameter setting and the best solutions obtained over all the experiments made with any parameter setting while tuning the algorithm. Given that there are no previous studies on this model, it is difficult to assess the quality of the solutions obtained. Therefore, we analyze the results of the two phases of our matheuristic proposed in Section 6.

7.1. Instances and Parameter Setting

We evaluated the performance of our algorithms using 136 instances, categorized into two groups:
  • Palma: This set contains 28 instances, based on the PBS of Palma de Mallorca, Spain, that were proposed in Alvarez-Valdes et al. [1]. Each instance contains 28 stations and one depot with an initial inventory of 10 usable bikes, i.e., p 0 = 10 . There are seven variants with respect to the imbalance and number of damaged bikes in the stations (corresponding to the seven days of a week). For each day, two fleet sizes (two and three vehicles with capacity k l = 20 ) and two variants of maximum time (2 and 4 h) were considered.
  • Wien: These instances were taken from Rainer-Harbach et al. [13] and adapted to our problem by randomly replacing a few operating bikes in the stations with damaged bikes. These instances have 20, 30, 60, and 90 stations and one depot (with no initial inventory, i.e., p 0 = 0 ). Two values for the maximum time (4 and 8 h) and two fleet sizes were considered. For the instances with 20 or 30 stations, the fleet sizes considered are two and four, while for the instances with 60 or 90 stations, the fleet sizes are three and five vehicles. In all the cases, the capacity of the vehicles is 20. There are five instances in each group, making a total of 80 instances in this set.
All algorithms were implemented in C++ and run on a PC with an Intel(R) Core(TM) i5-4200 CPU at 1.60 GHz and 4.00 GB of RAM. Throughout the experiments, only a single thread was utilized. In the integer linear programming (ILP) model described in Section 5.2, to determine loading instructions, CPLEX 20.0 [47] was used with default settings, except for restricting CPLEX [47] to only use a single thread.
After some preliminary testing, we set the number of iterations in the RCH to 5000 and 100 in the GVNS. For the parameters of route construction presented in Section 4, we set θ = 0.8 , μ = 2 , and κ v = 1 for v F V c o n f . Therefore, we set κ = 2 for the perturbation mechanisms described in Section 6.4. Finally, we set γ d = γ a = γ t = 1 for the scaling factors in the objective function described in Section 3. By employing these factors, enhancing the system balance and collecting damaged bikes will consistently have a greater impact on the objective value than reducing the total time of the routes.

7.2. Performance Analysis for RCH

Table 1 shows the average results obtained by the randomized constructive heuristic (RCH) approach on both sets of instances. Below, we evaluate its performance across scenarios for 1000, 2000, 3000, 4000, and 5000 iterations. The first four columns show the characteristics of each group of instances. Then, the results obtained with the RCH for each iteration scenario are displayed. In each case, the average objective value of the solutions obtained with our method ( o b j ), the ( c p u ) time in seconds, and the number of vehicles used ( | L ¯ | ) after the repositioning are shown.
For the Palma instances, our method was able to balance the stations and collect all the damaged bikes in all instances since 3000 iterations. The CPU time in this set was less than 2 s, up to 3000 iterations. Then, it dropped to less than 1 s. In 5000 iterations, we found the best solutions on average in the Palma instances using a single vehicle. For the Wien instances, we observe that the average solutions tend to improve when the maximum repositioning time is higher (240 min); when this time is lower, the vehicle fleet is insufficient to balance the system and pick up all the damaged bikes.
For the Palma instances, we note that, on average, the solutions improve considerably between 1000 and 2000 iterations. After this, the decrease in the objective function values decreases by a smaller proportion. This occurs until after 4000 iterations when the objective function drops considerably. This can be observed in Figure 13a. For the Wien instances, we note that, on average, the solutions improve considerably between 4000 and 5000 iterations. Prior to this, the decrease in the values of the objective function drops in a smaller proportion. The above can be observed in Figure 13b.

7.3. Performance Analysis for GVNS

Table 2 shows the average results obtained by general variable neighborhood search (GNVS) on both sets of instances. The initial solution for this experimentation is the best solution obtained in Section 7.2. Below, we present an exhaustive performance analysis of scenarios of 1000, 2000, 3000, 4000, and 5000 iterations. The first four columns show the characteristics of each group of instances. Then, the results obtained with the GNVS for each iteration scenario are displayed. In each case, the average objective value of the solutions obtained with our method ( o b j ) and the ( c p u ) time in seconds are shown.
For the Palma instances, our method was able to balance the stations and collect all the damaged bikes in all instances since 1000 iterations. The CPU time in this set was less than 1 s, up to 4000 iterations. Then, it dropped to less than 2 s. In 2000 iterations, we found the best solutions on average in the Palma instances using a single vehicle. For the Wien instances, we observe that the average solutions tend to improve when the maximum repositioning time is higher (2 h); when this time is lower, the vehicle fleet is insufficient to balance the system and pick up all the damaged bikes, for instance, in more than 30 stations. The most challenging instances are the 90-station instances, which only improve from iteration 4000.
For the Palma instances, we note that, on average, the solutions improve considerably between 1000 and 2000 iterations. Prior to this, the decrease in the values of the objective function drops in a smaller proportion. The above can be observed in Figure 14a. For the Wien instances, we note that, on average, the solutions improve considerably between 1000 and 2000 iterations. After this, the decrease in the objective function values decreases by a smaller proportion. This occurs until after 4000 iterations when the objective function drops considerably. This can be observed in Figure 14b.

7.4. Results Comparison RCH and GVNS

Table 3 shows the average results obtained by our algorithms on both sets of instances. The comparison is carried out between the best solution obtained in Section 7.2 and the best solution obtained in Section 7.3. The first four columns show the characteristics of each group of instances. The fifth column presents the best-known solutions (BKS) obtained over all the experiments made with any parameter setting. Then, the results obtained with the randomized constructive heuristic RCH (Phase I) and the whole matheuristic algorithm (Phase II) are displayed. In each case, the average value of the solutions ( o b j ), the ( c p u ) time in seconds, and the number of vehicles used ( | L ¯ | ) are shown. The next column (dif) presents the overall improvement of the results obtained in Phase II over Phase I. The last three columns show the total imbalance and number of damaged bikes in the stations, before and after the repositioning is implemented according to the solution obtained with our method and the percentage of improvement achieved.
For the instances in Palma, our method was able to totally balance the stations and collect all the damaged bikes using a single vehicle. The CPU time in this set was less than 1 s in Phase I and less than 7 s in Phase II. The average improvement obtained in Phase II relative to Phase I was 11.6%. Similar results were obtained for the Wien instances with 20 stations.
Instances with 30–90 stations in Wien are more complex. All the vehicles were used in practically all these instances; furthermore, in many cases, the solution was not able to perform all the tasks, i.e., to balance all the stations and pick up all the damaged bikes. The average of tasks performed in this subset of instances was 88%. Of course, an improvement is observed when the number of vehicles or the maximum time T increases. The CPU time needed in this group was 9.7 s. in the worst case in Phase I and 786.4 s. in Phase II, respectively. The overall improvement of the results obtained by Phase II over Phase I was 20.7% on average.

8. Concluding Remarks

This paper introduces a new static bike-sharing repositioning problem in which a heterogeneous fleet transports operative and damaged bikes between the stations and the depot. Our model includes some features that are not found together in the literature and makes it more realistic: the stations can have damaged bikes that have to be taken to the depot, the depot may contain usable bikes to be distributed to the stations, and both the stations and the depot can be visited several times by the same or different vehicles.
An integer linear programming model and two heuristic approaches are proposed to optimize the loading policy for the vehicles’ given routes. These methods are successfully combined in a metaheuristic based on variable neighborhood search, which considerably improves the solutions obtained by a randomized constructive heuristic.
The studies found in the bike-sharing repositioning problem literature that use local search usually evaluate the moves just by the travel cost. Once the best move is selected, the loading instructions for each visit are computed. In our method, we evaluate each move by computing the loading instructions, which allows us to evaluate it more properly.
Computational results show that the method generates solutions in reasonable computing times, although, given that there are no previous studies on this model, it is difficult to assess the quality of the solutions obtained. We only compare the results obtained by our method with the recommended parameter setting and the best solutions obtained over all the experiments made with any parameter setting while tuning the algorithm. We intend to develop an exact method in the future.
Finally, while this study provides a robust framework for addressing the static repositioning problem in station-based bike-sharing systems, certain limitations offer avenues for future exploration. Applying the studied features to dynamic repositioning scenarios and free-floating bike-sharing systems could yield further insights into adaptable PBS strategies. Additionally, practical challenges such as real-time adaptation to fluctuating demand, limited repair infrastructure, and maintenance constraints highlight areas where enhanced algorithmic solutions could significantly impact operational efficiency.

Author Contributions

Conceptualization, J.M.D.-E. and D.Á.-M.; methodology, J.M.D.-E. and D.Á.-M.; validation, J.M.D.-E.; formal analysis, J.M.D.-E.; investigation, J.M.D.-E.; resources, J.M.D.-E. and D.Á.-M.; writing—original draft preparation, J.M.D.-E.; writing—review and editing, D.Á.-M.; supervision, D.Á.-M.; project administration, D.Á.-M.; funding acquisition, D.Á.-M. All authors have read and agreed to the published version of the manuscript.

Funding

The APC was funded by Universidad de los Andes.

Data Availability Statement

All the problem instances generated for this work and used for the experimental evaluation can be downloaded at https://github.com/juliomariodaza/s-BRP-Instances, accessed on 1 November 2024.

Acknowledgments

We want to acknowledge the anonymous referees for their valuable comments to improve the original version of our paper. The authors would like to thank the Vice Presidency of Research & Creation’s Publication Fund at Universidad de los Andes for its financial support. All authors acknowledge financial support provided by the Vice Presidency for Research & Creation publication fund at the Universidad de los Andes.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Alvarez-Valdes, R.; Belenguer, J.M.; Benavent, E.; Bermudez, J.D.; Muñoz, F.; Vercher, E.; Verdejo, F. Optimizing the level of service quality of a bike-sharing system. Omega 2016, 62, 163–175. [Google Scholar] [CrossRef]
  2. PBSC Urban Solutions. The Meddin Bike-sharing World Map Report. 2022. Available online: https://www.pbsc.com/ (accessed on 31 December 2023).
  3. DeMaio, P. Bike-sharing: History, impacts, models of provision, and future. J. Public Transp. 2009, 12, 41–56. [Google Scholar] [CrossRef]
  4. Pal, A.; Zhang, Y. Free-floating bike sharing: Solving real-life large-scale static rebalancing problems. Transp. Res. Part C Emerg. Technol. 2017, 80, 92–116. [Google Scholar] [CrossRef]
  5. Li, X.; Zhang, Y.; Sun, L.; Liu, Q. Free-Floating Bike Sharing in Jiangsu: Users’ Behaviors and Influencing Factors. Energies 2018, 11, 1664. [Google Scholar] [CrossRef]
  6. Haider, Z.; Nikolaev, A.; Kang, J.E.; Kwon, C. Inventory rebalancing through pricing in public bike sharing systems. Eur. J. Oper. Res. 2018, 270, 103–117. [Google Scholar] [CrossRef]
  7. Chemla, D.; Meunier, F.; Wolfler Calvo, R. Bike sharing systems: Solving the static rebalancing problem. Discret. Optim. 2013, 10, 120–146. [Google Scholar] [CrossRef]
  8. Dell’Amico, M.; Hadjicostantinou, E.; Iori, M.; Novellani, S. The bike sharing rebalancing problem: Mathematical formulations and benchmark instances. Omega 2014, 45, 7–19. [Google Scholar] [CrossRef]
  9. Dell’Amico, M.; Iori, M.; Novellani, S.; Stützle, T. A destroy and repair algorithm for the bike sharing rebalancing problem. Comput. Oper. Res. 2016, 71, 149–162. [Google Scholar] [CrossRef]
  10. Ho, S.C.; Szeto, W.Y. A hybrid large neighborhood search for the static multi-vehicle bike-repositioning problem. Transp. Res. Part Methodol. 2017, 95, 340–363. [Google Scholar] [CrossRef]
  11. Kloimüllner, C.; Raidl, G.R. Full-load route planning for balancing bike sharing systems by logic-based Benders decomposition. Networks 2017, 69, 270–289. [Google Scholar] [CrossRef]
  12. Rainer-Harbach, M.; Papazek, P.; Hu, B.; Raidl, G.R. Balancing bicycle sharing systems: A variable neighborhood search approach. In Proceedings of the Evolutionary Computation in Combinatorial Optimization, EvoCOP 2013, Vienna, Austria, 3–5 April 2013; Lecture Notes in Computer Science. Middendorf, M., Blum, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7832, pp. 121–132. [Google Scholar] [CrossRef]
  13. Rainer-Harbach, M.; Papazek, P.; Raidl, G.R.; Hu, B.; Kloimüllner, C. PILOT, GRASP, and VNS approaches for the static balancing of bicycle sharing systems. J. Glob. Optim. 2015, 63, 597–629. [Google Scholar] [CrossRef]
  14. Raviv, T.; Tzur, M.; Forma, I.A. Static repositioning in a bike-sharing system: Models and solution approaches. EURO J. Transp. Logist. 2013, 2, 187–229. [Google Scholar] [CrossRef]
  15. Wang, Y.; Szeto, W. Static green repositioning in bike sharing systems with broken bikes. Transp. Res. Part D Transp. Environ. 2018, 65, 438–457. [Google Scholar] [CrossRef]
  16. Casazza, M. Exactly Solving the Split Pickup and Split Delivery Vehicle Routing Problem on a Bike-Sharing System; Technical Report; [hal-01304433]; Università degli Studi di Milano: Milano, Italy; Université Paris: Paris, France, 2016; Volume 13. [Google Scholar]
  17. Di Gaspero, L.; Rendl, A.; Urli, T. A hybrid ACO+CP for balancing bicycle sharing systems. In Proceedings of the Hybrid Metaheuristics, HM 2013, Ischia, Italy, 23–25 May 2013; Lecture Notes in Computer Science. Blesa, M.J., Blum, C., Festa, P., Roli, A., Sampels, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7919, pp. 198–212. [Google Scholar] [CrossRef]
  18. Di Gaspero, L.; Rendl, A.; Urli, T. Constraint-based approaches for balancing bike sharing systems. In Proceedings of the Principles and Practice of Constraint Programming, CP 2013, Uppsala, Sweden, 16–20 September 2013; Lecture Notes in Computer Science. Schulte, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8124, pp. 758–773. [Google Scholar] [CrossRef]
  19. Di Gaspero, L.; Rendl, A.; Urli, T. Balancing bike sharing systems with constraint programming. Constraints 2016, 21, 318–348. [Google Scholar] [CrossRef]
  20. Espegren, H.M.; Kristianslund, J.; Andersson, H.; Fagerholt, K. The static bicycle repositioning problem-literature survey and new formulation. In Proceedings of the Computational Logistics, ICCL 2016, Lisbon, Portugal, 7–9 September 2013; Lecture Notes in Computer Science. Paias, A., Ruthmair, M., Voß, S., Eds.; Springer: Cham, Switzerland, 2016; Volume 9855, pp. 337–351. [Google Scholar] [CrossRef]
  21. Forma, I.A.; Raviv, T.; Tzur, M. A 3-step math heuristic for the static repositioning problem in bike-sharing systems. Transp. Res. Part B Methodol. 2015, 71, 230–247. [Google Scholar] [CrossRef]
  22. Papazek, P.; Raidl, G.R.; Rainer-Harbach, M.; Hu, B. A PILOT/VND/GRASP hybrid for the static balancing of public bicycle sharing systems. In Proceedings of the Computer Aided Systems Theory—EUROCAST 2013, Canaria, Spain, 10–15 February 2013; Lecture Notes in Computer Science. Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8111, pp. 372–379. [Google Scholar] [CrossRef]
  23. Papazek, P.; Kloimüllner, C.; Hu, B.; Raidl, G.R. Balancing bicycle sharing systems: An analysis of path relinking and recombination within a GRASP hybrid. In Proceedings of the Parallel Problem Solving from Nature—PPSN XIII, PPSN 2014, Ljubljana, Slovenia, 13–17 September 2014; Lecture Notes in Computer Science. Bartz-Beielstein, T., Branke, J., Filipič, B., Smith, J., Eds.; Springer: Cham, Switzerland, 2014; Volume 8672, pp. 792–801. [Google Scholar] [CrossRef]
  24. Raidl, G.R.; Hu, B.; Rainer-Harbach, M.; Papazek, P. Balancing bicycle sharing systems: Improving a VNS by efficiently determining optimal loading operations. In Proceedings of the Hybrid Metaheuristics, HM 2013, Ischia, Italy, 23–25 May 2013; Lecture Notes in Computer Science. Blesa, M.J., Blum, C., Festa, P., Roli, A., Sampels, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7919, pp. 130–143. [Google Scholar] [CrossRef]
  25. Schuijbroek, J.; Hampshire, R.C.; van Hoeve, W.J. Inventory rebalancing and vehicle routing in bike sharing systems. Eur. J. Oper. Res. 2017, 257, 992–1004. [Google Scholar] [CrossRef]
  26. Sorensen, K.; Vergeylen, N. The bike request scheduling problem. In Proceedings of the Computer Aided Systems Theory—EUROCAST 2015, Canaria, Spain, 8–13 February 2015; Lecture Notes in Computer Science. Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A., Eds.; Springer: Cham, Switzerland, 2015; Volume 9520, pp. 294–301. [Google Scholar] [CrossRef]
  27. Lahoorpoor, B.; Faroqi, H.; Sadeghi-Niaraki, A.; Choi, S.M. Spatial Cluster-Based Model for Static Rebalancing Bike Sharing Problem. Sustainability 2019, 11, 3205. [Google Scholar] [CrossRef]
  28. Zhang, S.; Xiang, G.; Huang, Z. Bike-Sharing Static Rebalancing by Considering the Collection of Bicycles in Need of Repair. J. Adv. Transp. 2018, 2018, 1–18. [Google Scholar] [CrossRef]
  29. Kinable, J. A reservoir balancing constraint with applications to bike-sharing. In Proceedings of the Integration of AI and OR Techniques in Constraint Programming, CPAIOR 2016, Banff, AB, Canada, 29 May–1 June 2016; Lecture Notes in Computer Science. Quimper, C.G., Ed.; Springer: Cham, Switzerland, 2016; Volume 9676, pp. 216–228. [Google Scholar] [CrossRef]
  30. Kloimüllner, C.; Papazek, P.; Hu, B.; Raidl, G.R. A cluster-first route-second approach for balancing bicycle sharing systems. In Proceedings of the Computer Aided Systems Theory—EUROCAST 2015, Las Palmas de Gran Canaria, Spain, 8–13 February 2015; Lecture Notes in Computer Science. Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A., Eds.; Springer: Cham, Switzerland, 2015; Volume 9520, pp. 439–446. [Google Scholar] [CrossRef]
  31. Li, Y.; Szeto, W.Y.; Long, J.; Shui, C.S. A multiple type bike repositioning problem. Transp. Res. Part B Methodol. 2016, 90, 263–278. [Google Scholar] [CrossRef]
  32. Tang, Q.; Fu, Z.; Zhang, D.; Qiu, M.; Li, M. An Improved Iterated Local Search Algorithm for the Static Partial Repositioning Problem in Bike-Sharing System. J. Adv. Transp. 2020, 2020, 1–15. [Google Scholar] [CrossRef]
  33. Lv, C.; Zhang, C.; Lian, K.; Ren, Y.; Meng, L. A hybrid algorithm for the static bike-sharing re-positioning problem based on an effective clustering strategy. Transp. Res. Part Methodol. 2020, 140, 1–21. [Google Scholar] [CrossRef]
  34. Du, M.; Cheng, L.; Li, X.; Tang, F. Static rebalancing optimization with considering the collection of malfunctioning bikes in free-floating bike sharing system. Transp. Res. Part E Logist. Transp. Rev. 2020, 141, 102012. [Google Scholar] [CrossRef]
  35. Kaspi, M.; Raviv, T.; Tzur, M. Detection of unusable bicycles in bike-sharing systems. Omega 2016, 65, 10–16. [Google Scholar] [CrossRef]
  36. Kaspi, M.; Raviv, T.; Tzur, M. Bike sharing systems: User dissatisfaction in the presence of unusable bicycles. IIE Trans. 2017, 49, 144–458. [Google Scholar] [CrossRef]
  37. Castro Fernandez, A. The contribution of bike-sharing to sustainable mobility in Europe. Ph.D. Thesis, Technischen Universität Wien, Vienna, Austria, 2011. [Google Scholar]
  38. DeMaio, P.; Meddin, R. The Bike-Sharing World—First Week of June 2014. 2014. Available online: http://bike-sharing.blogspot.com.es/2014/06/the-bike-sharing-world-first-week-of.html (accessed on 31 December 2023).
  39. Benchimol, M.; Benchimol, P.; Chappert, B.; De la Taille, A.; Laroche, F.; Meunier, F.; Robinet, L. Balancing the stations of a self service bike hire system. RAIRO Oper. Res. 2011, 45, 37–61. [Google Scholar] [CrossRef]
  40. Erdoğan, G.; Battarra, M.; Wolfler Calvo, R. An exact algorithm for the static rebalancing problem arising in bicycle sharing systems. Eur. J. Oper. Res. 2015, 245, 667–679. [Google Scholar] [CrossRef]
  41. Cruz, F.; Subramanian, A.; Bruck, B.P.; Iori, M. A heuristic algorithm for a single vehicle static bike sharing rebalancing problem. Comput. Oper. Res. 2017, 79, 19–33. [Google Scholar] [CrossRef]
  42. Erdoğan, G.; Laporte, G.; Wolfler Calvo, R. The static bicycle relocation problem with demand intervals. Eur. J. Oper. Res. 2014, 238, 451–457. [Google Scholar] [CrossRef]
  43. Kadri, A.A.; Kacem, I.; Labadi, K. A branch-and-bound algorithm for solving the static rebalancing problem in bicycle-sharing systems. Comput. Ind. Eng. 2016, 95, 41–52. [Google Scholar] [CrossRef]
  44. Mladenović, N.; Hansen, P. A variable neighborhood algorithm: A new metaheuristic for combinatorial optimization. In Proceedings of the Abstract for Papers presented at Optimization Days, Montreal, QC, Canada, 8–10 May 1995; p. 112. [Google Scholar]
  45. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  46. Daza-Escorcia, J.M.; Alvarez-Martinez, D. A Matheuristic Multi-Start Algorithm for a Novel Static Repositioning Problem in Public Bike-Sharing Systems. In Proceedings of the Metaheuristics, MIC 2014, Lorient, France, 4–7 June 2024; Lecture Notes in Computer Science. Sevaux, M., Ed.; Springer Nature: Cham, Switzerland, 2014; Volume 14754, pp. 188–203. [Google Scholar] [CrossRef]
  47. CPLEX. Optimization Studio ILOG IBM CPLEX. 2017. Available online: https://www.ibm.com/us-en/marketplace/ibm-ilog-cplex (accessed on 31 December 2023).
  48. Hansen, P.; Mladenović, N. Variable neighborhood search. In Handbook of Metaheuristics; Glover, F., Gary, K., Eds.; Kluwer Academic Publishers: Boston, MA, USA, 2003; Chapter 6; pp. 145–184. [Google Scholar]
Figure 1. The example illustrates a BRP where a truck with a maximum capacity of 2 bikes must complete the tour (0, 4, 8, 3, 4, 0). Part (a) shows the target levels for stations 4, 8, and 3, as +3, -1, -1, respectively. Station 4 has a surplus (+) of 3 bikes, leaving no free parking slots and preventing customers from completing their trips. At stations 8 and 3, there is a deficit (-) of 1 bike each, meaning no operational bikes are available for customers. In part (b), the truck picks up 2 bikes from station 4 (partially balancing it) and then moves to stations 8 and 3, delivering 1 bike to each and balancing it. Part (c) shows the truck returning to station 4 to pick up the remaining bike and completely balance it. Finally, in part (d), the truck heads back to the depot to complete the tour and unload the bikes.
Figure 1. The example illustrates a BRP where a truck with a maximum capacity of 2 bikes must complete the tour (0, 4, 8, 3, 4, 0). Part (a) shows the target levels for stations 4, 8, and 3, as +3, -1, -1, respectively. Station 4 has a surplus (+) of 3 bikes, leaving no free parking slots and preventing customers from completing their trips. At stations 8 and 3, there is a deficit (-) of 1 bike each, meaning no operational bikes are available for customers. In part (b), the truck picks up 2 bikes from station 4 (partially balancing it) and then moves to stations 8 and 3, delivering 1 bike to each and balancing it. Part (c) shows the truck returning to station 4 to pick up the remaining bike and completely balance it. Finally, in part (d), the truck heads back to the depot to complete the tour and unload the bikes.
Mathematics 12 03573 g001
Figure 2. The concept map highlights in gray the type of problem to which this study belongs.
Figure 2. The concept map highlights in gray the type of problem to which this study belongs.
Mathematics 12 03573 g002
Figure 3. Matheuristic scheme of solution method proposed.
Figure 3. Matheuristic scheme of solution method proposed.
Mathematics 12 03573 g003
Figure 4. An original route and two of its neighbors, through improvement move N 1 .
Figure 4. An original route and two of its neighbors, through improvement move N 1 .
Mathematics 12 03573 g004
Figure 5. Two original routes and two of its neighbors, through improvement move N 2 .
Figure 5. Two original routes and two of its neighbors, through improvement move N 2 .
Mathematics 12 03573 g005
Figure 6. An original route and two of its neighbors, through improvement move N 3 .
Figure 6. An original route and two of its neighbors, through improvement move N 3 .
Mathematics 12 03573 g006
Figure 7. Two original routes and two of its neighbors, through improvement move N 4 .
Figure 7. Two original routes and two of its neighbors, through improvement move N 4 .
Mathematics 12 03573 g007
Figure 8. An original route and two of its neighbors, through improvement move N 5 .
Figure 8. An original route and two of its neighbors, through improvement move N 5 .
Mathematics 12 03573 g008
Figure 9. Two original routes and two of its neighbors, through improvement move N 6 .
Figure 9. Two original routes and two of its neighbors, through improvement move N 6 .
Mathematics 12 03573 g009aMathematics 12 03573 g009b
Figure 10. Two routes and its neighbor, through perturbation mechanism P 1 .
Figure 10. Two routes and its neighbor, through perturbation mechanism P 1 .
Mathematics 12 03573 g010
Figure 11. Two routes and its neighbor, through perturbation mechanism P 2 .
Figure 11. Two routes and its neighbor, through perturbation mechanism P 2 .
Mathematics 12 03573 g011
Figure 12. Two routes and its neighbors, through perturbation mechanism P 3 .
Figure 12. Two routes and its neighbors, through perturbation mechanism P 3 .
Mathematics 12 03573 g012
Figure 13. Performance analysis for RCH.
Figure 13. Performance analysis for RCH.
Mathematics 12 03573 g013
Figure 14. Performance analysis for GVNS.
Figure 14. Performance analysis for GVNS.
Mathematics 12 03573 g014
Table 1. Average results of performance analysis for RCH.
Table 1. Average results of performance analysis for RCH.
Instance10002000300040005000
Type | V | | L | T (h) obj cpu (s) | L ¯ | obj cpu   (s) | L ¯ | obj cpu   (s) | L ¯ | obj cpu   (s) | L ¯ | obj cpu   (s) | L ¯ |
Palma28221.673.981.71.264.611.70.832.641.70.690.771.70.350.291.0
Palma28240.273.651.00.274.381.00.262.661.00.250.841.00.170.311.0
Palma28321.081.321.70.663.531.70.654.291.70.510.771.70.230.291.0
Palma28340.182.711.00.183.781.00.173.021.00.171.011.00.120.301.0
Wien202432.336.452.032.533.292.029.940.712.029.943.332.09.350.492.0
Wien20282.505.912.03.283.942.02.690.842.02.694.132.00.560.631.6
Wien20346.503.933.06.323.113.07.300.753.07.300.553.01.200.562.8
Wien20382.271.952.02.063.102.01.670.872.01.670.562.00.380.621.6
Wien3024104.134.882.098.741.492.095.141.312.095.140.852.054.770.802.0
Wien302815.560.722.015.350.942.012.362.002.012.171.072.00.911.232.0
Wien303460.952.973.053.360.763.052.361.513.052.360.923.019.171.113.0
Wien30387.132.232.65.930.952.68.112.022.67.121.472.80.611.442.0
Wien6034216.752.123.0213.152.463.0214.946.353.0214.942.253.0146.582.703.0
Wien603876.173.173.068.973.283.064.980.383.063.983.143.020.984.713.0
Wien6054134.363.255.0126.762.855.0124.968.965.0124.962.705.061.563.615.0
Wien605816.686.945.013.874.145.015.650.445.013.865.245.00.814.924.6
Wien9034441.556.673.0438.547.023.0431.350.553.0431.356.203.0350.174.203.0
Wien9038267.1814.043.0256.5812.383.0251.571.173.0251.5711.933.0146.788.153.0
Wien9054347.5511.415.0336.7610.655.0331.160.885.0331.166.955.0231.576.225.0
Wien9058108.5715.425.094.1823.815.090.381.675.090.3824.575.016.389.755.0
Table 2. Average results of performance analysis for GVNS.
Table 2. Average results of performance analysis for GVNS.
Instance10002000300040005000
Type | V | | L | T (h) obj cpu   (s) obj cpu   (s) obj cpu   (s) obj cpu   (s) obj cpu   (s)
Palma28220.32<10.30<10.30<10.301.590.305.49
Palma28240.16<10.15<10.15<10.151.640.156.56
Palma28320.21<10.20<10.20<10.201.560.205.65
Palma28340.11<10.101.070.10<10.101.670.105.11
Wien20247.35<17.151.147.15<15.942.995.958.91
Wien20280.52<10.521.260.52<10.514.470.5111.03
Wien20340.73<10.731.610.73<10.724.000.7212.10
Wien20380.35<10.351.310.35<10.344.650.3411.73
Wien302452.58<151.181.3751.18<149.383.4447.5810.37
Wien30280.82<10.833.290.82<10.8213.280.8130.08
Wien303416.55<114.762.3614.76<113.378.6813.1822.84
Wien30380.58<10.553.270.55<10.5414.710.5432.63
Wien6034141.38<1136.183.48136.18<1134.7810.50135.1934.14
Wien603813.57<112.3810.9012.58<111.3763.5411.18174.19
Wien605451.78<150.976.0950.97<148.1831.6747.7790.94
Wien60580.69<10.6717.650.67<10.6795.770.72225.27
Wien9034344.77<1341.184.63341.18<1336.9918.47338.3847.41
Wien9038136.79<1133.9913.30130.79<1131.3973.93128.99200.97
Wien9054218.78<1215.988.90215.98<1211.1845.52207.59124.11
Wien905810.37<16.9735.986.37<14.78882.475.37786.36
Table 3. Average results for each instance sets.
Table 3. Average results for each instance sets.
Instance Phase IPhase II PBS’s States
Type | V | | L | T (h) BKS obj cpu   (s) | L ¯ | obj cpu   (s) | L ¯ | dif   (%) Before After Imp (%)
Palma28220.300.35<11.00.305.51.011.532.10.0100
Palma28240.150.17<11.00.156.61.011.832.10.0100
Palma28320.200.23<11.00.205.61.011.532.10.0100
Palma28340.100.12<11.00.105.11.011.832.10.0100
Wien20245.559.35<12.05.958.92.038.6136.05.096.5
Wien20280.510.56<11.60.5111.01.610.2136.00.0100
Wien20340.721.20<12.80.7212.12.622.5136.00.0100
Wien20380.340.38<11.60.3411.71.610.0136.00.0100
Wien302446.9854.77<12.047.5810.42.013.5207.846.677.7
Wien30280.810.911.22.00.8130.12.010.8207.80.0100
Wien303411.9819.171.13.013.1822.83.034.2207.812.294.2
Wien30380.540.611.42.00.5432.62.010.6207.80.0100
Wien6034133.58146.582.73.0135.1934.13.07.8381.2134.264.8
Wien603810.1820.984.73.011.18174.23.046.8381.210.297.3
Wien605446.7861.563.65.047.7790.95.022.7381.246.887.8
Wien60580.660.814.94.60.72225.34.010.5381.20.0100
Wien9034334.79350.174.23.0338.3847.43.03.4617.4337.445.3
Wien9038126.59146.788.13.0128.99200.93.012.0617.4128.079.2
Wien9054204.59231.576.25.0207.59124.15.010.4617.4206.666.5
Wien90584.3716.389.75.05.37786.45.068.1617.44.499.3
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Daza-Escorcia, J.M.; Álvarez-Martínez, D. A Matheuristic Approach Based on Variable Neighborhood Search for the Static Repositioning Problem in Station-Based Bike-Sharing Systems. Mathematics 2024, 12, 3573. https://doi.org/10.3390/math12223573

AMA Style

Daza-Escorcia JM, Álvarez-Martínez D. A Matheuristic Approach Based on Variable Neighborhood Search for the Static Repositioning Problem in Station-Based Bike-Sharing Systems. Mathematics. 2024; 12(22):3573. https://doi.org/10.3390/math12223573

Chicago/Turabian Style

Daza-Escorcia, Julio Mario, and David Álvarez-Martínez. 2024. "A Matheuristic Approach Based on Variable Neighborhood Search for the Static Repositioning Problem in Station-Based Bike-Sharing Systems" Mathematics 12, no. 22: 3573. https://doi.org/10.3390/math12223573

APA Style

Daza-Escorcia, J. M., & Álvarez-Martínez, D. (2024). A Matheuristic Approach Based on Variable Neighborhood Search for the Static Repositioning Problem in Station-Based Bike-Sharing Systems. Mathematics, 12(22), 3573. https://doi.org/10.3390/math12223573

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop