Skip to main content

Algorithms to Manage Congestion in Large-Scale Mobility-on-Demand Schemes that Use Electric Vehicles


This paper studies the use of Electric Vehicles (EVs) in a Mobility-on-Demand (MoD) scheme. In this scheme, customers that act as cooperative agents request a set of alternative trips, where each trip provides a utility to the agent. The EVs are distributed across a number of stations. We propose congestion management algorithms which take as input the trip requests and calculate the EV-to-customer assignment, considering the number of executed trips and the utility obtained by the agents. Initially, we solve the problem offline and optimally using Mixed-Integer-Programming (MIP) techniques and then we solve it online using an equivalent greedy algorithm. The online algorithm uses three alternative heuristic functions to decide on the execution of a customer request: (a) The sum of squares of all EVs in all stations, (b) the percentage of trips’ destination location fullness and (c) a random choice of trip execution. To further improve the performance of the online algorithms, we also propose an agent-based negotiation scheme where alternative offers in terms of trip starting time are made to the agents when the initial EV assignment problem is unsolvable due to insufficient resources. Through a detailed evaluation, we observe that (a) provides an increase of up to \(3.2\%\) compared to (b) and up to \(3.7\%\) compared to (c) in terms of average trip execution, while giving the higher utility to the agents. All variations achieve close to the optimal performance. At the same time, the negotiation scheme improves the performance of the algorithms by up to \(15.7\%\).


During the last decades, the population of cities around the world has been rapidly increasing. Soon, 60% of the earth’s total population will be living in, or around cities. Such overpopulated areas do not usually have the capacity to efficiently support the needs of their inhabitants and ensure them a good quality of life. Common problems that arise are the high traffic congestion and the long delays, as well as the poor air quality. This situation also increases the inequalities between people with high and low income.

The current personal transportation model is based on privately owned vehicles that use an internal combustion engine [13]. This model is not considered viable as the vehicles cause high air and sound pollution and face low utilization rates [34]. Recently, the Electric Vehicles (EVs) are becoming increasingly popular. EVs are considered as an efficient alternative to those using internal combustion engines as they have a lower environmental impact, lower running costs [10], and higher quality of driving thanks to their silent operation. Currently, the global effort to significantly reduce \(CO_2\) emissions is based to a large extend on the electrification of transport. To date, more than 6 million EVs are deployed worldwide. Despite this number corresponding to only a small percentage of all vehicles, an ambitious target of having at least 30% new annual EV sales by 2030 has been set by the International Energy Agency. Although EVs have many advantages, they suffer from short ranges and long charging times. To overcome such issues, governments, municipalities and private companies usually select to build a large number of charging stations equipped with both normal and fast chargers. Fast chargers are able to charge an EV’s battery in less than 1 h. However, from an economic point of view, such facilities are only worth building if there are enough EVs to use them. Drivers, though, will not buy EVs if charging stations are not first available, leading to a catch-22 situation.

Mobility-on-Demand (MoD) is considered as an efficient way to increase vehicle utilization [20]. In a MoD scheme vehicles are used by either individuals, or small groups of commuters, instead of using their privately owned vehicles. Such schemes can reduce traffic congestion in cities, as well as the need for large numbers of parking spots. Although demand for travel is not actually reduced, the fact that multiple commuters use the same cars means that there are fewer vehicles on the road. This reduces congestion as fewer cars are parked at the sides of the roads. MoD also has the ability to achieve considerably higher vehicle utilization rates compared to individually owned ones as few vehicles will cover the transportation needs of many commuters. Moreover, other advantages include the fact that car ownership is reduced, as well as less up-front charges which means low-income people may be better served. However, MoD may suffer from not being able to provide consistent availability of a vehicle in the proximity of the user, in contrast to private vehicles which are always available, demanding efficient scheduling algorithms in order to maximize vehicle availability for the customers.

Given these benefits of EVs and MoD schemes, in this paper we study scenarios where EVs are used within MoD schemes, and tackle the related optimization challenges. By addressing these challenges, the advantages of the two transportation modes can be combined [5, 20]. Moreover, by using EVs in MoD schemes this new technology can be further marketed to potential car owners as they get to try this new type of vehicle before potentially buying one.

Recently, some of the largest car manufacturers started pilots on Mobility-on-Demand schemes using EVs. For example, Toyota has developed such a scheme in Grenoble, FranceFootnote 1 while BMW and Daimler have reached an agreement to collaboratively develop shared mobility services.Footnote 2

Against this background, in this paper we model a MoD scheme that is based on EVs and we develop algorithms to schedule trips requested by MoD consumers. We aim to maximize the number of trip requests serviced and the received utility for the customers, while coping with the limited range of EVs. To achieve this, we try to keep the system in balance in terms of matching demand against supply (i.e., the term “congestion” refers to the congestion within the stations that form the MoD scheme). We step upon the work presented in [24] and study the problem of assigning EVs to customers in a MoD scheme and we solve it offline and optimally using Mixed Integer Programming (MIP) techniques, as well as online using heuristic search. Additionally, we utilize agent-based negotiation techniques to further improve the performance of the online algorithms. In doing so, we advance the state of the art as follows:

  1. 1.

    We extend the optimal scheduling algorithm “Off-Opt-Charge” presented in [24] which considers single travel requests by customers, by covering the option for customers to express their demand for more than one tasks, where each task provides a different utility to the agent. As a task we consider a trip between a pair of locations starting a particular point in time.

  2. 2.

    We develop an online greedy scheduling algorithm for the problem of selecting the tasks to execute and the assignment of EVs to customers and we propose three alternative heuristic functions.

  3. 3.

    We develop an agent-based negotiation scheme aiming to slightly differentiate the demand in terms of a task starting time, when the initial online EV-to-customer assignment problem is unsolvable due to insufficient resources.

The rest of the paper is structured as follows: “Related Work” presents related work, “Problem Definition” formally defines the problem, “Optimal Offline Scheduling” presents the optimal offline solution of the problem and “Greedy Online Scheduling” the equivalent online one.“ Agent-based negotiation” presents the agent-based negotiation scheme. “Evaluation” provides a detailed evaluation of the algorithms and finally, “Conclusions and future work” concludes and provides ideas for future work.

Related Work

MoD schemes include several heterogeneous entities (e.g., commuters, MoD companies). These entities have their own goals, incentives and needs (e.g., trip requests, amount of energy to charge), they operate in highly dynamic environments (e.g., variable number of EVs, variable intentions of the customers) and have to deal with a number of uncertainties (e.g., future customer demand, energy production from renewable sources). Thus, algorithms that can cope with such complicated problems need to be used. To this end, Artificial Intelligence (AI) techniques have been shown to be efficient [23].

In this context, Pavone et al. proposed mathematical programming-based rebalancing mechanisms, that use either robotic autonomous driving vehicles [22], or human drivers [21], to decide on the relocation of vehicles to restore vehicle imbalances across a MoD scheme. Additionally, Smith et al. [32] used mathematical programming to optimally route such rebalancing drivers. Moreover, Carpenter et al. [6] developed solutions to the problem of optimally calculating the size of shared vehicle stations. Finally, Maciejewski et al. [18] proposed a real-time taxi dispatching strategy that solves the linear assignment problem to find a globally optimal taxi-to-request assignment. The works presented so far assume normal cars, and they do not consider the new challenges that the EVs bring. For example, in EVs-based MoD schemes it is important to ensure that the charging capacity is efficiently managed to allow for the maximum number of consumer requests to be serviced, while maximizing the utilization of energy coming from renewable sources.

Cepolina and Farina [7] study the use of EVs in a MoD scheme operating in a pedestrian zone. The vehicles are shared throughout the day by different users. One way trips and open ended reservations where the drop-off time is not fixed are considered. They propose a random search algorithm that optimizes the fleet size and the distribution of the vehicles and maximize the number of serviced customers. In a similar vein, Rigas et al. [24] developed algorithms to manage EVs in MoD schemes using advanced AI techniques, and specifically they solved the topical problem of assigning EVs to customers, given a finite set of EVs and strict demand constraints by the customers. The goal of the system is either to maximize the number of customers that are serviced, or the total EV utilization. To do so, they initially modeled the optimization problem as a max-flow problem to determine the set of feasible trips given the available EVs at each location. Then, they modeled and solved the EV-to-trip scheduling problem offline and optimally using Mixed Integer Programming (MIP) techniques. Given the average scalability of the optimal solution, they also developed an incremental-MIP algorithm for medium to large problems and a greedy heuristic algorithm for very large problems. Moreover, they developed a tabu search-based local search technique to further improve upon the solution of the non-optimal algorithms. In MoD schemes, demand often becomes unbalanced across different parking stations. In order the task execution ability to not be affected, costly manual relocations of vehicles may be needed. To address this problem and to maximize the operator’s revenue, the use of pricing mechanisms has been proposed by Drwal et al. [12]. These mechanisms adjust the prices between origin and destination stations based on their current occupancy, probabilistic information about the customers’ valuations and estimated relocation costs. In this way, drivers are incentivized to help rebalance the system.

At the same time, the routing of EVs that operate within MoD schemes is another crucial challenge. Traffic congestion and the ability of the EVs to recuperate energy under braking, or when driving downhill need to be taken into consideration. Guo and Xu [16] formulated the vehicle routing problem as a Markov Decision Process and they calculate future requests according to a historical probability distribution, and the look-ahead decision making is done using deep reinforcement learning. In a similar vein, Ammous et al. [3] consider in-route charging in MoD systems. They modeled the routing problem between multiple MoD stations with in-route charging as a multi-server queuing system, and they formulated their objective as a stochastic convex optimization problem that minimizes the average overall trip time for all customers in comparison to their actual trip time without in-route charging. Additionally, Salazar et al. [28] studied route-planning for autonomous MoD systems where they consider the impact of road traffic on travel time.

The smooth integration of EV-based MoD schemes into the electricity network is important in order to avoid overloading the network and to maximize the use of energy from renewable sources. Rossi et al. [27] modeled the coupling between the EVs’ charging requirements, time-varying customer demand, battery depreciation, and power transmission constraints. They prove that the socially optimal solution to this problem is a general equilibrium if locational marginal pricing is used for electricity. Tucker et al. [35] studied the case where vehicles complete trips and then enter a between-ride state. In this state, the vehicles must be scheduled for charging and then routed to their next passenger pick-up location. They propose an online welfare maximization heuristic that allocates the vehicles and rebalances them while avoiding congestion at charging facilities and pick-up locations. Finally, Turan et al. [36] studied the financial implications of smart charging in MoD schemes and they conclude that investing in larger battery capacities and operating more vehicles for rebalancing reduces the charging costs, but increases the fleet operational costs.

In a more practical dimension, Dia and Javanshour [1] developed an agent-based simulation framework to model the demand for travel and to assess their impact under scenarios of autonomous self-driving on demand shared vehicles. To demonstrate the feasibility of the approach, they provide initial results from a pilot study on a small road network in Melbourne, Australia. Extending such a scenario in a national level, Sheppard et al. [31] have formulated the problem as a quadratically constrained quadratic programming problem. In addition, Gkourtzounis et al. [15] proposed a software package that allows for efficient management of a MoD scheme from the side of a company, and easy trip requests for customers. Finally, different simulation tools such as MATSim [19], or EVLibSim [2] can also be used to effectively simulate EVs that form part of a MoD scheme.

An outline of the AI-related research areas related to EVs and MoD is depicted in Fig. 1. This work can be categorized under the “Congestion Management” and “Assigning EVs to Customers” categories.

Fig. 1

A taxonomy of research directions

This paper is an extension of [26]. It improves this work as follows: 1) In [26] the customers were assumed to be indifferent in the set of alternative trips they requested. However, in this paper we consider that the customers receive different utilities for the different trips. We argue that this adds more realism to our problem formulation and the equivalent solutions and brings it closer to a possible real-world application. 2) The objective function of the optimal solution and the heuristic functions of the greedy algorithm have been updated in order to consider the utility gain of the customers. 3) Occasionally, customers remain unserviced due to insufficient resources. In other words, there is no available EV to be assigned to them. Thus, we also propose an agent-based negotiation scheme where alternative offers in terms of trip starting time are made to the agents. In this way, more customers are serviced with a small deficit in their received utility.

The Optimal algorithm is an extension of the “Off-Opt-Charge” presented in [24] which now covers the option for customers to express their demand for more than one tasks, where each task provides a different utility to the agent. Also, intuition on congestion management algorithms has been taken from [25], and agent-based negotiation techniques from [30]. From an algorithmic point of view, similarities can be found with problems such as the capacitated vehicle routing problem [8] which is a special case of the Vehicle Routing Problem [9], where each vehicle has a limited carrying capacity, the project scheduling problem [33], and the machine scheduling problem [17]. Overall, the need for battery charging as well as the strict order of task execution differentiate our problem compared to the majority of the works presented so far, and make it harder to find the optimal solution. Also the use of utility-based optimization, the efficient online algorithms and the use of agent-based negotiation make it more applicable in real-world deployments and the overall concurrence of these techniques in the field of MoD using EVs make this paper stand out of the existing literature.

Problem Definition

In a MoD scheme which uses EVs, customers may choose to drive between pairs of predefined locations. They can choose at least one starting point and at least one end point. The MoD company aims to serve as many trip requests as possible, by executing tasks that keep the system in balance (i.e., to match demand across supply), while also considering customers’ preferences. A task is defined as a trip from a pick-up to drop-off location starting a particular point in time. Thus, based on the number of start and end points the customer has defined, all possible combinations are calculated and the equivalent tasks are created. We consider a network of parking stations where the EVs use to park and charge their batteries. The stations are considered as nodes aiming to be kept neither empty nor overloaded. The system needs to be in balance since the overloading of one station may cause major disruption to the network.

Fig. 2

An example MoD scheme

Figure 2 depicts an example MoD scheme which uses locations from a real deployment in Washington DC. This scheme includes a set of MoD stations (i.e., locations 1-7), where in each location a number of vehicles may be available for the customers. The MoD company is modeled as a single agent that collects the customers’ requests (either offline or online) and applies a scheduling algorithm which aims to maximize the customers that are serviced and consequently the utilization of the available vehicles. At the same time, each customer is also modeled as a single fully cooperative agent which communicates her demand for traveling and the equivalent utilities to the MoD company and has a goal to hire an EV and execute one of the desired tasks. This agent-based architecture was selected since it can better model the different actors of the systems (i.e., MoD company and customers), their desires, constraints and rewards.

Formally, we consider a fully connected directed graph G(LE) where \(l \in L \subseteq \mathbb {N}\) is the set of locations where the stations exist and \(e \in E \subseteq \mathbb {N}\) are the edges connecting all locations’ combinations. Each station has a maximum capacity \(c_l^{\text {max}} \in \mathbb {N}\) declaring the number of EVs that can reside at it simultaneously (we assume the total capacity of all stations to always be at least equal to the total number of EVs). We assume a set of discrete time points \(t \in T \subseteq \mathbb {N}\) where the time is global for the system and the same for all agents. We have a set of tasks \(r \in R \subseteq \mathbb {N}\) where a task is a trip initiating a particular point in time. Thus, each task has a starting location \(l_r^{\text {start}}\), an end location \(l_r^{\text {end}}\), as well as a starting time \(t_r^{\text {start}}\), a duration \(\tau _r\), and an equivalent energy demand \(e_r \in \mathbb {N}\).

We denote the set of EVs \(a \in A \subseteq \mathbb {N}\). Each EV has a current location \(l_{a,t} \in L\), a current battery level \(e_{a,t} \in \mathbb {N}\), a maximum battery level \(e_a^{\text {max}} \in \mathbb {N}\), an energy consumption rate \(con_a \in \mathbb {N}\) where \(con_a\) =(kWh/km), a maximum travel time \(\tau _a = (e_a^{\text {max}}/con_a)/v_a\) (i.e., assuming a constant average speed \(v_a \in \mathbb {N}\) for all vehicles) and a charging rate \(ch_a \in \mathbb {N}\) (we assume that the electricity grid does not constraint the number of EVs charging simultaneously). Note that an EV changes location only when being driven by a customer and no relocation of vehicles exists.

Finally, we have a set of customers \(i \in I \subseteq \mathbb {N}\) where a customer needs to travel between one or more pairs of locations \(dem_i \subseteq R\). Each customer receives a utility \(u_{i,r} \in \{0,1\}\), \(\forall r \in dem_i\), for each alternative task. The utility can be calculated based on the distance of the initial and final locations of the task and the equivalent initial and final location of the customer, or the time to travel. Note, that each EV is assigned to exactly one customer at a time and vehicle pooling is not supported. A summary of all notations can be found in Table 1.

In this formulation a set of assumptions are made:

  1. 1.

    The MoD company is a monopoly. Thus, competition between companies is not taken into consideration. This would introduce different approaches in decision making strategy and should include more variables in the problem domain (e.g., energy and labor cost, building rents, taxes), which are considered out of the scope of this paper.

  2. 2.

    All stations have one charger for each parking spot. This means that if there is a parking spot available, there is also a charger available. There is no waiting queue for charging.

  3. 3.

    EVs’ full battery capacity is sufficient to make a journey from one station to any other without extra charge needed. No stops are required, and no charging time needs to be spent in between two locations. Traveling to locations beyond the maximum range of an EV needs a different formulation and induce challenges which will be solved in future work.

Table 1 Notations used in problem definition and algorithms

Optimal Offline Scheduling

In this section, we assume that customer requests are collected in advance and we propose an optimal offline algorithm for the assignment of EVs to customers. The aim of this formulation is to maximize the sum of the number of tasks that are completed and the utilities for these tasks (Eq. 1). Note that both parts of the sum are normalized in the \(\{0-1\}\) range in order to have equal weight. To achieve this, we present a solution based on Mixed Integer Programming (MIP) (solved using IBM ILOG CPLEX 12.10), where we use battery charging to cope with the EVs’ limited range. MIP techniques have been particularly useful to solve such large combinatorial problems (e.g., combinatorial auctions [4, 29], travelling salesman problem [11]). We will refer to this algorithm as Optimal. In more detail, we define four decision variables: (1) \(\lambda _{r} \in \{0,1\}\) denoting whether a task r is accomplished or not, (2) \(\epsilon _{a,r,t} \in \{0,1\}\) denoting whether EV a is executing task r at time t or not, (3) \(prk_{a,t,l} \in \{0,1\}\) denoting whether EV a is parked at time point t at location l or not and (4) \(bch_{a,t} \in \{0,1\}\) which denotes whether an EV a is charging at time point t.

Objective function:

$$\begin{aligned} {\text {max}} \sum _{r \in R}(\dfrac{\lambda _{r}}{|R|} + \dfrac{\lambda _{r} \times u_{i,r}}{|R|}) \end{aligned}$$

Subject to:

  • Completion constraints:

    $$\begin{aligned}&\sum _{a \in A} \sum _{t^{\text {start}}_r \le t< t_r^{\text {end}}} \epsilon _{a,r,t} = \tau _r \times \lambda _{r}, \forall r \end{aligned}$$
    $$\begin{aligned}&\sum _{a \in A} \sum _{t^{\text {start}}_r >t , t\ge t_r^{\text {end}}} \epsilon _{a,r,t} = 0, \forall r \end{aligned}$$
    $$\begin{aligned}&\epsilon _{a,r,t+1} = \epsilon _{a,r,t} \forall a, \forall r, \forall t: t^{\text {start}}_r \le t < t^{\text {end}}_r-1 \end{aligned}$$
    $$\begin{aligned}&0 \le bch_{a,t} \le \sum _{l \in L}prk_{a,t,l}, \forall a, \forall t \end{aligned}$$
    $$\begin{aligned}&0 \le e_{a,t=0} + \sum _{t'=0}^t (bch_{a,t'} \times ch_a) - \nonumber \\&\quad \sum _{r \in R} \sum _{t''=t_r^{\text {start}}}^t \epsilon _{r,a,t''} \times (v_a \times (t_r^{\text {end}} - t_r^{\text {start}})) \times con_a \le 100, \forall a, \forall t \end{aligned}$$
    $$\begin{aligned}&0 \le \sum _{r \in dem_i} \lambda _{r} \le 1, \forall i \end{aligned}$$

The completion constraints ensure the proper execution of tasks. Thus, for each executed task, the time travelled must be equal to the duration of the trip concerned (Eq. 2), while at the same time no traveling must take place when a task is not executed (Eq. 3). Moreover, each task is executed by only one EV at a time (Eq. 4 together with Eq. 9). Equation 5 ensures that each EV a can charge only while being parked. When an EV is parked, it can charge with its maximum charging rate. However, when it is driving and \(prk_{a,t,l}=0\) it cannot charge. Regarding the time points the EV will charge and given the chosen formulation of the problem, the solver should choose any time points, as long as the available range will not compromise the task execution ability. At the same time, Eq. 6 ensures that the battery level of an EV a never exceeds \(100\%\) and never goes below \(0\%\). Thus, no EV a will execute a task r for which it does not have enough range, nor will it charge more than its battery capacity. Note that we assume all EVs to have the same fixed average consumption. Finally, for each customer at most one of her alternative tasks \(dem_i\) must be executed (Eq. 7).

  • Temporal, spatial, and routing constraints:

    $$\begin{aligned}&\sum _{l \in L} prk_{a,t,l} = 1 - \sum _{r \in R} \epsilon _{a,r,t}, \forall a, \forall t \end{aligned}$$
    $$\begin{aligned}&2 \times \sum _{r \in R} \epsilon _{a,i,t_r^{\text {start}}} = \sum _{l \in L} \sum _{t \in T-1} \left| prk_{a,t+1,l} - prk_{a,t,l} \right| , \forall {a} \end{aligned}$$
    $$\begin{aligned}&prk_{a,t_{r}^{\text {start}}-1,l_r^{\text {start}}} \ge \epsilon _{a,r,t_r^{\text {start}}}, \forall r, \forall a \end{aligned}$$
    $$\begin{aligned}&prk_{a,t_{r}^{end},l_r^{\text {end}}}\ge \epsilon _{a,r,t_r^{\text {end}}}, \forall r, \forall a \end{aligned}$$
    $$\begin{aligned}&\sum _{a \in A} (prk_{a,t,l}) \le c_l^{max}, \forall l, \forall t \end{aligned}$$
    $$\begin{aligned}&prk_{a,t=0,l} = l_a^{\text {start}}, \forall a, \forall l \end{aligned}$$
    $$\begin{aligned}&\epsilon _{a,r,t=0} = 0, \forall a, \forall r \end{aligned}$$

The temporal, spatial and routing constraints ensure the proper placement of the EVs over time. Equation 8 requires that for each time point at which an EV is executing a task, this EV cannot be parked at any location and also assures (together with Eq. 4) that at each time point, each EV executes at most one task. Moreover, Eq. 9 ensures that no EV changes location without executing a task (the sum of all changes of EVs’ locations as denoted in prk decision variable, must be double the total number of tasks that are executed). Note that, this constraint is linearized at run time by CPLEX.Footnote 3

Now, whenever a task is to be executed, the EV that will execute this task must be at the task’s starting location one time point before the task begins (Eq. 10), and similarly, whenever a task has been executed, the EV that has executed this task must be at the task’s end location the time point the task ends (Eq. 11). Moreover, at every time point, the maximum capacity of each location must not be violated (Eq. 12). Finally, at time point \(t=0\), all EVs must be at their initial locations (Eq. 13), which also means that no tasks are executed at \(t=0\) (Equation 14).

  • Cut constraints:

    $$\begin{aligned} \sum _{a \in A} prk_{a,t,l} = \sum _{a \in A} prk_{a,t-1,k} + \sum _{R^{\text {start}}(t,l)} \lambda _{r} - \sum _{R^{\text {end}}(t,l)} \lambda _{r}, \forall t, \forall l \end{aligned}$$

Equation 15 ensures that for every location, the total number of EVs at charging stations changes only when EVs depart or arrive to execute a task, or after executing tasks. Despite the fact that this constraint is covered by Eq. 9, when added to the formulation, it significantly speeds up the execution time. In fact, it is known that the introduction of additional cut constraints into a MIP problem may cut off infeasible solutions at an early stage of the branch and bound searching process and thus reduce the time to solve the problem [14]. Given that MoD schemes should also work in a dynamic setting, in the next section we present an online greedy scheduling algorithm that uses alternatively three heuristic functions to solve the task execution problem.

Greedy Online Scheduling

In the previous section, we presented an optimal offline solution for the EV to customer assignment problem in a MoD setting. However, this algorithm assumes full knowledge of supply and demand in advance. In this section, in order to have a more complete set of tools to tackle the pre-defined problem we propose a greedy online algorithm that calculates an EV to task assignment in real time as requests arrive to the system. This algorithm applies a one-step look ahead heuristic search mechanism and achieves near optimal performance and scales to thousands of EVs and tasks.

Given that EVs change locations only when being driven by customers, the tasks that an EV will be able to execute in the future are directly related to the ones it has already executed in the past (i.e., the end location of one task will be the start location for the next one). In large settings, normally not all tasks can be executed. Thus, the selection of the ones to execute is of great importance, since each decision can affect future task execution.

The proposed scheduling algorithm uses three heuristic functions in deciding on whether to execute a task or not. The first is based on the sum of squares of parked EVs at each station. As can be seen in Equation 16, the optimal value for the sum of squares is calculated once and for each time a decision has to be taken, this value is added to the utility of the customer for the task and is divided by the sum of squaresFootnote 4 that will occur if this task is executed. In this case, we select to execute the task that will lead the EV to the location that maximizes Eq. 16 and causes the least imbalance to the system while also considering the utility gain of the customer. We refer to this heuristic as Square.

$$\begin{aligned} sq_t = \dfrac{bestSum + v_r}{\sum _{l \in L}(\sum _{a \in A}\epsilon _{a,t,l})^2 }, \forall t \in T \end{aligned}$$


$$\begin{aligned} bestSum = {\left\{ \begin{array}{ll} |A| &{}\text {if } |\text {L}|>|\text {A}| \\ |A| - (|A|/|L|) \times |L| \times ((|A|/|L|+1)^2) +\\ (|L|-|A| - (|A|/|L|) \times |L|)\times (|A|/|L|)^2 &{}\text {if } |\text {L}|\le |\text {A}| \end{array}\right. } \end{aligned}$$

The second heuristic is based on the destination station capacity percentage. As can be seen in Eq. 18, we calculate the optimal distribution of EVs to locations (which we assume to be the equal distribution) and we add the utility of the customer for a specific task. We divide this sum by the number of EVs at the end location of the task plus one (the EV that will arrive there). We select to execute the task that will lead an EV to the location with the highest current capacity (i.e., the lower number of existing EVs), while also considering the utility gain of the customer. This calculation is used to discover each location’s capacity percentage separately and aims to move EVs to locations where the supply is low. We refer to this heuristic as Destination.

$$\begin{aligned} dcp_{l,t} = \dfrac{|A|/|L|+ v_r}{(\sum _{a \in A} \epsilon _{a,t,l})+1} \end{aligned}$$

Finally, the third heuristic is a simple random choice of the task to execute. We refer to this heuristic as Random.


In what follows, we provide a step-by-step description of the greedy scheduling algorithm (see Alg. 1). Based on the online execution of the algorithm, if at time point t a new customer i arrives and expresses his demand, then the set \(dem_i\) of all possible tasks is created (Alg. 1, line 2). Then, we update the energy level for all EVs. EVs are assumed to charge their battery, with their maximum charging rate, every time point they are parked unless the battery is fully charged (Alg. 1, lines 3–8). For each task in \(dem_i\), we check whether the end location of it has enough capacity to receive one vehicle. If this is true, then we search the set of EVs to find the ones that are parked at the starting location of the task and have enough energy to execute the task. If at least one such EV exists, then this task is added to the set \(dem_i^*\) that contains the list of feasible tasks (Alg. 1, lines 9–23). The next step is to calculate for each of the feasible tasks, the \(score_r\) using one of the three heuristic functions (Alg. 1, lines 24–27). These scores are later sorted on ascending order and the task with the lower score is selected to be executed (Alg. 1, lines 27-28). Once the task has been selected, the EV is assigned to it and its location is updated accordingly (Alg. 1, lines 29–39). In the next section, we present an agent-based negotiation scheme, to further improve the performance of the online algorithm.

Agent-Based Negotiation

Although the online algorithm as described in the previous section is observed to perform well (see Sect. EXP1: Customer service), there are usually customers that remain unserviced. Thus, in order to further improve the performance of the online algorithm, here we propose an agent-based negotiation procedure. In this procedure, we roughly want to model the following situation: “Customer: I want to travel from A to B, at time point t. MoD: No availability exists, but you travel at time point t+1. Do you accept this option? Customer: Yes/No”. This procedure is used after the execution of the online algorithm, any time a customer is impossible to be serviced based on his initial demand. When a customer remains unserviced, this means that no EVs are available for any of his preferred tasks. In this case, we search for available EVs in the next \(\tau _s \subset T\) time points starting from the initial location of the task with the higher valuation. If such an EV exists, a negotiation procedure between the customer and the MoD initiates. An offer to delay the trip by \(\tau _s\) time points is made to the customer, and the customer will accept the offer with a probability \(p_i\). By following this procedure we aim to increase customer satisfaction and vehicle utilization, by only a small deficit in the customers’ achieved utility. Figure 3 presents an outline of the steps that are followed when the negotiation procedure is executed together with the online algorithm.

Fig. 3

Outline of online algorithm with negotiation

Algorithm 2 shows the negotiation procedure. The set of alternative tasks for customer i are sorted based on the tasks’ utilities (Alg. 2, line 1). Then, we check whether a task can be executed with a different starting time (Alg. 2, lines 3–11). If such a task is found, it is selected to be executed with probability \(p_i\) (Alg. 2, lines 12–16). We will refer to this procedure as Neg. In the next section we present a detailed evaluation of our algorithms.



In this section we evaluate our proposed algorithms in several settings to determine their efficiency in handling potentially large numbers of tasks and EVs, to measure user satisfaction they provide and to check their scalability. To do so, we use real locations of pick-up and drop-off stations owned by ZipCarFootnote 5 in Washington DC, USA which are available as open data,Footnote 6 while the distance of the trips was calculated using Google maps. The evaluation of our algorithms takes place in three main parts:

  • EXP1: The performance of the online and offline algorithms in terms of the average number of executed tasks.

  • EXP2: The total utility the customers receive using each algorithm.

  • EXP3: The execution time and the scalability of the algorithms.

The parameters used in our experiments were as follows: (1) One time point was selected to be equal to 15 min and in total there are 58 time points. (2) 8 pick-up and drop-off locations exist and the tasks are formulated based on one of 56 possible trips (i.e., the trips are formed by the combinations of the locations that form the MoD scheme, but trips between locations too close to each are ignored) and trips as well as starting times were selected from a uniform distribution. Regarding the starting time, the latest time point a task can initiate is selected to be equal to 54 so as the EV to be able to execute the trip within the given time horizon. In terms of each station’s capacity, for the setting with up to 35 EVs, it is uniformly selected with values between 5 and 10 and for the setting with up to 150 EVs it is uniformly selected with values between 20 and 30 (3) Each customer i has a demand \(dem_i\) of up to three alternative tasks. (4) The energy consumption rate for each EV a is selected to be \(con_a = 0.5\). The average range of an EV is currently at around 150km. We assume an average speed of 40km/h which means that an EV can drive for 5 h. In our evaluation setting, one time point is equal to 15 min, and 5 h equal to 20 time points. Thus, \(con_a = 0.5\%\) of battery for each kilometer traveled. Moreover, we assume a charging rate \(ch_a = 25\), which means that for each time point an EV is charging the battery level is increased by up to 25 units of energy (i.e., we assume the use of fast battery charging. A fast charger can fully charge an EV at around 1 h.) We have also considered a setting where some stations have only slow chargers. These chargers can fully charge in approximately 6 h and in this case \(ch_a = 4\%\). Both \(con_a\) and \(ch_a\) are configuration parameters and can be selected by the user. (5) The utility \(u_{i,r}\) of each customer and task is uniformly selected and is within the \(\{0-1\}\) range. In the case of the negotiation procedure, the utility of the customer is assumed to reduce by \(10\%\) for each time point the start time of the trip is delayed. The trip execution can be delayed by up to \(\tau _s=3\) time points. (6) Each customer accepts an alternative proposal with a probability \(p_i = 0.3\). All experiments were executed on a Windows PC with an Intel i7-4790K CPU and 16 GB of RAM running at 2400MHz. Note that in all figures the error bars refer to the standard error and that t-tests have been conducted to verify the statistical significance of all the results.

EXP1: Customer Service

Here we investigate the performance trade-off incurred by the online algorithms in terms of average customer service against the optimal offline one. Initially, we study a setting with 15 EVs and up to 90 customers. Note that each customer expresses her demand for up to 3 alternative tasks, with an average number of 2, so the average number of tasks is approximately double the number of customers. As we observe in Fig. 4, all online algorithms are close to the optimal with the best being the Squared having a \(90.7\%\) efficiency in the worst case, then is the Destination with a \(89.3\%\) efficiency in the worst case and last is the Random with a \(87.7\%\) efficiency in the worst case. Regarding the spatial distribution of the executed tasks we observe to major difference between different locations. We argue that this is due to the fact that both the trips and the initial locations of the EVs are drawn from uniform distributions.

Fig. 4

Average number of serviced customers

In order to examine how this performance is affected by the charging rate of the EVs, we conducted a similar experiment, but this time half of the charging stations are equipped with slow chargers. The slow chargers need 24 time points to fully charge an EV’s battery. As is depicted in Fig. 5 the performance of the algorithms is only slightly affected for larger numbers of tasks. This is expected due to the fact that when the number of tasks is high, the utilization of the EVs increases and for this reason it is more important to have them charged and capable to execute tasks.

Fig. 5

Average number of serviced customers- Slow Charging

When the negotiation procedure takes place, the performance of the online algorithms increases. As is depicted in Fig. 6, the Squared algorithm shows an up to \(1.6\%\) increase, the Destination up to \(2.4\%\) and the Random up to \(3.9\%\) increase in the average number of serviced customers.

Fig. 6

Average number of serviced customers with negotiation

Aiming to see how the number of EVs affects the performance of the online algorithms, we set up an experiment with 100 customers and up to 35 EVs. As we can observe in Fig. 7 the overall image is similar to the previous case with the Squared being the best, the Destination second and the Random third. However, it is interesting to notice that when the number of EVs is low (5 EVs) or large (35 EVs) the performance deficit of the Destination and Random is smaller compared to the case where 20 EVs exist. This can be explained by the fact that when the number of EVs is low the heuristics, as they are connected to the number of EVs, cannot make a big difference, while when the number of EVs is high the problem becomes easier to solve. Thus the bigger difference in the performance of the three algorithms is observed when 10 to 25 EVs exist.

Fig. 7

Average number of serviced customers-varying number of EVs

Finally, in order to evaluate the performance of the online algorithms in larger settings, we set up an experiment with 100 EVs and up to 5000 customers. As we can observe in Fig. 8, up to around 1500 customers all three algorithms have a similar performance, with the Squared being the best, the Destination second with up to \(3.2\%\) performance deficit to the Squared and the Random third with up to \(3.7\%\) performance deficit to the Squared. However, interestingly for more than 2200 customers, the random algorithm shows a more rapid increase in its performance and achieves the higher number of serviced customers, while the Squared is second with up to \(1.5\%\) performance deficit to the Random and the Destination third with up to \(3.6\%\) performance deficit to the Random. This can be explained by the fact, that as the number of customers increase and given the fixed number of vehicles, the EVs become more and more utilized. Thus, the selection of a task to execute may have a bigger impact on the tasks that will follow. Given that the Squared and the Destination take into consideration the desires of the customers, by having their utilities in the heuristic function they are more vulnerable in selecting non optimal tasks in order to increase the received utility of the customers (see a detailed explanation in the next section).

Fig. 8

Average number of serviced customers-online algorithms 100 EVs

At the same time, when the negotiation procedure is used all algorithms increase their performance. In more detail, the Squared increases its performance by up to \(15.7\%\), the destination by up to \(14.1\%\) and the Random by up to \(15.4\%\). The overall trend in task execution remains the same as in the case where negotiation is not used. Additionally, to further examine the sensitivity of our algorithms to the number of EVs, we executed the same experiment but with 50 (see Fig. 9) and 150 (see Figure 10) EVs. In both cases we observe no major change in the trend of the curves. However, as is expected, for 50 EVs the curves start leveling off earlier compared to 100 EVs and vise versa for 150 EVs.

Fig. 9

Average number of serviced customers- Online algorithms 50 EVs

Fig. 10

Average number of serviced customers- Online algorithms 150 EVs

EXP2: Customer Utility

Here we investigate the utility that the customers receive for the proposed algorithms in different scenarios. As is depicted in Fig. 11, in the setting with 15 EVs and up to 90 customers the optimal solution provides the higher total average utility to the customers. The Squared algorithm is in the worst case at \(83\%\) of the Optimal, the Destination at \(79.6\%\) of the Optimal and the Squared at the \(76.8\%\) of the Optimal. When the negotiation procedure takes place for the online algorithms, the total average utility slightly increases. Note that although the customers that accept an offer receive lower utility, the total utility is higher as more customers are serviced.

Fig. 11

Average total utility of serviced customers

In the setting with 100 EVs and up to 5000 customers and as is depicted in Fig. 12 the Squared algorithm achieves in all cases the higher utility, the Random for setting with more than 2000 customers is in the worst case at \(97.7\%\) of the Squared and the Destination is in the worst case at \(93.5\%\) compared to the Squared in the worst case. This performance comes in contrast to the results presented in Fig. 8, where the Random serviced more customers than the Squared in problems with more than 2200 customers. This can be explained by the fact that the Random heuristic does not consider the utilities of the customers and although it services more tasks, these are tasks that the customers have less utility for. When 50 (see Fig. 13), or 150 (see Fig. 14) EVs are used, the trend is similar. At the same time, and similarly to the small setting, the negotiation procedure provides an increase in the utility received by the customers.

Fig. 12

Average total utilities-online algorithms 100 EVs

Fig. 13

Average total utilities-online algorithms 50 EVs

Fig. 14

Average total utilities-online algorithms 150 EVs

EXP3: Execution Time and Scalability

Execution time and scalability are typical metrics for scheduling algorithms. In a setting with 15 EVs and up to 183 tasks (i.e., 90 customers), we see in Fig. 15 that the execution time shows a steep increase with the number of tasks. For example, when 20 customers (\(\approx 40\) tasks) exist, the average execution time is approximately 35 seconds, while when 90 customers (\(\approx 180\) tasks) exist it is approximately 5100 seconds. Using MATLAB’s Curve Fitting Toolbox we see that the Optimal’s execution time is second degree polynomial with \(R^2=99.74\). At the same time, the online algorithms have a very low execution time, as they all run in well under 0.5 seconds even in large settings.

Fig. 15

Execution time of the optimal algorithm

Evaluation Remarks

Through this evaluation we have observed that in terms of serviced customers and utility gain the Optimal algorithm achieved, as was expected, the best performance. However, all online algorithms are quite close to the Optimal. At the same time, the Optimal has average scalability as it has reasonable execution times for settings with tenths of stations and tenths of EVs. At the same time, for settings with hundreds of vehicles and thousands of customers, the Squared algorithm initially performs best, but for very large settings the Random outperforms all other online algorithms. However, the Squared always achieves higher average utility. Interestingly, the agent-based negotiation scheme provides a significant increase in task execution in all cases. Overall, we argue that for the online execution of the problem, the best option is the Squared algorithm as it always provides higher utility to the customers and in most cases executes the higher number of tasks compared to the Destination and the Random. The agent-based negotiation can then be applied to further increase the number of serviced customers. In terms of a real-world deployment, the Optimal algorithm could be used for day-ahead or hours ahead scheduling. The “hours” depends on the size of the problem to be solved, as the assignment must be calculated before the actual trips will initiate. In contrast, the online algorithms calculate an assignment of EV to customer on the fly as each request arrives to the system and are most applicable for scenarios where we need assign an EV to a customer in an one-to-one basis.

Conclusions and Future Work

In this paper, we studied the problem of scheduling a set of shared EVs in a MoD scheme. We proposed an offline algorithm which collects the customers’ demand in advance and calculates an optimal EV to customer assignment which maximizes the number of serviced customers and the received utility. This algorithm scales up to medium sized problems. We also proposed three variations of an online algorithm which operates in a customer-by-customer basis and has shown to achieve near optimal performance while it can scale up to settings with thousands of EVs and locations.

Currently, we assume that the customer-agents are cooperative when communicating their demand to the system. As future work we aim to extend this by including non-cooperative agents and to apply mechanism design techniques in order to ensure truthful reporting. Moreover, we aim to improve the charging procedure of the EVs by trying to maximize the use of limited and intermittent energy from renewable sources where the simultaneous charging of many EVs may be constrained. Additionally, we want to enhance our algorithms in handling possible uncertainties in arrival and departure times, while aiming to maximize customer satisfaction and their profit. In this case, a sequential use of the Optimal and the online algorithms, in the concept of calculating an assignment a day ahead, but still accepting requests on the fly could potentially be used. However, it demands the offline algorithm to re-execute after each online assignment to guarantee the feasibility of the already scheduled tasks. Moreover, we aim to use Markov Decision Processes to develop a variation of the online algorithm in order to better handle the uncertainty in demand and supply. Finally, we aim to extend our algorithms by including the capability of pooling tasks. In this case, an EV could be assigned to more than one customers traveling to the same direction. To do this, the trips would no more be direct, but certain stops would need to be performed.


  1. 1.

  2. 2.

  3. 3.

    This is usually done by adding two extra decision variables and two extra constraints.

  4. 4.

    For example if we consider two stations each having three parking spots, and three EVs. If all three EVs are parked in one station (when a task/request will be accomplished), the outcome would be: \(3^2+0^2=9\). However, if two EVs were parked at one station and one at the other, the outcome would be: \(2^2+1^2=5\).

  5. 5.

  6. 6.



  1. 1.

    Dia H, Javanshour F. Autonomous shared mobility-on-demand: Melbourne pilot simulation study. Transp Res Proced. 2017;22:285–96.

    Article  Google Scholar 

  2. 2.

    Rigas ES, Karapostolakis S, Bassiliades N, Ramchurn SD. Evlibsim: a tool for the simulation of electric vehicles charging stations using the evlib library. Simul Model Pract Theory. 2018.

    Article  Google Scholar 

  3. 3.

    Ammous M, Belakaria S, Sorour S, Abdel-Rahim A. Optimal cloud-based routing with in-route charging of mobility-on-demand electric vehicles. IEEE Trans Intell Transp Syst. 2019;20(7):2510–22.

    Article  Google Scholar 

  4. 4.

    Andersson A, Tenhunen M, Ygge F. Integer programming for combinatorial auction winner determination. Multiagent systems. Proc Fourth Int Conf. 2000.

    Article  Google Scholar 

  5. 5.

    Burns LD. Sustainable mobility: a vision of our transport future. Nature. 2013;497(7448):181–2.

    Article  Google Scholar 

  6. 6.

    Carpenter T, Keshav S, Wong J. Sizing finite-population vehicle pools. IEEE Trans Intell Transp Syst. 2014;15(3):1134–44.

    Article  Google Scholar 

  7. 7.

    Cepolina EM, Farina A. A new shared vehicle system for urban areas. Transp Res Part C. 2012;21(1):230–43.

    Article  Google Scholar 

  8. 8.

    Chandran B, Raghavan S. Modeling and solving the capacitated vehicle routing problem on trees. Boston: Springer; 2008. p. 239–61.

    MATH  Google Scholar 

  9. 9.

    Dantzig GB, Ramser JH. The truck dispatching problem. Manag Sci. 1959;6(1):80–91.

    MathSciNet  Article  Google Scholar 

  10. 10.

    Densing M, Turton H, Bäuml G. Conditions for the successful deployment of electric vehicles-a global energy system perspective. Energy. 2012;47(1):137–49.

    Article  Google Scholar 

  11. 11.

    Dorigo M, Gambardella LM. Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evol Comput. 1997;1(1):53–66.

    Article  Google Scholar 

  12. 12.

    Drwal M, Gerding E, Stein S, Hayakawa K, Kitaoka H. Adaptive pricing mechanisms for on-demand mobility. In: Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems. International Foundation for Autonomous Agents and Multiagent Systems, 2017, pp. 1017–25.

  13. 13.

    EIA: Annual energy outlook 2020. Tech. rep. 2020.

  14. 14.

    Floudas CA, Lin X. Mixed integer linear programming in process scheduling: modeling, algorithms, and applications. Ann Oper Res. 2005;139(1):131–62.

    MathSciNet  Article  Google Scholar 

  15. 15.

    Gkourtzounis I, Rigas ES, Bassiliades N. Towards online electric vehicle scheduling for mobility-on-demand schemes. In: European conference on multi-agent systems. Berlin: Springer; 2018. p. 94–108.

    Google Scholar 

  16. 16.

    Guo G, Xu Y. A deep reinforcement learning approach to ride-sharing vehicles dispatching in autonomous mobility-on-demand systems. IEEE Intell Transp Syst Mag. 2020.

    Article  Google Scholar 

  17. 17.

    Lomnicki ZA. A branch-and-bound algorithm for the exact solution of the three-machine scheduling problem. J Oper Res Soc. 1965;16(1):89–100.

    Article  Google Scholar 

  18. 18.

    Maciejewski M, Bischoff J, Nagel K. An assignment-based approach to efficient real-time city-scale taxi dispatching. IEEE Intell Syst. 2016;31(1):68–77.

    Article  Google Scholar 

  19. 19.

    Maciejewski M, Horni A, Nagel K, Axhausen KW. Dynamic transport services. The multi-agent transport simulation. MATSIM. 2016;23:145–52.

    Google Scholar 

  20. 20.

    Mitchel WJ, Borroni-Bird CE, Burns LD. Reinventing the automobile: personal urban mobility for the 21st century. London: MIT Press; 2010.

    Book  Google Scholar 

  21. 21.

    Pavone M, Smith SL, Emilio F, Rus D. Load balancing for mobility-on-demand systems. Robotics: science and systems. Berlin: Springer; 2011.

    Google Scholar 

  22. 22.

    Pavone M, Smith SL, Frazzoli E, Rus D. Robotic load balancing for mobility-on-demand systems. Int J Robot Res. 2012;31(7):839–54.

    Article  Google Scholar 

  23. 23.

    Rigas ES, Ramchurn SD, Bassiliades N. Managing electric vehicles in the smart grid using artificial intelligence: a survey. Intell Transp Syst IEEE Trans. 2015;16(4):1619–35.

    Article  Google Scholar 

  24. 24.

    Rigas ES, Ramchurn SD, Bassiliades N. Algorithms for electric vehicle scheduling in large-scale mobility-on-demand schemes. Artif Intell. 2018;262:248–78.

    MathSciNet  Article  MATH  Google Scholar 

  25. 25.

    Rigas ES, Ramchurn SD, Bassiliades N, Koutitas G. Congestion management for urban ev charging systems. Smart Grid Communications (SmartGridComm). IEEE Int Conf. 2013.

    Article  Google Scholar 

  26. 26.

    Rigas ES, Tsompanidis KS. Congestion management for mobility-on-demand schemes that use electric vehicles. In: Multi-agent systems and agreement technologies. Cham: Springer International Publishing; 2020. p. 52–66.

    Chapter  Google Scholar 

  27. 27.

    Rossi F, Iglesias R, Alizadeh M, Pavone M. On the interaction between autonomous mobility-on-demand systems and the power network: models and coordination algorithms. IEEE Trans Control Netw Syst. 2020;7(1):384–97.

    MathSciNet  Article  Google Scholar 

  28. 28.

    Salazar M, Tsao M, Aguiar I, Schiffer M, Pavone M. A congestion-aware routing scheme for autonomous mobility-on-demand systems. In: 2019 18th European Control Conference (ECC), IEEE, 2019, pp. 3040–6.

  29. 29.

    Sandholm T, Suri S, Gilpin A, Levine D. Winner determination in combinatorial auction generalizations. Proc First Int Joint Conf Auton Agents Multiagent Syst. 2002.

    Article  MATH  Google Scholar 

  30. 30.

    Seitaridis A, Rigas ES, Bassiliades N, Ramchurn SD. An agent-based negotiation scheme for the distribution of electric vehicles across a set of charging stations. Simul Model Pract Theory. 2020;100:102040.

    Article  Google Scholar 

  31. 31.

    Sheppard CJ, Bauer GS, Gerke BF, Greenblatt JB, Jenn AT, Gopal AR. Joint optimization scheme for the planning and operations of shared autonomous electric vehicle fleets serving mobility on demand. Transp Res Rec. 2019;2673(6):579–97.

    Article  Google Scholar 

  32. 32.

    Smith S, Pavone M, Schwager M, Frazzoli E, Rus D. Rebalancing the rebalancers: optimally routing vehicles and drivers in mobility-on-demand systems. Am Control Conf (ACC). 2013.

    Article  Google Scholar 

  33. 33.

    Talbot FB, Patterson JH. An efficient integer programming algorithm with network cuts for solving resource-constrained scheduling problems. Manag Sci. 1978;24(11):1163–74.

    Article  Google Scholar 

  34. 34.

    Tomic J, Kempton W. Using fleets of electric-drive vehicles for grid support. J Power Sour. 2007;168(2):459–68.

    Article  Google Scholar 

  35. 35.

    Tucker N, Turan B, Alizadeh M. Online charge scheduling for electric vehicles in autonomous mobility on demand fleets. In: 2019 IEEE Intelligent Transportation Systems Conference (ITSC), 2019, pp. 226–31.

  36. 36.

    Turan B, Tucker N, Alizadeh M. Smart charging benefits in autonomous mobility on demand systems. In: 2019 IEEE Intelligent Transportation Systems Conference (ITSC), 2019, pp. 461–6.

Download references


This research is co-financed by Greece and the European Union (European Social Fund- ESF) through the Operational Programme “Human Resources Development,Education and Lifelong Learning” in the context of the project “Reinforcement of Postdoctoral Researchers - 2nd Cycle” (MIS-5033021), implemented by the State Scholarships Foundation (IKY).

Author information



Corresponding author

Correspondence to Emmanouil S. Rigas.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article is part of the topical collection “Advances in Multi-Agent Systems Research: EUMAS 2020 Extended Selected Papers” guest edited by Nick Bassiliades and Georgios Chalkiadakis.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Rigas, E.S., Tsompanidis, K.S. Algorithms to Manage Congestion in Large-Scale Mobility-on-Demand Schemes that Use Electric Vehicles. SN COMPUT. SCI. 2, 292 (2021).

Download citation


  • Electric vehicles
  • Mobility-on-demand
  • Scheduling
  • heuristic search
  • Agent-based negotiation
  • Cooperative