Intelligent Shared Mobility Systems: A Survey on Whole System Design Requirements, Challenges and Future Direction

Shared Mobility Systems (SMS) facilitate on-demand journeys using one or more transportation modes such as car-sharing, bike-sharing, or ride-sharing. As a result, SMS often face challenges such as finding suitable facility locations, efficient routing of shared vehicles, matching and re-distributing available resources with dynamic demands. Most existing surveys study how a particular challenge is addressed using artificial intelligence, machine learning, and optimisation techniques. However, these surveys fail to address the crucial “Whole System Design” point of view, which includes the “whole system” of interconnected stakeholders, entities, and subsystems that participate in, impact, and influence the success of each other and system a whole. Such a survey is highly required with the growing demand for flexible SMS that supports autonomous decision-making and offers multi-modal and inter-operable transportation services catered for highly dynamic traffic conditions in urban areas. This paper attempts to fill this gap by categorising the SMS’ interconnected challenges in different transportation modes and reviewing how offered solutions across all modes address these challenges as a unified system.


I. INTRODUCTION
A S an answer to the growing interest of citizens for fast, efficient, and relatively cheap transportation solutions, intelligent Shared Mobility Systems (SMS) are being widely deployed and becoming increasingly popular in urban areas [1,2,3,4,5,6,7]. Consumers (demand), companies (supply), government (regulator), and environmental benefit are the key factors that influence the development of shared mobility [8]. From a whole system design perspective, we define intelligent shared mobility systems as a set of software systems that facilitate the sharing of physical transportation infrastructure. These software systems operate using a series of algorithms to perform tasks such as identifying optimal service locations, matching rides, finding optimal routes, and redistributing vehicles. A whole system design perspective looks at optimising the entire system, not just the individual components. Therefore, every system component must be considered simultaneously and analysed to identify advantages, as well as undesirable interactions and impacts [9]. Different taxonomies of SMS have been proposed in the literature [10,11]. SMS allow on-demand journeys to be made by sharing a vehicle simultaneously [12,13] and/or successively [14,15]. For instance, bike-sharing relies on the successive use of the same bike by different users [4,7,16,17], while ride-sharing implies that multiple riders share the same vehicle for the part of/the entirety of their journeys [12,13,18,19,20,21]. Furthermore, SMS are usually more attractive than traditional transportation options such as public transport and individual taxi services, as they address specific mobility needs that the others cannot fulfil. For example, ride-sharing services offer a cheaper transportation option than individual services and a more convenient one than public transport. Some examples of shared mobility include public transit, micro- VOLUME 4, 2016 mobility (e.g., bike-sharing, mopeds-sharing, and scootersharing), automobile-based modes such as car-sharing (i.e., one-way/free-floating and two-way/round-trip), rides ondemand/ride-hailing/ride-sourcing, micro-transit (e.g., vans or cutaways), and commute-based modes or ride-sharing including car-pooling/slugging, van-pooling, taxi sharing, and peer-to-peer (P2P) ride-sharing. Ride-sourcing is suitable for first/last-mile connections at times/in areas that are difficult to serve with fixed-route. These shared-use mobility services enhance mobility as a result of the reduced cost of transportation. However, they may leave different footprints on the transportation system and the environment [22]. Hybrid public mobility service systems incorporate both SMS and public transit modes [23]. Fig. 1 illustrates an overview of SMS, including its most common modes of transport and challenges. A trip can start with a user request followed by possible ride options from service providers that might include one or more transportation modes. As illustrated in Fig. 1, shared mobility services are often offered using various platforms and modes of transport such as car-sharing, ride-sharing, and bike-sharing. Bike-sharing services can address last-mile requests, and car-sharing [14,15] is a popular option that can address the transportation demand in areas without public transport. Unlike traditional public transport with fixed timetables and individual taxi services answering one request per vehicle at a time, SMS must deal with real-time demand while managing the fluctuating number of vehicles, matching ride requests on the fly, navigating the vehicles, redistributing them, and many more issues. To do so, various artificial intelligence techniques (clustering [3,7,16], learning [21,24,25], multi-objective optimisation [20,26,27,28,29]) and algorithms are used to make these systems intelligent and their decision-making process smooth.
Regardless of the provided modes of transport, SMS often deal with interconnected challenges such as resource assignment (i.e., rider-vehicle assignment) [2,15,19,20], re-distribution/ re-balancing of resources (e.g., autonomous cars) [1,26,28,30] and/or routing [16,31,32,33,34]. For example, in ride-sharing or vehicle-sharing, SMS must constantly redistribute the resources/vehicles as they move in a city while serving demands. The solutions to such challenges usually impact the performance of other functions of the system. For example, a ride-sharing service that uses the state of the art techniques for passenger matching but does not address the redistribution of the resources will impact the whole system's performance.

A. MOTIVATION
In addition to addressing the above-mentioned interconnected challenges, SMS face even more significant challenges when deployed in real-world situations. Such challenges include addressing the need for autonomous decisionmaking capabilities for multiple stakeholders (e.g., riders, drivers, service providers), practical and efficient multimodal and inter-operable transportation services that are catered for highly dynamic traffic conditions in urban areas, meeting the ever-growing scale of demand on flexible shared mobility services, and being able to work and integrate with other services already in place such as public transport. Therefore, it is essential to understand the whole system design perspective in the shared mobility domain, identify its requirements and study the challenges that such systems face as interconnected challenges, since they impact each other and the system performance in the short or long term.

B. EXISTING SURVEYS
There are two categories of survey papers in the SMS domain. The first category investigates how the literature tackles a specific challenge, such as optimising resource assignment, re-balancing of resources, vehicle routing, and focusing only on one service configuration or mode of transport (i.e., ride-sharing [22], car-sharing [35], bike-sharing, and autonomous car-sharing [36]). For example, the potential contributions of integrating autonomous vehicles within SMS is reviewed in Hao and Yamamoto [37], and the realtime vehicle assignment challenge in ride-sharing services is reviewed in surveys Agatz et al. [38], Molenbruch et al. [39] and Ho et al. [40].
This category of surveys lacks a perspective on interconnected challenges that exist in SMS, regardless of their offered mode of transport or configuration of the service. Although these works present an extensive view on solutions to tackle a particular challenge in SMS, they do not discuss the impact of such solutions on other challenges or the system as a whole. For example, how an optimised resource assignment in ride-sharing can impact the performance of vehicle routing.
The second category of survey papers reviews characteristics of SMS, challenges, and future directions. Furuhata et al. [12] and Machado et al. [41] provide an up-to-date description of the existing SMS, their benefits, most popular implementation schemes, economic models, and open challenges. Kamargianni et al. [42] adopted the Mobility-as-a-Service (MaaS) perspective. The review provides a comparison of the implemented shared mobility services according to the integration level of the services within MaaS. By comparing the implemented MaaS schemes, the authors have highlighted integration levels and the end user-oriented capacity of the MaaS services. Mourad et al. [29] provided a comprehensive description of SMS, combining the mobility of goods and people with an overview of the specific constraint and optimisation issues involved in such a combination. Butler et al. [43] identified SMS as one of the six main smart mobility innovations among intelligent transport systems, alternative fuel systems, driving automation systems, demand responsive transport, and integrated mobility systems. Golbabaei et al. [44] focused specifically on Shared Autonomous Vehicles (SAV) systems with a systematic survey that aims at detailing existing services and their expected impact at different levels (mobility, infrastructure, environment, travel behaviour, etc.).
Although the existing reviews highlight many opportunities and future research directions, they lack a discussion on identifying the interconnected components of SMS. They do not explore how and to what extent these components will be able to address requirements such as autonomous decisionmaking, multi-modal and inter-operable implementations of transportation services, and meeting the ever-growing demand for flexible shared mobility services, as well as being able to work and integrate with other services already in place. Table 1 includes the prominent survey papers in the SMS domain and summarises their main contribution and focus (i.e., the modes of transport, challenges, and system requirements addressed). From this table, it is clear that none of these works reviews the literature from a whole system design perspective, which includes all the available transportation modes with their challenges and requirements. Table 1, the contribution of this paper is to survey SMS from a holistic view to meet emerging demands for multi-model transport demand and end-to-end shared mobility. Specifically, it presents a category of interconnected challenges that SMS face regardless of their provided mode of transport and reviews the current techniques for overcoming these challenges. This will bridge the gap in current literature review papers that solely review a particular mode of transport (e.g., ride-sharing), as most of these challenges are shared, and the existing solutions can be reused. Furthermore, it proposes a list of key, whole system design requirements that SMS must fulfil before deploying as a real-world application and studies how the state-of-the-art methods address these requirements. Finally, possible future work and several high-level considerations for their real-world implementation are discussed.

D. PAPER ORGANISATION
This paper is organised as follows. Section II discusses the common SMS challenges, Section III reviews various service configurations and modes of transport and how their specific challenges link with the common challenges discussed in Section II. Section IV suggests several key system requirements that must be fulfilled when deploying SMS in real-world configuration followed by a review and analysis of current solutions. Section V offers a discussion and presents future work directions. Finally, Section VI concludes the paper.

II. INTERCONNECTED CHALLENGES
SMS require addressing similar and interconnected challenges regardless of the mode of transport they offer. Such challenges include effectively determining locations for required facilities, demand-based distribution of the resources (i.e., vehicles), matching the available resources and dynamic requests, and efficient routing. This section categorises the common interconnected challenges of SMS 1 and studies the various methods used in the literature to tackle them. The objective of this section is to give the reader a clear perspective on existing reusable techniques addressing the challenges in SMS that might have been overlooked merely because of the different modes of transport on which they focused.

A. FACILITY LOCATION
Facility location refers to strategic planning for the deployment of required infrastructure for SMS such as carsharing and bike-sharing systems [46,47]. The required infrastructure includes the stations to pick up and drop off cars [47], or bikes [46]. Particularly, strategic planning tries to find the optimal number, location, and capacity of required infrastructure to satisfy the demand on a particular shared mobility system with the lowest possible cost. Recently, these infrastructures have also started providing charging facilities for electric vehicles [48,49,50,51,52,53,54], or even geofence [55] for regulating the parking behaviour of bike travellers (i.e., the users cannot lock the bike to stop charging fees in geo-fenced areas). The service region design, described in [52], has a similar meaning as the facility location. In this paper, the service region design covers the service capacity planning, besides the location planning. Different techniques, such as genetic algorithms [46,54], approximation algorithms [49,53], heuristic simulation [48,50,55], and queuing theory [47] are used to find the best location for facilities to maximise the quality of service while minimising the operational cost. Park et al. [56] proposed an optimisationbased approach for bike station deployment to reduce short car trips in the Gangnam-gu district within the city of Seoul, Korea.
The recent integration of autonomous vehicles as part of Mobility-on-Demand systems creates an opportunity to operate a fleet that does not need any physical facility station, assuming cars can drive off themselves when they are empty. This can impact traffic negatively. Zhang et al. [18] and Zhang and Guhathakurta [19] propose strategies to plan public parking spaces to mitigate this issue. Agatz et al. [38]: This paper systematically outlines the characteristics and problems of dynamic ride-sharing systems and surveys optimisation models to address resource assignment.
Furuhata et al. [12]: This paper presents a classification of current ride-sharing systems, from business function, implementation mechanisms, etc. The objective is to identify remaining challenges and provide future directions.
Ferrero et al. [35]: This paper introduces a five-level taxonomy of car-sharing in mode, engine, optimisation objective, time horizon and methodologies, and derives general trends from the operational level, user behaviours, service demand, and business development.
Wang and Yang [45]: This paper proposes a general framework to describe the interactions between endogenous and exogenous variables in ride-sourcing systems. It summarises research problems and solutions from diverse perspectives, including demand and pricing, supply and incentives, platform operations, and competition, impacts, and regulations.
Narayanan et al. [36]: This paper offers a description of the Shared Autonomous Vehicles (SAV) services by highlighting the various configurations and modelling strategies.
Golbabaei et al. [44]: This paper highlights how SAV systems are studied in the light of a set of impact performance indicators including urban mobility, facility location, land use, environment, travel behaviour, etc.
Tafreshian et al. [22]: This paper covers the major studies on Peer-to-peer (P2P) ride-sharing systems, with a focus on classifying the operational features, modelling, and solution methodologies for matching, routing, and scheduling.

× × × ×
Our paper: First SMS survey from a whole system design perspective to meet emerging demands for multi-model transport demand and end-to-end shared mobility as a service.

B. RESOURCE ASSIGNMENT
Resource assignment focuses on the dynamic matching of supply and demand. The demand is composed of requests for shared rides submitted to the system dynamically by the users (i.e., passengers), and the supply is the quantity of currently (or shortly) available means of transport such as shared cars or bikes. Centralised resource assignment approaches assume the presence of a central third party entity, which is ubiquitous and fully aware of the supply and demand [27,57,58,59,60,61,62]. Decentralised and distributed resource assignment approaches rely on the shared information between multiple stakeholders that provide mobility services (e.g., autonomous cars, taxi drivers). In decentralised approaches, the mobility network is divided into sub-networks and each sub-network is monitored and managed by an independent entity matching local requests with available vehicles [13,16,20,30,34,63,64,65]. Distributed approaches assume drivers to be independent decision-makers that can make their own choices and manage the emerging requests locally as self-organised systems [21,25,66,67,68].

C. RE-BALANCING
Re-balancing in SMS represents the challenging task of reallocating resources to ensure that the supply matches the expected demand in services such as car-sharing or bikesharing. The distribution of available vehicles should satisfy the ever-changing amount of customer trip requests. The measurement methodology of vehicle supply depends on whether or not a station exists: • Since the stations' capacity is limited in station-based systems, the supply is the number of available vehicles at each station. [16,69,70]. • A road network is discretised into zones within which the vehicles are distributed locally in the station-less systems. [24,59,66]. The effectiveness of re-balancing methods depends on how well the demand is predicted. For example, in their predictions, [3] considered the impact of both common contextual factors, such as time and weather, and opportunistic contextual factors, such as social and traffic events. [4] proposed a spatio-temporal mobility model to predict traffic for each station with sub-hour granularity. The re-balancing process in [28] has an advanced 24 hours reservation system to enhance the demand prediction. The number of completed trips can measure the evaluation of re-balancing [69] or the ratio of failed requests [28] after re-balancing.
Centralised re-balancing solutions use single or multiobjective optimisation techniques such as mixed-integer linear programming [1,28,70,71,72,73], heuristic search algorithms [5,15,16], evolutionary computation [74], stochastic processes [6] and deep reinforcement learning [68] to rebalance supply and demand within the whole road network. Additionally, to minimise the staff operation cost, an incentive is used to encourage drivers to pick up vehicles from a particular station that has a higher supply [69,70].
Decentralised re-balancing approaches decompose the road network into multiple sub-networks through clustering adjacent stations [16] or form disjoint multi-regions [20,30]. The re-balancing scope narrows into each sub-network, which decreases the relocation solution's spatial complexity. Regional decision-makers assign vehicles within their region to match the supply and demand in their stations or zones, which results in self-sufficient regional re-balancing. Agentbased re-balancing methods used in Shared Autonomous Vehicle (SAV) systems are some examples of decentralised techniques [24,25,66]. Also, reinforcement learning techniques are used to present a new relocation strategy with a cumulative incentive reward, which is normally represented by vehicle occupancy, travelled miles, and trip cost.

D. ROUTING
Routing is one of the fundamental problems in shared mobility. A vehicle or a fleet of vehicles needs to be assigned to the least-cost routes to finish specific tasks while satisfying certain constraints. Generally, for a single trip, there are two types of routing problems, Shortest Path Finding (SPF), which generates the least-cost route given an origin and destination; and Travelling Salesman Problems (TSP), in which the least-cost route should traverse all given destinations.
SPF and its variations, especially the dial-a-ride problem, are commonly seen in the literature of ride-sharing services [13,25,31,32,34,75,76,77], in which a set of routes with the minimum cost will be found to satisfy the user requests. Furthermore, [32] introduces the concept of "insertion" in a dynamic setting of SPF, in which drivers reevaluate their routes in the event of new user requests. The suggested routes usually aim at maximising the revenue, or users' satisfaction [13,32,34,76,77] under constraints such as users' waiting time and travel time for incurred detour [13,25,31,32,75,77].
TSP has a broader range of applications, it can be seamlessly integrated as a necessary step for re-balancing the supply and demand of car or bike-sharing services [16,71,78,79]. Specifically, these problems seek the least cost for a group of vehicles to implement the goal by traversing necessary stations to pick up or drop off a certain number of cars or bikes. Additionally, combined with large-scale trajectory data and artificial intelligence technologies, the probability of a notorious broken bike issue can be predicted well in advance. Thus, they can be efficiently recycled by a vehicle fleet [33], which is a typical application of TSP.

III. MODES OF TRANSPORT AND THEIR CHALLENGES
Various transportation modes and service configurations can be used to provide shared mobility services. As shown in Fig 1, the service can be performed by human drivers or automated vehicles (Shared Autonomous Vehicles (SAV)). According to the service configuration, the vehicle can be shared simultaneously (e.g., ride-sharing) or successively (e.g., car-sharing, scooters, bikes) by multiple users. Shared services such as bike-sharing, car-sharing, ride-sharing, and SAV are among the most common mobility services used in literature and practice. This section briefly explores the shared mobility services offered using these modes and reviews their most common challenges.

1) Car-sharing
Car-sharing separates the ownership and the use of a car so that a user can avoid the expenses of owning and maintaining a car [35]. As opposed to ride-sharing, in which a user shares a trip with multiple other travellers, car-sharing promotes sharing a car multiple times by different drivers. It potentially mitigates road congestion, increases vehicle utilisation rate, and reduces greenhouse gas emissions and trip costs [80,81].
Three main challenges must be addressed in the carsharing context: facility location, re-balancing, and routing. A typical version of the facility location challenge is to find optimal planning for the locations and capacity of designated car stations, which enables these stations to satisfy the users' demand, with the minimum possible cost (e.g., the number of required stations and vehicles per station). For instance, Biondi et al. [47] proposed a queuing theory-based method to model the stochastic demand for car pick-ups at specific locations. A recent version of the facility location challenge in car-sharing focuses on the optimal placement of charging points for electric vehicles to satisfy their charging demand. For instance, Du et al. [49] proposed an approximate algorithm, called the fast charger-based greedy algorithm, to speed up the solution for this NP-hard problem using a real data set from the city of Beijing, China.
Re-balancing re-adjusts vehicle supply for each station to better fit the demand of the car-sharing service, while minimising the fleet size and the number of staff [1,82]. In an optimised reservation-based system, users need to book their trips in advance, which can effectively increase the level of service [14,28,83]. The feedback dynamic pricing methodology [67,70,84] has been well studied in the literature for regulating users demand based on the existing car station capacity. The commonly used optimisation techniques in this context include linear programming [14], mixed integer programming [28], and particle swarm optimisation [15]. VOLUME 4, 2016 Routing in car-sharing refers to the execution of a rebalancing strategy so that a group of service provider staff can provide the target number of vehicles at each station with minimum travel cost [85] when relocating the cars from one point to another. Researchers formulate this as an optimisation problem to maximise or minimise single or multiple objectives (e.g., facility coverage, service success rate, routing cost.) using exact (e.g., mixed-integer linear programming) or heuristic algorithms (e.g., genetic algorithm [86,87]) considering various constraints [1,26,28].
Analysis: Car-sharing research in recent years has focused on the re-balancing and vehicle relocation problems [26,28,30,47,86,87,88]. The routing problem also plays an essential role in the operation of re-balancing, and it is often studied in a well-integrated way with re-balancing problem [15,47]. However, as this combined problem is inherently an NP-hard problem, the performance of proposed solutions has usually been validated on a simulation platform with comparisons to rather simplistic benchmark solutions [14,66,67,89]. Thus, it calls for a theoretical improvement or a better heuristic that can provide a good enough solution in real-time and more general settings. In recent years the amount of research being conducted on the traditional facility location challenge has decreased. However, it is worth noting that with increasing interest in shared electric vehicles [50,66,90], the facility location challenge has become more difficult, as it is required to take into account new factors such as the location and capacity of various charging points.

2) Bike-sharing
Bike-sharing increases the accessibility of bikes for short or medium trips, solving the first/last-mile problem due to its high flexibility compared to other modes of transport. In addition, there are societal and environmental benefits if more citizens use bikes. Therefore, many cities are now promoting the use of bicycles to replace other transportation modes, particularly private vehicles, whenever possible [91]. Facility location, re-balancing and routing are three main challenges in the bike-sharing research community.
Facility location, traditionally, refers to the approach of deploying bike stations to maximise the satisfaction of users demands, with minimum possible infrastructure cost [46,92]. Recent facility location research for bike-sharing has also investigated the optimal planning of geo-fence stations, which are virtual stations that encourage users to park the bikes in the designated areas inside the geo-fence [55]. In [46,55], the authors proposed bike-sharing network optimisation approaches to efficiently and accurately determine the suitable station locations.
Routing becomes important when supply must be rebalanced with the least possible travel cost. Routing problems are often cast into variations of TSP, which can be solved using hierarchical-based method [16,68] or heuristic approaches [5,103]. These routing approaches are also applicable for practical bike-sharing challenges, such as planning bike lanes [104] and recycling broken bikes [33].
Analysis: Facility location [46,55,92], routing [16,33,71,100], and re-balancing [6,16,68,71,96,102] challenges have been well-studied in the bike-sharing context. Some use re-balancing and routing methodologies proposed for car-sharing systems [16,71], which utilise mixed-integer programming for solving a constrained multi-objective optimisation problem. Others use deep neural networks to predict user demand at the station and cluster level (i.e., partitioning the stations into clusters) [3,4,92,98,99] to achieve a better re-balancing and routing solution. The facility location of bike-sharing systems is not limited to planning the placement of bike docks, it can also be used for the planning of "electric fences" (or virtual docks) [55] in dockless bike-sharing systems to avoid inappropriate parking. In the future, we expect to see more work on the impact that bike-sharing has on integrating and easing access to multi-modal transport, as well as reducing greenhouse gas emissions and fuel consumption.

3) Ride-sharing
Individual travellers can share a vehicle via dynamic, P2P, or bi-modal ride-sharing services [12]. This reduces travel costs while potentially reducing the number of cars on the road and increasing vehicle occupancy rates. Dynamic ride-sharing services can match rides for once-off rides, as opposed to carpooling in which shared trips are scheduled for an extended period. Moreover, drivers in such systems drive to perform activities of their own, rather than merely transport riders. In P2P dynamic ride-sharing, once-off ride-sharing is managed with any form of agreement, whether it is on-the-fly or prearranged, between peer drivers and riders [105]. In bimodal ride-sharing, private providers of on-demand mobility services offer to drop off a passenger at a transit station. From here, the passenger uses the transit network to reach another transit station, and the service provider guarantees to pick the passenger up to take them to their final destination [106]. The main challenges in ride-sharing include resource (i.e., vehicle-rider) assignment, routing, re-balancing, and pricing.
Rider(s)-vehicle assignment is the process of pairing drivers with one or multiple riders on the same trip. Several ride-sharing patterns (e.g., sharing an identical trip, a part of a trip, or implying a detour) can be observed depending on the way a trip is matched (see [12] for a full classification). Thus, ride-sharing often requires both drivers' and passengers' flexibility to adapt their route and pick-up/dropoff location [13,107,108,109] [64,66], and learningbased approaches [24] have been used in this context. Also, federated optimisation architecture [13], heuristic, greedy or approximation [114,115] and dynamic programming algorithms [32], search space reduction [13,20,60,75,116,117,118,119], and recommendation systems [120] have been proposed. [121] presented a novel Graph-based Many-to-One ride-Matching (GMOMatch) algorithm for the dynamic many-to-one matching problem in the presence of traffic congestion. To compensate for the spatio-temporal sparsity and increase the number of served rider requests, a multi-hop P2P rider(s)-vehicle assignment is formulated as a many-tomany problem in which a rider can travel by transferring between drivers (i.e., providing multi-hop itineraries for riders), and a driver can carry multiple riders. In [105], the authors mathematically modelled the many-to-many ride-matching problem as a binary program in a time-expanded network and proposed a pre-processing procedure to reduce the size of the input sets of this optimisation problem.
When addressing the routing problem, Golpayegani et al. [122], de Carvalho and Golpayegani [123] highlighted that the rider's and driver's preferences must be taken into account. This needs to be done while minimising the operating costs, travel mileage, waiting time, and detours while maximising customer satisfaction [124]. The routing is addressed in literature with techniques such as data pre-processing [125,126] and caching mechanisms for the computation of the shortest path [75], indexing methods [75,127], and dynamic route calculation [108,128].
The optimal pricing strategy for ride-sharing platforms is another important challenge because it requires economic models that capture the incentives of both drivers and passengers [131]. There have been a few works in the literature to address pricing [21,110,116,125,132]. For example, the origin-based differentiated, profit-maximizing pricing to determine spatially and temporally differentiated minute prices [133], a price-aware decentralised auction-based matching algorithm [110], and a parallelism-based technique for computing the shared cost [126].
Multi-agent-based solutions can provide a more detailed characterisation of the problem by employing entities with varying sensitivity to price and delays [136] and facilitating their negotiation process [112]. This modelling paradigm can simulate near real-world systems, as well as test the system requirements. It achieves this by giving each entity autonomy and decision-making power.

B. SHARED AUTONOMOUS VEHICLES
Shared Autonomous Vehicles (SAV) systems refer to shared services making use of fully Autonomous Vehicles (AV). SAV might include various configurations: from ride-sharing services [24,25,57,62,129,137] to vehicle-sharing services [27,58,138] such as autonomous taxis [76,111,138,139]. These can be summoned by the user who plans a trip in advance (i.e., Autonomous Mobility-on-Demand). Driverless vehicles are the main feature of an SAV fleet, they enable operating without dedicated stations by picking up passengers directly on the street [19]. However, it requires highly dynamic routing and re-balancing strategies to face current [140] or upcoming demand [25].
The vehicle-rider assignment problem has been studied in literature, with strategies such as, static [141], heuristicbased [138] and optimisation-based [14,73] assignment being investigated. For a SAV system to provide a ridesharing service, a dynamic resource assignment mechanism is required to manage the supply and demand for rides in a short time window. [138]. Such a mechanism needs to take into consideration the decision-making capabilities of the SAV, as well as its potential ability to communicate (connected SAV). Shen and Lopes [142] proposed an algorithm to automatically and effectively dispatch autonomous vehicles in an AMoD system while accounting for a better passenger experience. Other multi-objective assignment strategies have been proposed [60,77,143] and more recent work showed the efficiency of learning-based approaches [24,25]. Moreover, additional constraints such as dynamic fleet sizing [25,60] or the need for electric AVs charging [66] further complicates the vehicle-riders assignment stage. Including the choice between different modes of transport such as public transportation [135,144], or private (human-driven) cars [72] is a more recent trend.
The re-balancing problem becomes of paramount importance since without (or with very limited [19,66]) static facility locations. Re-balancing is the only way to ensure accessibility and sufficient supply for the end-users. Most of existing research focuses on the relocation of empty (or idle) vehicles to pending (ride-sharing) requests [24,25,57,62,129]. The most used strategy is to partition the road network into blocks [58,59], or zones [24,25,62,145,146], that gathers the current number of pending requests. Real-time information is used to anticipate the re-balancing of empty SAV based on current demand [18,24,25,60,146] while there were some attempts to build prediction models based on historical demand [27,31,59,136].
Static routing strategies [76] are limited in the context of SAVs as the dynamic nature of the demand and other traffic related characteristics must be considered. For example, an efficient routing strategy is required to minimize the average VOLUME 4, 2016 arrival distance of all passengers and to avoid the concentration of the SAVs on high-demand links. Dynamic routing strategies have been investigated [18,24,62,73,77,129,141,145]. Optimisation can be carried out to achieve shortest and/or fastest trips [31,61]. However, multi-objective and heuristic-based approaches [18,27,147] tend to better capture the different requirements of ride-sharing enabled systems (e.g., minimising the waiting times of end-users, while reducing the distance travelled by AVs). However, SAV share the road network with other vehicles that could impact their operation, thus the integration of a congestion-aware routing process [25,61] can reduce potential delays before a passenger pick-up, during re-balancing, or while driving to the final destination.
The future step should be to develop SAV systems that use distributed and decentralised architectures, such as using connected vehicles technologies. Through congestionaware dynamic routing or travel time prediction within the assignment and re-balancing stages, it would be possible to implement more efficient systems.

IV. KEY WHOLE SYSTEM DESIGN REQUIREMENTS
When deployed in the real world, in addition to the interconnected challenges reviewed in Section II, SMS must meet several whole system design requirements. These requirements arise from the interconnectedness of components, each of which must handle a large volume of real-time data. Decisions involving multiple stakeholders (passengers, drivers, service providers, etc.) must be made autonomously, in realtime, and offer multi-modal and inter-operable transportation services. Therefore, any solutions tackling the challenges reviewed in the previous section should also satisfy key system requirements such as scalability, efficiency, robustness, autonomy, and practicability to be suitable for real-world implementation. This is an important contribution of this paper, as one cannot evaluate a solution while neglecting how it meets these key requirements. For example, a routing algorithm that does not scale or a resource assignment algorithm that does not consider the possibility of working with multiple modes of transport when applied in a highly inter-operable setting will not be helpful.
This section identifies several key system requirements for SMS and reviews the solutions proposed for the common SMS challenges that address them.

A. KEY SYSTEM REQUIREMENTS
The real-world environment characteristics might impose new requirements that strongly affect the solution design when a shared mobility system is deployed in practice. In this section, we have identified several such requirements. However, we do not claim that this list is extensive and believe that it can be updated based on the specification of a particular system.

1) Scalability
In the literature, the scalability of a system is examined by how it can be applied to a real-world-sized transportation network, addressing millions of trips per second in the presence of thousands of vehicles [149]. However, the range of acceptable values to claim scalability is not a shared concept within the literature and may vary in different works.
Practically, the papers that claim for a scalable implementation of SMS are exemplifying it by an application to a large or real-world network [3,21,90,97]. Furthermore, in some of the related work, the autonomy of the system through decentralised architectures [13,21,64,110,150] can also support its scalability properties. However, it is not a prerequisite when designing scalable systems.

2) Efficiency
The efficiency of SMS depends on the algorithms and techniques used to optimise and speed up the system's operation. SMS must be able to perform in real-time, in the presence of millions of ride requests, multiple modes of transport, and thousands of vehicles. This definition encompasses the notion of an algorithm's complexity [151] and an optimised architecture [13,30,62,71]. Efficiency can be also claimed by reducing the problem dimensions through pre-processing of data [7,16,28,90] or optimising a cost function, such as minimising the number of requests aborted because of insufficient supply [50,55].

3) Robustness
A robust SMS design ensures that its operation and performance are not impacted drastically when a sudden change or unusual situation occurs in its environment. The robustness of a system can be impacted by design decisions such as the architecture choice. For example, choosing a decentralised architecture over a centralised one to provide some degrees of resilience when operating in volatile environments [150], or designing pro-active algorithms to cope with unusual demand profiles [152]. As another example, Lu [152] implemented robust fleet allocation models for bike-sharing systems by addressing uncertain origin-destination demands. It is formulated as a robust optimisation problem and seeks to minimise the total system cost in the worst-case or the case of maximum demand scenarios derived from the uncertainty sets.

4) Autonomy
In some SMS, multiple entities must coordinate and make decisions to offer a service. When such entities can choose from the available options, it can be claimed that they have some levels of autonomy. For example, in ride-sharing, if the passengers and drivers are given the option to accept or decline a suggested ride, it can be claimed that each of these entities has some degree of autonomy and are not solely following the instructions of a central decision-making entity.
SMS can be organised as a network of agents (e.g., rider, driver, autonomous car, fleet manager) with a specific architecture (centralised, decentralised). The autonomy of this system depends on the degree of decentralisation and its selforganisation abilities [153].
The implementation of autonomy in SMS is very similar to that implemented in the Internet of Things (IoT) context [154,155]. In IoT, a distributed network of devices/sensors can be defined so that each entity can act autonomously by performing its tasks or allocating tasks to others in a decentralised manner. So, different architectures such as decentralised, federated, or distributed can enhance the level of autonomy [150,153,155,156].

5) Practicability
In SMS, the practicability of a designed solution concerns any aspect of the software that would ease its transfer from a working and fully operational prototype to a real-world configuration. For instance, any assumptions on computational complexity must be compliant with real-time service requirements [97], or when a data-driven solution is proposed it must also work with the sheer volume of real data generated under realistic traffic conditions [25,50,69].

B. ADDRESSING KEY SYSTEM REQUIREMENTS
In this section, we analyse how and to what extent the current solutions to the challenges reviewed in Section II address the key system requirements.

1) Rider(s)-vehicle assignment
In real-world applications, the assignment of millions of trips per second in the presence of thousands of taxis is challenging and requires scalable solutions that are linear in the number of trips. Distributed taxi-sharing algorithm [63], decentralised or multi-agent approaches [21,64,110], and federated optimisation architecture (i.e., a sequence of linear assignment problems) [13] are common approaches to capture the stochastic supply and demand dynamics in largescale ride-sharing scenarios. In [110], the authors proposed a price-aware, decentralised, auction-based matching algorithm as a scalable and efficient fair pricing model for the rider, driver, and platform provider. To improve scalability, branch and bound [157], heuristic, greedy or approximation algorithms [114] can be used to solve assignment problems, especially in centralised solutions. Greedy, randomised solutions are computed initially and then a local search is performed to improve the solution. For instance, in [32], the authors proposed a novel dynamic programming algorithm to decrease the number of candidate workers planning to serve a request. Processing requests hierarchically to reduce the scope of searching [116], reducing the size of the candidate set by filtering taxis that are not matching the incoming request, using mutual geographic location [13] by moving object indexing methods [75] or time constraints [117], reduced networks (i.e., disjoint regions) known as regional ride-sharing model [20,118], and blocks/zones to discretise a road network [60] are some of the approaches to reduce the size of an assignment problem to conquer the scalability challenge. Some data pre-processing tasks such as using a spatio-temporal index to quickly retrieve candidate taxis, precomputed distance and travel time of shortest paths [125], and cache layout for pre-computed shortest paths to facilitate queries [126] improve the scalability of a proposed solution. In [126], the authors proposed using intra-request parallelism when computing the sharing cost of each taxi for a pickup request and inter-partition parallelism in periods of low taxi activity to improve the scalability. In the literature, real citywide taxi data sets contain millions of trips used to examine the scalability of the assignment algorithms [32,34,61,125,126,143].
The efficiency of a solution to the assignment challenge is evaluated by how fast it can process a request in a system with millions of other requests and vehicles An efficient approach needs to capture the highly dynamic nature of the distributed ride-sharing environment [34] and improve the accuracy of identifying the participants to better improve the computational efficiency [158]. In [107], the authors presented an efficient symmetry breaking model to reduce the search space by considering the complex switching rider problem. In this problem, both drivers and passengers have to travel within a time window and are willing to switch roles (known as shifters). To investigate the potential transportation mode change, Rodier et al. [159] simulated ride-sharing using an activity-based travel demand model. The model identified users that could be potential clients of a dynamic ride-sharing system. In distributed or modular/hierarchical approaches [13,20,21,34,110] each driver carries a small number of riders and has its preferences independently, and thus even an exhaustive search can be performed in real-time. Also, all candidate drivers can perform the search in parallel, so these approaches can decrease the latency. Examples of modular/hierarchical approaches can be seen in [20] where the authors introduce the regional vehicle ride-sharing assignment problem, in [24], where the authors propose a decentralised reinforcement learning-based approach to address assignment efficiently, or in [34], where the authors proposed an algorithm that can handle multiple incoming requests in parallel to reduce the waiting time. The authors of [105] proposed a finite decomposition algorithm to solve a multihop P2P ride-sharing problem in a very short period, enabling the implementation of multi-hop ride-sharing. In [117], the authors used a binary search strategy to quickly and efficiently retrieve candidate taxis that are likely to satisfy a VOLUME 4, 2016 trip request. Heuristic approaches also address efficiency, for instance, in [114], the authors proposed a greedy randomised adaptive search procedure to solve the static version of the taxi sharing problem with predefined time windows. Learning-based methods are the other efficient approaches in which there is no need to design a sophisticated weighting scheme for the matching algorithms [21]. A weighted graph colouring algorithm has also been used in [109] to create clusters of people who can travel together, these clusters have lower dimensions and have the flexibility to incorporate other factors to promote ride-sharing efficiency. Some literature works concentrated on reducing the road network and then processing the assignment [118], so network-dependent computations (e.g., shortest paths) can be done much faster on the reduced network. Decreasing the number of candidate riders or shrinking the driver set for each rider using a time-expanded feasible network [118], reducing the search space [116], and using time windows and dividing time into epochs [114,116] are the other approaches addressing the assignment efficiency challenge. Caching mechanisms such as the Least Recently Used caching scheme are proposed for the fast shortest path computation and fast dynamic matching algorithm [75]. In [75], the authors proposed using spatial indexing methods for fast retrieval of moving taxis, or in [127], the authors used an inverted index data structure to store and retrieve shortest route nodes to increase the calculation speed of matches. Assessing flow propagation and optimising the fleet size according to congestion or time period [31], and optimisation of the extra time acceptance for the enduser [145] are some other efforts to make ride-sharing approaches more efficient. In the literature, the efficiency metric is evaluated using extensive experiments and considerations for the computation time [32,125].
The practicability of a ride-sharing solution is tested when a service is put in place for practical use by exploiting a real city road network, the enormous historical taxi trajectory data, and addressing real-world requests [125]. In the literature, the practicability of proposed assignment approaches is tested by using real-world data, producing realistic traffic conditions, and/or using the algorithm in a real application [13,14,19,25,32,61,63,65,73,75,113,116,141,143,157]. Decentralised optimisation agents fit more with the realistic-size instances of metropolitan areas because they reduce computation time extensively and provide near-optimal results [64,66]. Using the reduced network in the network-dependent computations [118] and clustering the requests [111] are other effective approaches to address practicability on large-scale networks. Optimising the fleet size according to the demand and acceptance parameters of the end-user (i.e., maximum waiting time/delay or extra travel time) [143] and finding pair riders that have overlapping routes [109] are some of the efforts that impact the practicability of the proposed approaches. Moreover, using an incentive mechanism to encourage road users to use applications and emphasising pseudonymity and location privacy are important issues that can improve practicability [160].
A resource assignment solution must include a dispatch strategy that is robust against potential hardware or connectivity failures, passengers' demand, and the uncertainty of vehicle mobility patterns to guarantee an acceptable success rate. Distributed approaches are more reliable and robust than centralised approaches where hardware or connectivity failures are possible. Using mean-field approximations to address population size or a variable number of active drivers helps to improve the training stability and robustness of an algorithm [21]. Also, predicting ride requests increases the robustness of a solution against the potential uncertainties of both requests and vehicle mobility patterns [20]. In [109], the service quality is guaranteed through fixing customers' costs and maximising the operator revenue. In [116], robustness is improved by providing service guarantees in which customers are always guaranteed a ride by considering exponential penalties for providers who fail to serve customers' requests. Flexible control of the taxi count, preventing failing to find a valid taxi [117], not blocking taxis until receiving a confirmation, and handling multiple requests in parallel [34] increase the ride-sharing robustness and consequently its success rate. In [34], asynchronous localised communication is used to estimate the current location of taxis and limits the effects of message losses resulting from their movements.
A resource assignment solution grants autonomy to riders, and drivers by allowing them to make their own decisions such as drivers accepting a ride based on their preferences [77]. Decentralised learning in agent-based techniques allows for more autonomy of concerned entities [65,113]. For instance, in [24], a decentralised learning-based approach is used to allow each car to learn its behaviour. Agent-based entity modelling is used to help the driver and rider to make their own decisions using decision-making parameters such as waiting time or cost [32,77].
Analysis: In the literature the scalability [13,20,21,32,34,60,61,63,64,75,110,114,116,117,118,125,126,143,157], efficiency [13,20,21,21,24,31,32,34,75,107,109,110,114,116,117,118,125,127,145] and practicability [13,14,19,25,32,61,63,64,65,66,75,109,111,113,116,118,120,125,126,141,143,157,160] are well-studied. However, there is a few works that address robustness [20,21,34,109,116,117,120] and autonomy [24,32,65,77,113]. The literature has focused on the usage of decentralised, greedy, or optimisation algorithms and reducing the scope of searching. These approaches are aided by several techniques, such as parallelism, efficient indexing schemes, and the pre-computing of shortest paths and travel times. Features such as time, distance, and price are used extensively by these approaches. However, there is not much work on how to identify preferences that influence customer decisions to increase their satisfaction and make the assignment decision-making process more autonomous. Some approaches succeed in introducing some levels of autonomy in the system, however, it remains unclear how this new characteristic might impact the other requirements such as practicability, efficiency, and robustness.
To address generating a robust matching system, it is possible to batch requests that arrive within a short time to further optimise the total travel distance [110,125], demand forecasting in scheduling and re-balancing to improve quality of service [13] and modelling road congestion for better route proposition [34]. Training data with new features could be added to the ride-matching system including money constraints, gender or friendship [63,117], users' social links, interests, influences, concerns for the level of service quality and travel activity patterns, drivers' willingness [158], drivers' different preferences on how to search for clients and their reasoning [136], and characteristics of tours and trips [159]. The future of work is being shaped by studying the uncertainty in preferences of users [120], training on new data arriving sequentially in online learning [158] and conceptual models to evaluate the interrelationship and causal effects among the parties [161]. Addressing privacy concerns [12], bid estimation [64], and travel cost distribution policies [161] should be studied to improve the system reliability.

2) Re-balancing
The solutions provided to address the challenge of rebalancing empty or unused vehicles often address efficiency, scalability, or practicability requirements, while the autonomy or robustness requirements are mainly neglected in the literature.
Offering an efficient re-balancing solution often implies improving the time complexity of the process in order to speed up the system's operations [7,13,16,28,30,62,71,90], reducing costs/improving profits [3,15,21,26,74,94,97] or converging to an acceptable pricing strategy [5,70,95,102]. The time complexity is improved by problem parallelisation or spatial/temporal simplifications. A rebalancing problem can be addressed using linear programming [71] combined with parallel computing [13], through a distributed set of decision-makers acting in parallel [30] or in batches [69]. A spatial simplification can be done by putting the closest stations together as a cluster and applying re-balancing strategies within each cluster or dealing with a hierarchical re-assignment of the vehicles to clusters, then to the stations [7,16,28]. A temporal simplification of the problem can be performed by aggregating the time period and assuming that the re-balancing should only occur at a specific time period or at regular intervals [90].
The proposed re-balancing strategies address the scalability requirement by dividing the road networks into subareas or zones. The discretisation process relies on predefined blocks when the re-balancing concerns autonomous vehicles without stations [13,24,25], while it is mainly addressed through clustering processes [7,16] or hierarchical descent algorithms [71] when re-balancing bikes [7,16,71] or cars [20,28] to stations. The scalability may be claimed for fully centralised re-balancing systems, which are assessed on realworld data sets [1,2,3,14,21,88,90,97]. Nevertheless, this assessment on the limited number of real data sets does not guarantee good performance when scaling up on a variety of road networks.
The practicability of proposed solutions is mainly addressed through the use of real-world data sets to assess the real demand emitted by end-users and/or to reproduce an existing system [1,2,7,14,15,21,24,25,26,28,30,61,69,72,88,92,94]. A few authors have implemented rebalancing strategies in pilot sites [69] or assessed the computing compliance with real-time applications [97], while most are interested in including some realistic parameters into the performance analysis of the re-balancing strategy. Such parameters include parking availability [18,19], the ratio of privately-owned autonomous vehicles versus commercial fleets [58], adverse weather, traffic events [3] or the need for recharging [90].
The robustness of re-balancing strategies is partially addressed in most of the literature by incorporating predicted demand profiles to anticipate the relocation needs [27,60,61,92,136]. However, their reliability when coping with unpredictable demand is rarely addressed [3,30,94,97]. [94,97] evaluated a re-balancing strategy which considered a set of scenarios with access to inaccurately predicted demand, while [30] introduced a robust, multi-period algorithm to deal with various time-periods. [28] divided the demand into two sub-sets: online requests versus in-advance requests in order to ensure enough reaction time for the system to meet the demand. For instance, [24,25] divided the environment into zones and recomputed the re-balancing strategy at runtime when the zones change.
The autonomy of the proposed re-balancing strategies is mainly addressed by multi-agent and reinforcement learning models [21,24,25] which rely on the choices made by independent drivers/agents. Autonomy of drivers is also considered to some extent in a centralised re-balancing system, in which drivers can accept or decline a re-balance request based on a predefined probability distribution.
Analysis: The main difficulties in re-balancing vehicles (bikes, shared and/or autonomous cars) over the pick-up stations/areas include the need for dynamic prediction and assessment of the demand and real-time redistribution algorithms to meet the demand. While the real-time requirements are widely studied in centralised systems, the robustness of the implemented systems to unpredictable demand [94] or the modelling of the autonomy [20,21,25,30] are not fully explored. Usually, a re-balancing solution is based on normal demand trends [27,60,61,92,136], but the high variability of data when unexpected events occur and the traffic dynamic changes are rarely addressed [3,30,94,97]. The robustness of such solutions could be enhanced by the introduction of highly reactive demand prediction processes based on supervised or reinforcement learning for instance, and/or through pro-active modelling processes such as the addition of "ghost" requests emitted by stations/areas with low service availability in its surroundings to attract vehicles. Furthermore, the robustness is impacted by having access to realistic travel time estimation for vehicles to re-balance. VOLUME 4, 2016 Finally, the autonomy challenge is poorly treated in relation to re-balancing. In the context of centralised systems, it can be explained by the fact that it only affects drivers' decisions to re-balance a vehicle, when it is in the economic interests of the driver to re-balance. The introduction of parameters that include the drivers' preferences [74,136] may help to reach a more acceptable re-balancing solution. Considering a decentralised system with autonomous agents making decisions [21,24,25], the autonomy is automatically implemented. The challenge lies in sharing enough information between agents to perform an efficient and practical self-organised re-balancing. Some efforts in the multi-agent modelling structures are expected on this topic to refine the multi-agent interactions supported by Artificial Intelligence (AI) methods, especially concerning the negotiation procedure between agents.

3) Routing
The scalability of a routing algorithm can be tested when addressing a large number of routing requests under citywide maps. For example, a simulation [76] based on the city of Berlin, Germany, used MATSim's dynamic vehicle routing problem engine, simulating up to 250,000 autonomous taxis operating on a full city map. Compared to static routing algorithms that find the shortest travel distance, [31] is a congestion-aware routing solution using a link transmission model which is more computationally expensive. It is reported that this routing method has been successfully tested on over ten thousand SAV on a simple small grid network. Tong et al. [32] fundamentally improved the routing algorithm efficiency for SMS, so that it can deal with up to 50k users under the New York City map. A recent work [34] with a distributed routing strategy for taxi sharing demonstrated that it can process a realistic data set that lasts over three years ranging from January 2013 to July 2017 in the city of Chicago, USA.
The efficiency of a routing solution focuses on the reduction of the required computation time and storage, given the same amount of input (i.e., routing requests). Although the first type of routing problem, which is the implementation of the re-balancing strategy, has proven to be NP-hard, literature has proposed many techniques to improve its efficiency using heuristics. For example, Schuijbroek et al. [16] proposed a cluster MIP approach with heuristics that can find better solutions within 5 minutes, as opposed to the classical full MIP, which needs around 2 hours. Pal and Zhang [71] proposed an advanced heuristic search with variable candidate solution size. This solution can achieve up to 500 times faster performance than the exact search solution. Levin [31] proposed a congestion-aware routing which can provide a faster route instead of the shortest distance route. Tong et al. [32] improved the routing algorithm efficiency using a dynamic programming-based solution to reduce its time complexity from cubic or quadratic down to linear time.
The robustness of routing strategies corresponds to the success rate of routing requests under unpredictable conditions such as the extremely high demand for routing and rerouting. In particular, Tian et al. [75] cached road network data to accelerate the shortest path algorithm to guarantee the service quality under configurable waiting time and the number of detours. A recent fully distributed routing mechanism [34] increased the ride-sharing success rate by handling multiple incoming passenger requests in parallel with a huge reduction in blocked requests. The autonomy of a routing strategy depends on how much human intervention is allowed during route selection along the full journey. The routing engine is mostly centralised such as [32], which can reject passengers' routing requests that may lead to excessive travel distance. However, there are a few works such as [77] that offered a degree of autonomy by allowing end-users to make their routing decisions. Gueriau et al. [25] also delivered routing decisions in a distributed way, which enables a congestion-aware routing feature. A mixed-autonomy routing strategy proposed by Yu et al. [34] models a centralised server, which receives the routing requests from passengers, validates if the insertion (i.e., new requests) can exceed a cost constraint, and finally confirms with passengers for execution.
Thanks to the rise of the IoT and big data, there is a clear trend in the literature that the practicability of routing solutions' are being validated using real data in realistic products. In [71], a routing strategy was validated on a synthetic scenario for computational study. The work of Bischoff and Maciejewski [76] was based on a realistic map and a demographic data set was used for a city-wide ridesharing simulation for Berlin, Germany. Gueriau et al. [25] applied congestion-aware routing in the simulator using a real city map and taxi demand data set, while Li et al. [73] implemented a Link Transmission Model to reproduce synthetic traffic conditions. Tong et al. [32] tested a unified routing engine using realistic routing request data set from the taxi and ride-sharing services of two cities: New York City, USA, and Chengdu, China. Zhang et al. [33] applied a routing strategy for recycling bikes using a field study in Haidian district, Beijing.
Analysis: Although a considerable amount of work has already advanced the efficiency of SMS by proposing a better routing solution, the most challenging aspect that needs further enhancement is efficiency [13,16,31,32,71]. There have been breakthroughs to accelerate insertion-based routing requests, with the time complexity reduced from cubic down to linear, but addressing the other type of routing requests, which is the implementation of re-balancing strategy, or a variation of the vehicle routing problem remains difficult. The efficiency of routing solutions is critical as it can hugely impact the scalability of a system. Improvements to efficiency can be achieved by processing large size maps and numerous routing requests in constrained time and thus, increasing the response rate of routing requests [34,75,78,79]. The validation of most routing strategies has been done at the city scale, which is an ideal scalability level. The realistic data set used for validation is coming from multiple sources, and the framework used is shifting from simulation to a real production environment. The possibilities for a better robust system using routing can also include a vehicle re-routing strategy that can adapt to en-route events, which normally makes certain roads unavailable without prior notice. Last but not least, the trend of including more autonomous vehicles has also improved the level of autonomy in making routing decisions in a distributed manner.

4) Facility Location
The scalability that a facility location solution mainly accounts for is the number of stations as well as the customer demands that the group of stations can support. For the bikesharing system, Liu et al. [46] claimed that their predictionbased genetic optimisation plan can improve the deployment of up to 320 stations in the Manhattan and Brooklyn area in New York City. Zhang et al. [55] validated their solution on the Mobike data set which contains trajectory data for nearly 300k bikes, with about 7,500 electric fences across the city of Shanghai. For the car-sharing system, Biondi et al. [47] showed that their simulation can run on with a deployment plan of over 1000 stations. The facility location solutions for electric car-sharing systems are even more complicated as it needs to consider the electricity demand. Bi et al. [48] reported that their heuristic method can support about 2,500 charging stations with 20,000 electric vehicles. [49]'s Fast-CG algorithm can provide the deployment of 139 stations from thousands of candidates.
The efficiency of a location strategy is mainly improved through maximising the utilisation of stations and minimising the number of stations (or the cost of building stations). Liu et al. [46] proposed an Artificial Neural Network (ANN) based station demand prediction model for improving the quality of deployment. The results show that this method can reduce the number of unbalanced stations from 86 to 56. Biondi et al. [47] applied queuing theory which can significantly reduce the cost of station deployment by keeping the quality of service for users. Park and Sohn [56] focused on replacing short car trips by optimal bike station deployment, with the comparison of two proposed location-allocation methods: the minimum impedance (p-median) model, which favours equal bike access spatially; and the Maximum Coverage Location Problem (MCLP) model, which can satisfy more bike-sharing service demand. Du et al. [49] designed a greedy approximation algorithm with a reduced time complexity with respect to the number of charging stations and the number of points of interest. Zhang et al. [55] can ensure at least 95.8% of all bikes can be docked at one of the planned electric fences. [50]'s data-driven simulation showed its smart station placement in just 8% of city zones can ensure enough electricity for all electric vehicles trips.
The literature of facility location methodologies has also shown a widespread high level of practicability using a realistic map and trajectory data of cities such as New York, Atlanta, Seoul, Beijing, Shanghai, Luxembourg [19,46,47,49,53,55,56]. Moreover, Cocca et al. [50] used a data set from four real cities: Turin, Berlin, Milan, and Vancouver. However, due to the significant cost incurred, we have rarely seen any work demonstrating a realistic implementation for the optimal station deployment strategy.
Analysis: The future work of facility location should mainly focus on the practicability side of shared mobility. The high practicability level can be achieved using largescale (i.e., larger map size and the number of stations) realistic data sets. A series of research attempts to improve the efficiency and scalability in the last decade [46,47,48,49,50,53,54,55,56], and the advantages of their new facility location method are mainly demonstrated in numerical studies with scenario-specific heuristic solutions, which might not be suitable when applied to different cities in practice. It is wellunderstood that excessive cost is required to put the proposed solution into practice. However, some research starts to move a step further by using real user demand data sets [50,53,55] to verify if a newly suggested facility location is valid for a bike-sharing system, as the cost of facility location of the bike-sharing system is rather acceptable compared to carsharing. It is expected to see more practical research of facility location on Electric Vehicle (EV)-based car-sharing systems with more realistic data set supported simulation. As the facility location is generally a one-off solution which neither users nor service providers can change once the decision is made, the discussion about autonomy is eliminated. We also merged the analysis of robustness into the efficiency part, as one of the objectives to optimise a facility location strategy is to maximise the station utilisation rate, which implicitly impacts the robustness level when satisfying a higher demand.

V. FURTHER DISCUSSION AND FUTURE WORK DIRECTIONS
As discussed earlier, SMS must meet the identified key whole system design requirements when providing a solution to address their interconnected challenges. Neglecting such requirements during the solution design will result in systems that would not operate when their simulated models are deployed in real-world configurations. Therefore, it is essential to understand such requirements and their impact on the particular challenge being tackled and, more importantly, on the overall system performance.
This paper also offers a comprehensive perspective on SMS as a whole, guiding the researchers to (1) identify the less explored aspects of a specific transportation mode and the solution addressing each challenge, (2) understand the interconnected challenges that different transportation modes face and guiding them to the explored solutions in other domains or modes that might be reusable, (3) more importantly, the comprehensive perspective presented helps researchers to perceive SMS not only as a simple ride-sharing or bikesharing service but rather a comprehensive system that must address multiple challenges (e.g., facility location, resource assignment, re-balancing, routing) and simultaneously fulfil VOLUME 4, 2016

Scalability
Efficiency Robustness Autonomy Practicability various system requirements. Table 2 reports the solutions that have addressed the identified key requirements from which we can conclude that robustness and autonomy are the less addressed requirements in the literature. Table 3, 4, and 5 report the extent to which each identified requirement is addressed in a particular transportation mode and in each solution domain (i.e., the solutions to the identified challenges in section II). For example, we can see that amongst all the transportation modespecific literature reviewed in this paper, there is a serious lack of focus on the robustness and autonomy compared with the other three system requirements. Ride-sharing (43%) and bike-sharing (35%) are the two modes with the highest coverage for robustness (see Table 4). However, this shows how the robustness requirement is neglected in transportation modes such as SAV, where the AV needs a robust assignment, routing, and re-balancing mechanism when operating in everchanging and dynamic traffic environments. Through the understanding we have created on the common interconnected challenges of transportation modes, we can also explore the re-usability of the solutions offered for different transportation modes. For example, the SAV literature has extensively explored re-balancing, which is a common challenge in ridesharing and car-sharing as well (see Table 5). This suggests where to locate potential reusable re-balancing solutions that can be applied in ride-sharing or car-sharing. TABLE 3. The percentage of each common challenge related paper, over the total number of common challenge related paper surveyed for each system requirement. (E.g., out of total 77 common challenges related paper surveyed that are addressing the scalability system requirement, 26% of them are about the assignment common challenge.)   In the light of our analysis of existing work on SMS, several avenues that need further investigation and could contribute to more efficient, scalable, robust, autonomous, and practicable shared mobility services are highlighted.
Design a system as a whole. As discussed in the previous sections, SMS solutions often address one or two of the listed challenges. However, when put into practice, a shared mobility system is not only a routing algorithm or vehicleuser assignment model rather a whole system that requires addressing all the shared mobility requirements. This requires a system that addresses all the listed challenges and key system requirements. Therefore, it is interesting to see a system architecture that includes all the puzzle pieces in one place, studying the impact of each challenge and the proposed solution on the rest of the challenge. For example, can a centralised routing mechanism be selected if a distributed solution for vehicle-users assignment is adopted?
Autonomy at a higher level. It would be interesting to design SMS with autonomy and adaptability implemented at the entity and system levels, allowing it to self-heal and selforganise in response to unpredicted events, which is highly expected in mobility contexts. The autonomy of systems will significantly impact their efficiency, robustness, and practicability when handling unseen situations. This can be achieved by decentralising data and decision-making power, allowing multiple entities in various roles to make decisions.
Towards an integrating plug-and-play architecture. As discussed in the previous sections, there are many algorithms and techniques in one application area from which others can benefit. Furthermore, although the mode of transport might impose some constraints on a solution, the abstraction and generalisation of such components can increase their re-usability and decrease the cost of building a system. To this end, a plug-and-play architecture can be introduced, specifying various components of SMS and their requirements for working together. Furthermore, the architecture can introduce parameter tuning to include all modes of transport, allowing for design systems with more than one mode of transport.
Towards a multi-hop and multi-mode shared mobility. Our review sheds light on the variety of existing and newly developed SMS. Each of them is generally proposing a promising mobility solution for a part of the user's trip. However, several mobility solutions can be available or in competition, and it is to the user's discretion to choose from them or combine them efficiently. While this problem is not exclusive to shared mobility solutions, the advancement of communication technologies that enabled these new systems in the first place could leverage door-to-door solutions for users that could account for individuals' preferences [122] and achieve better load balancing at a city scale.

VI. CONCLUSION
This paper carefully analysed SMS from different perspectives, enabling the researchers to identify the gaps in a particular mode of transport, its challenges, and how to identify reusable well-studied solutions from different domains. Also in this paper, researchers will find a comprehensive overview that enables them to perceive the higher level and critical requirements SMS must meet so that they can perform well in a real-world configuration as a whole system. Two of these less explored requirements are that the introduced solutions must be robust facing unexpected behaviours or events, and the system components must be autonomous, to reduce interdependencies and ensure better resilience. This remains the main challenge to face within the upcoming years since the subsistence and the key to success for SMS rest on the acceptance by end-users. Unreliable systems with repetitive breakdown or congestion will put off the end-users. Considering mobility as a whole service dedicated to the end-user is of paramount importance, which suggests paying attention to the coordination between the mode of transport on one side and between the key system requirements on the other.