Coordinating Truck Platooning by Clustering Pairwise Fuel-Optimal Plans
Abstract
We consider the fuel-optimal coordination of trucks into platoons. Truck platooning is a promising technology that enables trucks to save significant amounts of fuel by driving close together and thus reducing air drag. We study how fuel-optimal speed profiles for platooning can be computed. A first-order fuel model is considered and pairwise optimal plans are derived. We formulate an optimization problem that combines these pairwise plans into an overall plan for a large number of trucks. The problem resembles a medoids clustering problem. We propose an approximation algorithm similar to the partitioning around medoids algorithm and discuss its convergence. The method is evaluated with Monte Carlo simulations. We demonstrate that the proposed algorithm can compute a plan for thousands of trucks and that significant fuel savings can be achieved.
I Introduction
Platooning is a common element in intelligent transportation systems. It refers to a group of vehicles forming a road train without any physical coupling between the vehicles. A short inter-vehicle distance is maintained by automatic control and vehicle-to-vehicle communication. Platooning is beneficial in various ways. Due to the small inter-vehicle gaps the total road throughput can be increased [1]. It can also help facilitate the driverless operation of the trailing vehicles. In this paper, our main motivation to study platooning is the potential to reduce the fuel consumption of the follower vehicles in the platoon. Similar to what racing cyclists exploit, the follower vehicles experience a reduction in air drag which translates into reduced fuel consumption [2].
Using platooning to reduce fuel consumption leads to a challenging coordination problem. This differs from a classical setting where platoons are primarily a measure to increase road throughput and where a majority of the vehicles can platoon. Consider two trucks that travel between the same two regions but from different locations within the regions and at approximately the same time. Then the trucks can adjust their speeds slightly at the beginning of their journeys, form a platoon at the start of the common part of their route and thus save fuel during most of their journeys. The catch is that this might involve one of the trucks having to drive faster before the two merge, which increases air-drag and consequently fuel consumption during that phase. One truck might also slow down to let the other truck catch up but then travel at an increased speed later on to arrive at its destination on time. If many trucks are involved, it is not straightforward to compute a plan for all trucks that would be globally fuel-optimal. This is the problem we address in this paper.
Variations of this problem have been considered in literature. In [3] the authors formulate a mixed integer linear programming problem, without considering the speed dependency of fuel consumption, and prove that the problem is NP-hard. In [4] the authors consider a simple catch-up coordination scheme and evaluate it on real fleet data. In [5] local controllers for coordinating the formation of platoons are proposed. In [6] the authors use data-mining to identify economic platoons based on different criteria. They allow that trucks wait for other trucks to form the platoon. In [7] the problem is formulated as an optimization problem. The proposed method is, however, not applicable to large numbers of trucks due to the combinatorial complexity.
Clustering is present in a variety of different contexts. A large body of research focuses on clustering methods as an analysis tool to structure, understand, and classify large data sets [8, 9]. Examples include the clustering of graphs in the scope of community detection [10, 11, 12]. Our clustering algorithm is inspired by partitioning around medoids [13]. A closely related area to our subproblem of choosing coordination leaders is leader election, where a group of agents has to jointly determine a leader [14, 15]. When we interpret pairwise fuel savings as preferences for trucks being coordination leaders, we can see our algorithm as local leader election. In one variant of the proposed clustering algorithm we consider that leader and follower share their benefit from platooning according to a fixed ratio. This setting is related to coalitional game theory [16], which is a widely used framework in communication theory.
We derive a powerful, efficient, and scalable method to coordinate platooning of a large number of trucks in a fuel-optimal way. The main contribution is that the coordination problem is formulated as a clustering problem based on pairwise fuel-optimal speed profiles. We derive pairwise fuel-optimal plans based on a first-order fuel model and propose a clustering algorithm. We discuss the convergence of the clustering algorithm and demonstrate the entire method using Monte Carlo simulations.
The paper is organized as follows. We start in Section II by modeling a single truck as a hybrid system, where the discrete jumps model transitions between road segments. In Section III we develop a fuel-optimal plan for two trucks, where the leader keeps a constant speed and the the follower adapts its speed to merge with the leader. In Section IV we build on these pairwise plans to construct a similarity graph and formulate the problem to select good leaders and match followers to each of them. In Section V we propose a clustering algorithm to find approximate solutions to the problem and analyze its convergence. In Section VI the method is demonstrated by Monte Carlo simulations.
II Modeling
In this section we model a single truck as a hybrid system, define platooning, and introduce a fuel consumption model.
We consider a highway network in which a set of geographic locations are connected by one-way road segments. We model the road network as a weighted, directed graph , where the nodes correspond to geographic locations. An edge models a road segment from the location of node to the location of node . The weight of edge models the length of the road segment. The state of a truck comprises the edge that corresponds to the truck’s current road segment and the distance from the beginning of that road segment.
Definition 1 (Hybrid Truck Model).
As long as the system state is in the flow set, evolves continuously according to (1). When the state reaches the jump set, i.e., when the truck reaches the end of the segment, the state is reset according to the jump map (2). Figure 1 illustrates the trajectory of such a system. For theoretical considerations of such models see [17].
A truck has a transport assignment to travel through the road network from a start node at time to a destination node where it must arrive at time . We assume that there is a unique shortest path , for from to with respect to and we let the truck travel along that path: . With this notation we can define the trajectory of a truck (compare to Figure 1).
Definition 2 (Trajectory).
We call a trajectory of a truck if there exists a finite series of jump times with , and for : , and for it holds that , , and .
In the following we introduce a system composed of trucks. We introduce for each truck its state . Truck starts at node at time and must arrive at node at time . Its shortest path is denoted and has length . Its speed is denoted . We have the start position and the destination position .
Platooning
Next, we formalize platooning. For the purpose of coordination we neglect the small inter-vehicle distance and let trucks that platoon with each other assume the same position.
Let be a set of trucks. Let be the trajectory of truck . If trucks platoon from time to , then for all pairs and all . We assign exactly one truck in the platoon the role of a platoon leader and the other trucks the role of platoon followers. Only the fuel consumption of platoon followers is reduced.
We model the fuel consumption per distance traveled as first-order polynomials of the speed. We believe that this type of model approximates the real fuel consumption in the interval well enough for our purpose. When a truck is not in a platoon or is a platoon leader, its fuel consumption is where is the speed and are constants. When a truck is a platoon follower the fuel consumption is modeled by where , are other constants. Typically, and for . The total fuel consumption of truck from start to destination is
(3) |
where , if the truck is a platoon follower at time , and otherwise. The function is the time instant at which truck is at position .
III Optimal Speed Adaptation for Platooning
In this section we derive a pairwise fuel-optimal speed plan. We consider a pair of trucks: a coordination leader (CL) and a coordination follower (CF). These concepts differ from the concepts of a platoon leader and platoon follower that were introduced in Section II. The CL keeps a constant speed while the CF selects at the beginning of its journey a speed that allows it to merge into a platoon with the CL. Then the two platoon until they split up, followed by that the CF selects a speed so that it arrives at its pre-specified arrival time at its destination. Figure 2 illustrates these three phases. We first derive the optimal speed during the first and the last phase neglecting that trucks can only platoon on common road segments. We add this constraint in the second part of the section. In Section IV, we build on such pairwise plans and obtain an overall plan for all trucks. First, we define the default speed profile, i.e., a constant speed.
Definition 3 (Default Speed Profile).
The default speed profile for a truck is the constant speed
(4) |
for . The resulting fuel consumption is .
The following proposition gives the optimal rendezvous speed for a CF when there are no restrictions as to where the CL and the CF can meet.
Proposition 1.
Assume the following. The speed of truck is constant with , . The state of truck at time is . The state of truck at time is . Truck platoons with truck between time and with . Truck has constant speed for time to and from time to . The rendezvous speed is constrained to the interval . The road segment corresponding to is sufficiently long.
Then the rendezvous speed that minimizes fuel consumption from time to is given by
(5) |
where and .
The proof of Proposition 1 can be found in the Appendix.
The optimal speed after splitting up for the CF to meet its deadline is also the appropriate depending on whether the CF has to speed up or slow down in order to arrive at the specified time.
In the remainder of this section, we discuss how Proposition 1 can be used to compute an optimal speed profile when the CL and the CF travel on different but intersecting paths. Figure 2 illustrates the discussion.
To this end, we define the distance between two states , with respect to a path .
Definition 4 (Distance).
Let be such that and be such that and assume . Then,
(6) |
Consider a CL with index and a CF with index . Two trucks can platoon only on the road segments corresponding to common edges of their paths. Because their paths are shortest paths it can be shown that the shared edges between two paths form a path as well (Lemma 1 in [7]), i.e., two paths meet and split up at most once. Trucks , start at , at time , and arrive at , at time , , respectively. We denote the position at which the CL and the CF start platooning at time as and where they split at time as . These meeting points have to lie on the trajectory of the CL with constant speed :
When platooning with the CL the planned trajectory of the CF consists of three phases: from start to the meeting point with speed , from meeting point to the split point platooning as platoon follower of with speed , and from the split point to the destination with speed . We define and . We have the relations
We define the virtual position difference at the start/end of the CF’s trajectory as
(7) |
which is equivalent to in Proposition 1. If then , if then , if then , and if then . Then, we can compute according to (18) the appropriate for the first and the last phase.
This derivation has ignored so far that the first possible point to merge is when the CL’s and the CF’s paths meet. If leads to a distance from to the merge point that is too small, then the CL selects a speed that lets the CL and CF merge at the position where the two paths meet, denoted here . This speed is . The corresponding case might occur at split up, so that , where is the position where the CL’s and the CF’s paths split up.
The first check to test if platooning is possible and beneficial is, whether the calculated merge point lies before the split point or not, i.e., whether If this condition is fulfilled, we can calculate the fuel cost for the CF with the speed profile that is adapted for platooning with the CL as follows
(8) |
We summarize the results of the Section in definition of the adapted speed profile.
Definition 5 (Adapted Speed Profile).
The adapted speed profile of a CF with index to a CL with index consists of three phases with constant speed: from to , then from to , and finally from to , where the CF is platoon follower of the CL from time to . The resulting fuel consumption is as in (8). Jumps in the speed at time and are continuously approximated.
IV Coordination Leader Selection
In this section we combine default speed profiles and adapted speed profiles from Section III in order to minimize the total fuel consumption . We select a number of CLs that stick to their default speed profile. All other trucks are assigned to their best CL if there is one. The best CL for a CF is the one that yields the largest fuel saving for the CF. Since the speed profile of the CL is not affected by the CF, we can assign several CFs to a CL independently. Note that the method presented in this section can accommodate default and adapted speed profiles different from the ones presented in Section III. Like this factors such as traffic, different fuel models, soft constraints on the arrival time, etc. can be considered.
Based on the results from Section III, we calculate the potential fuel savings gained from platooning for all pairs of trucks, where one takes the role of the CL and the other the role of the CF. We collect the results in a weighted directed graph, which we call the coordination graph. Recall that the total fuel consumption of a truck with the default speed profile is denoted . We denote the fuel consumption of a CF with CL as . If and platooning with being the CF of is not possible, then .
Definition 6 (Coordination Graph).
The coordination graph is a weighted directed graph . is a set of nodes, where each node represents a truck. is a set of edges, and are non-negative edge weights. There is an edge , if saves fuel when it selects as CL, i.e., , and . If platooning is not possible or beneficial, there is no edge.
We introduce the set of in-neighbors of a node as and the set of out-neighbors of a node as . We define that the maximum over an empty set is zero, i.e., .
Next, we formulate the problem of finding a fuel optimal set of CLs .
Problem 1.
Find a subset of nodes that maximizes where
(9) |
If with and , we say that is the CF of and is the CL of . If has no out-neighbor in , then .
This problem is similar to k-medoids clustering [13]. Medoids clustering means selecting a, typically fixed, number of cluster centers from a set of data points. The remaining data points are assigned to the closest cluster center. The objective is to find cluster centers in such a way that the sum of the distances of all nodes to the closest cluster center is minimal. In our problem we can identify the CLs with the medoids.
Albeit similar to k-medoids clustering, there are some significant differences. We maximize similarity within the cluster as opposed to minimizing the distance. Similarity from node to node is here how much fuel is saved if node selects node as a CL. This implies that the similarity between two nodes is not symmetrical, non-negative, and can be zero. The number of clusters is not fixed but part of the optimization and not every node has to be assigned to a cluster. It is easy to see, that a solution with zero or clusters is not optimal if . This is different from an application where the sum of the distances to the cluster centers is minimized. If every node is a cluster center, this trivially corresponds to the smallest possible objective value. Thus, it is not trivial to find (approximate) solutions to the problem.
V Leader Selection Clustering Algorithm
In this section, we describe four variants of an approximation algorithm (Algorithm 1) to Problem 1 inspired by partitioning around medoids (PAM) [13]. Algorithm 1 works according to the following scheme. At the beginning is empty, i.e., there are no CLs. In each round a node is selected for which it is beneficial to be added to or removed from , and is updated accordingly. This is repeated until no further improvement is possible. We introduce a function that measures how much is gained from switching whether belongs to or not.
We consider two methods to select and two choices of . The first method for selecting is to select it in a greedy manner according to . This corresponds to what is done in the “build phase” of PAM. The second method is to choose randomly with equal probability from the set . The two different choices for are elaborated in the following Sections V-A and V-B.
V-A Total Gain
The most obvious choice for is to consider how much as defined in (9) changes. This can be calculated locally, which means only considering one-hop and two-hop neighbors of . We get, if ,
The sum over covers nodes that can select as their new CL. The last summand accounts for possibly not being a CF any longer. Similarly, if ,
The sum over covers nodes that can have as their CL before the change. The last summand accounts for possibly becoming a CF. Finally we get
(12) |
V-B Pairwise Gain
Instead of considering the global objective , we can consider that the pairwise fuel savings from platooning are divided between CF and CL according to a fixed ratio. We think of this as a simple compensation scheme for trucks from different operators platooning with each other. The trucks acting as platoon leaders need to have an incentive since they do not get any fuel savings from platooning. If is the CF of , then gets the utility with and gets the utility with from this CF. The total utility of the CL is the sum of the utilities from all its CFs. The gain for a node is the change of its utility from switching whether belongs to or not.
The utility of a node is
With a set of CLs given, the CL of a CF, as introduced in Section IV, is the truck in that maximizes the utility of a CF. The utility of a CL is the sum of the utilities due to its CFs
If , then the gain by becoming a CL, i.e., adding to , is . If , then the gain by becoming a CF, i.e., removing from , is . The larger the larger the incentive to be a CL. Finally we have
(15) |
The gain can be calculated locally with the knowledge of: the edges of , the utilities of the in-neighbors of , and which neighbors belong to .
V-C Convergence
In this section we analyze the convergence of Algorithm 1. Algorithm 1 converges when it reaches a state where is empty. We call such a state equilibrium. We have the following result for the central objective.
Proposition 2.
Proof.
increases in each iteration when with the largest is selected, but since , the number of possible is finite. When is selected randomly and Algorithm 1 does not converge, there must be one node with which never gets selected. The probability of this happening goes to zero as the number of iterations goes to infinity. ∎
Using the individual objective (15), Algorithm 1 is not guaranteed to converge to an equilibrium. The following example illustrates a case.
Example 1.
Figure 3 shows a graph for which Algorithm 1 does not converge with criterion (15). When the algorithm starts, the gain from becoming a CL is positive and the same for nodes 1, 2, and 3. Assume that node 1 is selected. Then nodes 3 and 4 become its CFs. Assume . Then it is not beneficial for node 3 to become a CL. Since there is no CL for node 2, it is beneficial for node 2 to become one. Since , it is more beneficial for node 1 to become a CF. Then node 3 becomes a CL and so on. If , we get a similar cyclic behavior with reversed direction.

VI Simulations
In this section we present a simulation study of the platoon coordination method developed in this paper. The road network that was used in the simulations was generated randomly by sampling 100 location points uniformly in a square of side length 800. All combinations of these locations were sorted by their Euclidean distance. Then, starting from the combination with the shortest distance, the combinations of locations were connected by two road segments (one in each direction) with length according to the Euclidean distance, if there had not already been a path between the two locations that was at most times longer than the Euclidean distance. The road network is shown in Figure 4.
We evaluated Algorithm 1 in four variants (greedy/random node selection and total/pairwise gain) with Monte Carlo simulations. In the figures and the following discussion we use “total”/“pairwise” to refer to according to (12)/(15), and “greedy”/“random” to refer to selecting the node with largest or a random node in each iteration. We considered a nominal speed of according to which arrival times were set, i.e., the constant speed of a CL is . For the fuel model we considered that , , and , . We get that (18) evaluates to . For pairwise gain we terminated Algorithm 1 additionally once a specific reoccurred in order to avoid ending up in an infinite loop as described in Example 1.
We conducted simulations for different numbers of trucks . For each , 100 simulations were conducted. The starting times were sampled uniformly in the interval of . Start and destination nodes were randomly selected from a subset of 10 nodes. The arrival times were calculated assuming a speed of 80. We set . In each simulation we ran Algorithm 1 for the four combinations of using either total or pairwise gain, and either greedy or random node selection. For the pairwise gain we used . Figure 5 shows a plot of the fuel savings compared to the case where all trucks travel at a speed of 80 and do not platoon. Additionally we calculated fuel savings which would result from spontaneous platooning according to the following scheme. We assumed that all trucks travel with the nominal speed of 80. For each segment in the road network and for all trucks traversing a particular road segment, we collected the times when the trucks traverse the segment. Then, in the order of these points in time, we grouped trucks into platoons in such a manner that the difference in the traversal time within the platoon is at most . We assumed that these platoons can platoon over the whole road segment with no coordination phase. Figure 6 shows averaged over all CL-CF pairs within one simulation and over the simulations for a specific . Furthermore, we conducted simulations for different sizes of the band around the nominal speed of in which trucks can select their rendezvous speed. was fixed to . Figure 9 shows the relative fuel savings for different sizes of the band averaged over 100 simulations for each size.
In Figure 5 we can see that the relative fuel savings increase with the number of trucks. The relative fuel savings increase quickly with for small values of and then increase slowly for larger values. While the relative fuel savings with total gain keep increasing for large values of , they are almost constant for pairwise gain. Note that the relative fuel savings in the simulations are upper bounded by . To reach this upper bound each truck needs to be a platoon follower during its entire journey. The difference between greedy and random node selection is small. For small the ratio between the relative fuel savings due to the coordination algorithm and those due to spontaneous platooning is relatively large and gets smaller for increasing . Figure 6 shows that the average is relatively large for small and that it drops quickly to smaller values as increases. The values for pairwise gain are consistently smaller than those for total gain. Figure 7 shows the average number of CLs for different . We see that the number increases with . For total gain it increases sub-linearly. The number of CLs is smaller for total gain compared to pairwise gain. For pairwise gain the number of CLs is proportional to . The number of iterations until the algorithm terminates, shown in Figure 8, is almost proportional to the number of CLs, the difference being that random node selection leads to a significantly higher number of iterations than greedy node selection, in particular for total gain. Figure 9 shows that fuel savings quickly increase for small and only increase moderately for larger bands.
We can conclude that the coordination of platooning is crucial for a small number of trucks and can significantly improve the overall fuel savings for a large number of trucks compared to spontaneous platooning. With coordination, already a small number of platooning enabled trucks can achieve significant reduction in fuel consumption. Pairwise gain creates more CLs and less coordination effort (smaller ) than total gain. Total gain yields superior performance. Random and greedy node selection give similar results but random node selection leads to more iterations. However, random node selection might be interesting for a distributed and parallel implementation since it does not require coordination amongst all nodes to determine which node is updated. Relatively small adjustments of the speed are sufficient to achieve most of the fuel savings possible. One should also keep in mind that fuel consumption per distance traveled is highly non-linear over the whole range of speeds a truck can attain and a first order fuel model is only accurate in a small range of speeds. Fuel consumption per distance traveled changes with speed in such a way that we expect large adjustments of the speed to be even less beneficial than predicted by the linear model.
VII Conclusions and Future Work
In this paper we started from a hybrid model of a single truck traveling in a road network. Using a first order fuel model, we derived a pairwise plan for two vehicles. Those pairwise plans, evaluated for all pairs of vehicles, served as the input data to a clustering algorithm that determines a set of coordination leaders. All other trucks in a cluster adapt their speed profile to the coordination leader of that cluster. We proposed four different variants of this algorithm and analyzed their convergence properties. We showed in simulation that this method can quickly find plans for a large number of trucks. The simulations also gave insight in how our approach behaves for different number of trucks in the network and different velocity constraints and supported that coordination of platooning is crucial to leverage its full potential to save fuel.
In future work we are interested in characterizing the equilibria of the algorithm analytically and establishing bounds on the performance. We are interested in studying the algorithm when applied in a receding horizon fashion where the plans are recalculated repeatedly. We plan to consider more complex pairwise plans that feature more complicated dynamics, different speed limits, traffic, etc. Finally, we plan to test the algorithm on real data and look into distributed implementations.
Proof of Proposition 1
Let . Let . We have the relation
(16) |
At time we have . After the meeting point, both trucks platoon at speed . Assume that is the platoon leader. Hence the total fuel consumption of up to some distance from the current position which fulfills becomes The fuel consumption of is not affected by . We see that the term is not a function of , so the optimal rendezvous speed does not depend on the total distance traveled. In order to find the optimal , we can therefore consider the remaining terms denoted as and get with (16) and the definitions of ,
with . We take the derivative of the above expression in order to find its extrema
In order to find the extrema , we check where this expression is zero. We can assume that , otherwise which means that the trucks can directly start platooning. Therefore
(17) | ||||
(18) |
We have to differentiate between two cases. Either which implies , i.e., the CF speeds up, or which implies , i.e., the CF slows down. Otherwise becomes negative. There are two solutions for , one where , and the other . The appropriate one depending on is , the optimal unconstrained rendezvous speed.
We can verify that this is indeed a minimum by considering the asymptotic behavior of when approaches and when it approaches . Assume so that . We have , where we used that so that the term becomes positive, which is the prerequisite to save fuel by platooning. When we have , so that , then , This shows that if , then , if , then , and otherwise.
In order to have real solutions for (17), we need
which is the condition that the CF saves fuel when platooning. The larger the difference the larger the absolute difference between and , i.e., the longer the trucks platoon.
References
- [1] R. Horowitz and P. Varaiya, “Control design of an automated highway system,” Proceedings of the IEEE, vol. 88, no. 7, pp. 913–925, July 2000.
- [2] C. Bonnet and H. Fritz, “Fuel consumption reduction in a platoon: Experimental results with two electronically coupled trucks at close spacing,” SAE Technical Paper 2000-01-3056, 2000.
- [3] E. Larsson, G. Sennton, and J. Larson. (2014) The vehicle platooning problem: Computational complexity and heuristics. [Online]. Available: http://www.optimization-online.org/DB_FILE/2013/09/4030.pdf
- [4] K.-Y. Liang, J. Mårtensson, and K. H. Johansson, “When is it fuel efficient for a heavy duty vehicle to catch up with a platoon?” in 7th IFAC Symposium on Advances in Automotive Control, 2013.
- [5] J. Larson, K.-Y. Liang, and K. H. Johansson, “A distributed framework for coordinated heavy-duty vehicle platooning,” Intelligent Transportation Systems, IEEE Transactions on, vol. 16, no. 1, pp. 419–429, Feb 2015.
- [6] P. Meisen, T. Seidl, and K. Henning, “A data-mining technique for the planning and organization of truck platoons,” in International Conference on Heavy Vehicles, Heavy Vehicle Transport Technology. ISTE & Wiley., 2008, pp. 389–402.
- [7] S. van de Hoef, K. H. Johansson, and D. V. Dimarogonas, “Fuel-optimal coordination of truck platooning based on shortest paths,” in American Control Conference (ACC), 2015, to be published.
- [8] A. K. Jain and R. C. Dubes, Algorithms for Clustering Data. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1988.
- [9] A. K. Jain, “Data clustering: 50 years beyond k-means,” Pattern Recognition Letters, vol. 31, no. 8, pp. 651 – 666, 2010.
- [10] V. Blondel, J. Guillaume, R. Lambiotte, and E. Mech, “Fast unfolding of communities in large networks,” J. Stat. Mech, p. P10008, 2008.
- [11] S. Harenberg, G. Bello, L. Gjeltema, S. Ranshous, J. Harlalka, R. Seay, K. Padmanabhan, and N. Samatova, “Community detection in large-scale networks: a survey and empirical evaluation,” Wiley Interdisciplinary Reviews: Computational Statistics, vol. 6, no. 6, pp. 426–439, 2014.
- [12] S. Fortunato, “Community detection in graphs,” Physics Reports, vol. 486, no. 3–5, pp. 75 – 174, 2010.
- [13] L. Kaufman and P. J. Rousseeuw, Finding Groups in Data: An introduction to Cluster Analysis. John Wiley & Sons, Inc., 2008.
- [14] H. Garcia-Molina, “Elections in a distributed computing system.” IEEE Transactions on Computers, vol. C-31, no. 1, pp. 48–59, 1982.
- [15] S. Singh and J. Kurose, “Electing “good” leaders,” Journal of Parallel and Distributed Computing, vol. 21, no. 2, pp. 184 – 201, 1994.
- [16] W. Saad, Z. Han, M. Debbah, A. Hjorungnes, and T. Basar, “Coalitional game theory for communication networks,” Signal Processing Magazine, IEEE, vol. 26, no. 5, pp. 77–97, September 2009.
- [17] R. Goebel and R. Sanfelice, Hybrid Dynamical Systems: Modeling, Stability, and Robustness. Princeton University Press, 2012.