Queuing safely for elevator systems amidst a pandemic
Handling editor: Michael Pinedo
Accepted by Michael Pinedo, after two revisions.
Abstract
The requirement of social distancing during the COVID-19 pandemic has presented significant challenges for high-rise buildings, which heavily rely on elevators for vertical transportation. In particular, the need for social distancing has reduced elevator capacity typically by at least two-thirds or as much as over of the normal amount. This reduction is a serious concern, as reduced elevator capacities cause large queues to build up in lobbies, which makes social distancing difficult and results in large wait times. The objective of this study is to safely manage the elevator queues by proposing simple, technology-free interventions that drastically reduce the waiting time and length of lobby queues. We use mathematical modeling, epidemiological expertise, and simulation to design and evaluate our interventions. The key idea is to explicitly or implicitly group passengers that are going to the same floor into the same elevator as much as possible. In the Cohorting intervention, we attempt to find passengers going to the same floor as the first person in the queue. In the Queue Splitting intervention, we create a different queue for different groups of floors. Based on simulation and analytical findings, Cohorting and Queue Splitting can significantly reduce queue length and wait time, while also maintaining safety from viral transmission in otherwise crowded elevators, building lobbies, and entrances. These interventions are generally accessible for many buildings since they do not require programming the elevators, and rely on only using signage and/or a queue manager to guide passengers.
1 INTRODUCTION
The COVID-19 pandemic has made it imperative to design interventions for people to stay safe in potentially crowded areas. For high-rise buildings, social distancing reduces the capacity of elevators, cutting the number of passengers per elevator by two-thirds or as much as over of the normal amount (Swinarski, 2020, 2021; Weber, 2020). Reduced elevator capacity can cause large lobby queues and long wait times, resulting in crowding and reduced social distancing (Smith, 2020; van Rijn et al., 2020; Weber, 2020; Wilson, 2020). With no interventions and reduced capacity on elevators, the increased waiting times and queue lengths in the lobby could pose significant safety risks. Thus, an intervention to the public health problem of safely managing queues for elevator systems amidst a pandemic is needed (our team is composed of operations researchers and an epidemiologist). In fact, this project was directly in collaboration with the NYC Mayor's Office of the Chief Technology Officer and the Department of Citywide Administrative Services. These offices had continuous input into our work throughout the process and allowed us to conduct several on-site visits with building managers, where we talked to frontline staff and gathered input. We also presented our findings multiple times to a variety of agency staff, developed an instructional video,1 and provided open source code2 that can be tailored to the needs of different types of buildings.
One can broadly consider two major forms of interventions based on (i) changing passenger behavior and (ii) elevator artificial intelligence. A variety of technological innovations from elevator companies and building management have been considered during the pandemic (Wilson, 2020). In many elevator systems, especially in older ones, changing the algorithms and technology of how the elevators navigate through the building is challenging or infeasible, and would require long-term planning and expensive modifications. Thus, in order to safely manage how passengers use and board elevators, we focus on technology-free interventions, which should be more accessible and practical for an overwhelming majority of buildings with elevators. We specifically provide a detailed simulation study in addition to theoretical results of queuing systems to model and assess the efficacy of our various interventions.
Currently, many elevator systems take a hands-off approach to managing the flow of people to elevators, resulting in something that resembles first-come first-serve (FCFS) (Fujino et al., 1997). Our simulations, using data calibrated from a large New York City government building, show that such a hands-off approach will lead to large and unsafe queues if building occupancy returns to prepandemic levels while elevator capacities are still reduced due to social distancing. Thus, it is imperative that we design interventions that use the elevators more efficiently—getting passengers to their destination at a faster aggregate rate (higher throughput)—by more carefully managing who uses which elevator when. For instance, we shall consider interventions where we try to get passengers going to the same or nearby floor to ride an elevator together as well as interventions where passengers are encouraged to walk up or down a floor after riding the elevator.
1.1 Contributions
- 1. We develop a general, open-sourced simulation model that captures many of the details of elevator systems and allows us to study the impact of various interventions and queuing behavior. Our simulation model allows us to specify the number of elevators, capacity, elevator speed, and boarding times, and to measure and visualize the queue length and wait time of elevator systems for the various interventions we consider. We primarily focus on a case study calibrated by data from a large government building in New York City that is in need of managing elevator traffic amidst the COVID-19 pandemic.
- 2. We propose an intervention we call Cohorting, in which we attempt to find any and all passengers going to the same floor as the first person in the queue. Simulations show Cohorting reduces waiting time for passengers and the number of people in the lobby (queue length) significantly. In limited lobby spaces, we recommend the Cohorting with Pairing intervention, where we pair passengers going to the same floors. Pairing is practically easier to implement as it only requires matching two people at a time (rather than four, for instance). We also explore the impact of some passengers' willingness to walk up or down one floor from their destination. The queue length can be further reduced if just a small fraction of passengers are willing to walk.
- 3. We also propose the Queue Splitting intervention where we create a different queue for different groups of floors and load the elevators from queues in a round-robin fashion. The travel time of elevators is naturally reduced since passengers are likely to be going to the same or nearby floors. Queue Splitting requires less management efforts comparing to Cohorting, and splitting into just two groups achieves comparable performance to Cohorting in our case study.
- 4. We analytically investigate the reason behind the strong performance of Cohorting and Queue Splitting using a technique from queuing theory known as stability analysis. Specifically, we characterize the system parameters required for each intervention to ensure that the queues do not increase in length over time, that is, the queues are stable. Our theoretical analysis reveals that these interventions can effectively reduce the average distance traveled and the number of stops per elevator trip.
1.2 Related literature
Although researchers have studied algorithms for managing elevator systems (Al-Sharif et al., 2012; Barney & Al-Sharif, 2015; Barney & Dos Santos, 1975; Fujino et al., 1997; Lee et al., 2009; Pepyne & Cassandras, 1997), to the best of our knowledge, there is not much literature on designing elevator systems with pandemic safety considerations.
Our simulation model is based on queuing theory. A discrete event simulation (Ross, 2013) models the operation of a system as a sequence of events in time, thus we utilize a detailed simulation to estimate mean wait times and queue lengths. Previous works that utilize queuing theory in elevator systems (Alexandris, 1977; Barney & Al-Sharif, 2015; Finschi, 2010), and papers that use simulation for elevator traffic studies (Al Sukkar et al., 2017; Hakonen & Siikonen, 2008) do not consider the impact of reducing capacities while maintaining service quality. A recent paper in the context of the COVID-19 pandemic (Swinarski, 2021) models and predicts elevator traffic in a university classroom building when passengers mainly travel in the predetermined short time periods between two classes, with known class schedules and traffic patterns. The authors discuss an intervention that directs passengers to sort themselves into pairs of passengers with a shared destination floor, which can improve the performance, but is not as effective as moving classes to lower floors or staggering course start times. In this paper, we consider general building types with random arrival and destination patterns. In Mulvany and Randhawa (2021), the authors consider breaking FCFS rules in exchange for fairness considerations, whereas we break FCFS in exchange for safety reasons and improved performance.
The stability analysis in this paper is built upon literature in queuing and stochastic processing networks (Dai & Harrison, 2020; Dai & Li, 2003). The interventions in the paper are designed specifically for an elevator system, while they share similarities to some well-studied dispatch policies in multiclass queuing networks. The Cohorting intervention resembles the first-in-first-out dispatch policy (Bramson, 1996) if we consider passengers going to the same floor as a class and an empty server always picks a class whose head-of-line job arrived first. The Queue Splitting intervention is essentially a round-robin dispatch policy in the multiclass queuing literature, which is related to fair queuing policies widely studied in the computer network literature; see, for example, Demers et al. (1989) or Parekh and Gallager (1994).
1.3 Organization
We introduce the simulation model of the elevator system in Section 2 and present the simulation results in Section 3. Section 4 analyzes the stability condition for each intervention we propose and compares the results to FCFS. In Section 5, we discuss some practical issues and solutions for the Cohorting intervention. Finally, we conclude and discuss ideas for future work in Section 6.
2 SIMULATION MODEL
In this section, we describe our modeling framework. In particular, the model considers moving passengers upwards through a building from a lobby, which presents the biggest challenge for social distancing in a high-rise building. We study low-tech solutions (requiring no programming of elevators and no knowledge of internal elevator algorithms) and describe interventions to manage the queue of passengers in the lobby. We focus on analyzing solutions that work for high volume periods, for example, morning rush hour, lunchtime, and so forth, where social distancing is a challenge. These busy periods are referred to as uppeak (Barney & Dos Santos, 1975) and typically an elevator system working efficiently during the morning uppeak can handle interfloor traffic and downpeaks without any issues (Barney & Al-Sharif, 2015). Below we describe the model we use in the simulation. We will simplify some of the assumptions when deriving the analytical results in Section 4.
We model a building as having a lobby on floor 1, destination floors denoted , and elevators denoted . We assume passengers wanting to go to floor at time arrive at the lobby according to a non-stationary Poisson process with arrival rate . The Poisson assumption for individual arrivals is considered a good approximation to the arrival process (Alexandris, 1977; Barney & Al-Sharif, 2015). Each of the elevators has a capacity of , the number of people that the elevator can safely transport while ensuring social distancing.
Remark 1. (SAFE CAPACITIES)The capacity of the elevators should be set based on the physical dimensions of each elevator. Social distancing needs to be taken into account to put floor markers for passengers to stand inside an elevator, for example, opposite corners of a diagonal for loading two people, or all corners for loading four people. In general, there is a fundamental trade-off between setting a lower elevator capacity and increased queues in the lobby.
In many high-rise buildings, elevators are constrained to certain floors so we let denote the set of destination floors that elevator can serve. If there is no restriction on the service range of the elevator , then . We assume the elevator travel time per floor is constant and the (de)boarding times of the elevator are a function of the number of people that are (de)boarding, denoted by . The (de)boarding time is a constant time to open and close the elevator door, and additional time depending on the number of passengers entering (exiting). For our theoretical results in Section 4, we assume that the service time only depends on and . But for the purpose of creating a realistic simulation tool we describe the elevator dynamics in greater detail.
To measure the performance of different interventions in the simulation, we consider the following metrics: average waiting time of a passenger at the lobby (measured at every time unit), average number of passengers at the lobby (queue length, measured at every time unit), and the average round trip time of elevators. We also explore qualitative considerations like human and material resources needed, ease of understanding for managers and passengers, and perceived inequity (Berry et al., 2002; Larson, 1987) (e.g., when an intervention lets some passengers skip ahead of others).
We want to mathematically characterize the performance of the system. Let denote the wait time for passenger . Let denote the number of people waiting in the lobby at time . In a classic service system, the traditional goal is to minimize the total (average) expected wait time, that is, . However, the primary objective in the context of a pandemic is to maximize safety, which corresponds to minimizing the number of people in the lobby that are waiting for an elevator. Metrics of interest are the expected number of passengers in the lobby over a time horizon of periods, , and the maximum queue length, .
Finally, we describe our system dynamics in the simulation. Passengers arrive at the (first floor) lobby according to the Poisson process defined above and queue in a line or multiple lines, depending on the intervention being implemented. When an elevator is available at the lobby (either there is a free elevator already or passengers wait for an elevator to arrive), it is loaded according to the rules of the intervention, up to the capacity limit of the elevator. The logic of each intervention can be found in Section 2.1. At constant intervals ( seconds), we update the system by loading available elevators in the lobby with passengers already in line(s) using the rules of the intervention. Once loaded, the elevators make stops corresponding to destinations of the passengers, and finally come back to the lobby to be loaded again.
We shall refer to an instance as the sequence of random passenger arrival times and destinations generated during one simulated rush hour morning. We record all quantitative metrics listed above. We simulate 100 independent random instances for every set of parameters and report the average performance for each metric. The code for the simulations is publicly available online.1
2.1 Interventions
The standard way most elevator systems operate is akin to first-come first-serve (FCFS). However, moving toward safe interventions requires moving away from FCFS, which means that some people may be allowed to “cut in line” in order to decrease queue lengths and waiting times, while serving as many passengers as possible. Our interventions may rely on a queue manager (QM) for implementation, where the QM can be thought of as a personnel or a device with a screen.
First, we discuss the status quo - FCFS - where the passengers who arrive at the lobby first will enter an elevator first. FCFS for elevator loading follows the standard social norm of queuing. There are obvious advantages for using the status quo, as it ensures fairness and requires no management of the queue. However, even pre-COVID especially during rush hours such as morning and lunchtime- the lobby may be crowded with passengers, elevators are fully loaded, and they may make many stops during a trip. With a social distancing rule during a pandemic such as COVID-19, the dramatically reduced elevator capacity could cause a severe increase in congestion in the lobby and thus increase the risk of disease spread.
Next, we propose the intervention, which we call Cohorting, which seeks to group together passengers going to the same floor. In this intervention, passengers line up in a queue in order of arrival. When an elevator arrives, the first passenger boards. Then, the QM asks if anyone in the queue is going to the same floor as the first passenger and then they board as well (according to their arrival order). This creates a cohort going to the same floor (such passengers are allowed to “cut in line”). If there is still capacity in the elevator, then the passenger at the front of the queue enters and the QM again allows passengers going to the same floor to board the elevator. This process is repeated until the elevator is full or the queue is empty. See Algorithm 1 in Supporting Information Section EC.4 for a detailed simulation pseudocode. Cohorting is the best-performing intervention to improve efficiency (as seen in Section 4), but requires a QM to interact effectively with the queue to learn where passengers are going. It may be difficult for the QM to know the destinations of passengers that are far back in the queue. Thus, in Section 5 we consider easier-to-implement variants where we can only communicate with the first few people in the queue and where we only try to cohort in pairs.
The next intervention we propose is Queue Splitting, where we form a separate queue for disjoint groups of floors. In Queue Splitting, floors are assigned to different groups, where each group consists of consecutive floors, for example, 2–8 and 9–16. We create a queue corresponding to each floor group. Arriving passengers join a queue corresponding to their floor group, and elevators are boarded from the queues in a round-robin fashion (possibly with the help of a QM). For instance, there can be four queues, each corresponding to six floors. When any elevator arrives, one of the queues sends the first passengers in line to it. If there are less than in the queue, then the next queue sends passengers and so on. The queues are chosen in a round-robin fashion (or in a way to dynamically balance the length of each queue). See Algorithm 2 in Supporting Information Section EC.4 for a detailed simulation pseudocode. By creating queues for every floor group, the travel time of elevators is naturally reduced since passengers are likely to be going to the same or nearby floors, which achieves an effect similar to Cohorting. The number of stops is also reduced compared to FCFS by grouping passengers in a limited floor range. This intervention does not require any programming of the elevator system, only requiring organizing the lobby space. A schematic showing the implementation of Cohorting and Queue Splitting is shown in Figure 1.

Finally, we discuss the Allocation intervention, where each elevator is assigned to only go to predetermined floors. This intervention can be accomplished by changing the elevator control system, or simply by adding signs on each elevator door. We propose several floor allocation interventions, including partitioning into ranges of floors, or splitting into odd and even floors. For instance, one building in our case study has 14 elevators and 24 destination floors to serve. We can split the 14 elevators into 2 groups of 7, where each group goes to 12 floors. Another possibility is to split into odd and even floors, which may encourage people to use one level of stairs to reach their final destination. The key intuition behind the allocation intervention is that each elevator, or each set of elevators is only serving a small range of floors. By doing so, the chances of two people in the same group going to the same or nearby floor increases, compared to FCFS. Thus, Allocation has an effect that resembles Cohorting and Queue Splitting, leading to a reduction in travel and deboarding time. It is also perhaps the easiest intervention to implement. In fact, many buildings are using Allocation to create a separation of high floors and low floors in practice, where some of the elevators only serve high floors and the others serve low floors. In this case, Cohorting and Queue Splitting can also be applied in addition to the Allocation intervention (we provide simulation results in Supporting Information, Section EC.3.2). We also note that Queue Splitting and Allocation are less likely to be perceived as unfair, as no one visibly cuts the line although it is possible that passengers do not board in FCFS order.
In this paper, we focus on the performance of Cohorting and Queue Splitting because Allocation does not perform well compared to the other two interventions. We only discuss the performance of the allocation intervention in Supporting Information Section EC.3.
3 SIMULATION RESULTS
In this section, we describe our findings via simulation from three examples corresponding to a small, medium, and large building. The discussions in this section are centered around the large building, while the small and medium buildings are discussed in Supporting Information, Section EC.2. The large building is calibrated using data from a large government building in New York City that is planning for reopening and urgently needs to manage elevator traffic amidst the COVID-19 pandemic. It is a historical building with a legacy elevator system, so only technology-free solutions can be implemented. Moreover, this building is heavily used and had more than 5500 people (staff and visitors) accessing it on a prepandemic day during the rush hour. The building has 25 floors and the 28 elevators are split into two elevator banks (North and South). Without loss of generality, we consider the South bank, where 14 elevators serve about 2750 visitors during the morning rush hour from 8 a.m. to 10 a.m. (). In the two-hour period, we assume the arrival process is a stationary Poisson process with an arrival rate passengers per second. Arriving passengers are equally likely to go to any of floors 2 through 25. Based on the physical dimensions of the elevators, the capacity is . Every elevator serves all floors, that is, . It takes 15 s for one passenger to (de)board, and an additional 2 s per extra passenger. Thus, s for passengers in an elevator. The elevators have a constant travel time per floor of 1.4 s/floor, hence the time to travel from floor to floor is s. The speed multiplier to account for interfloor traffic is . All parameters used for our simulations can be found in Supporting Information, Section EC.1. Note that the queues will all eventually diminish after the end of rush hour because the passenger traffic goes down, but we do not simulate this. In the figures below, we simulate only until the end of rush hour (peak) and hence the queue decline after this time is not shown.
The results for FCFS, Cohorting, and Queue Splitting (two queues with floor ranges 2–13 and 14–25) on the large building are presented in Figure 2. One can observe that for FCFS, the number of people in the lobby grows linearly during the rush hour period we simulate. In fact, by the end of the rush hour, there can be up to 100 people in the queue and wait times can reach almost 5 min. Thus, an intervention is absolutely necessary to avoid this unsafe buildup of passengers. We see that Cohorting has a much lower range of queue lengths and waiting times compared to FCFS. Cohorting has a maximum queue length of around 12, which is over a factor of eight times smaller than the maximum queue length of FCFS. In other words, a passenger arriving at any point in the rush hour is likely to experience a queue of at most 12 people with the Cohorting intervention.

In the Queue Splitting intervention, we do not allocate any elevators but rather form a queue for every group of floors. In Figure 2, we see that Queue Splitting (into two queues) has a much lower range of queue lengths and waiting times compared to FCFS. Similar to Cohorting, the maximum queue length is around 15. In other words, a passenger arriving at any point in the rush hour is likely to experience a queue of less than 15 people in the 2 Queue Split intervention, which is over a factor of five times smaller than the maximum queue length of FCFS. One can see in Figure 2 that the maximum wait times and total queue length are relatively stable over time for this intervention, and with average reductions of over compared to the default FCFS. Thus, a 2 Queue Split achieves comparable performance to Cohorting, the best intervention.
We also consider the effect of the number of queues used in Queue Splitting, with the results displayed in Figure 3 for the large building. The floor ranges for each queue are split evenly: in the 2 Queue Split, in the 3 Queue Split, and in the 4 Queue Split. In this building, 4 Queue Split works better than 2 and 3 Queue Splits (higher number of queue splits achieves an effect similar to Cohorting). There is a marked improvement (Figure 3) from 2 to 3 Queue Split and only a marginal return on 4 Queue Split (which has almost the same queue length performance as Cohorting) instead of 3 Queue Split. In fact, the more queues we create, the more efficient the system becomes. However, the trade-off is that more queues require a more complex operation and more space in the lobby, especially for horizontal separation between the queues. We find that simply splitting into two to four queues already recovers most of the benefit in comparison to the Cohorting intervention.

3.1 Difference in round trip time
The round trip time of an elevator trip (service time) determines the efficiency of the elevator system. The shorter the round trip time is, the faster the elevator can come back and serve more people. We record the service time profile for FCFS, Cohorting, and 2 Queue Split in the simulation in Figure 4.

In Figure 4, Cohorting and Queue Splitting have a lower average round trip time (131 and 134 s, respectively) than FCFS (148 s). In terms of number of trips they can complete in the given time period, Cohorting and 2 Queue Split are much better than FCFS, indicating that our proposed interventions indeed make the elevator trips more efficient. Our main indicator of system performance, queue length, is typically inversely related to average service time in classic queuing models (Ross et al., 1996), and a seemingly small improvement in the round trip time as in Figure 4 has a big impact on system performance.
In Figure 4b, we also report the average number of passengers per elevator trip across interventions. With capacity 4, elevators under FCFS carry 3.87 passengers per trip on average, so most trips are at full capacity. Elevators under Cohorting carry only 3.54 passengers per trip on average and similarly under the 2 Queue Split intervention, elevators carry 3.62 passengers per trip on average. Our proposed interventions make the elevators more efficient compared to FCFS, using less of the elevator capacity on average per trip.
The round trip time of an elevator, as seen in (1) and discussed in detail in Section 4 is primarily determined by the number of stops made and the highest reversal floor of the trip. Therefore, we analyze the performance of different interventions by comparing the quantities and in Figure 5.

In Figure 5a, we plot the distribution of , that is, the percentage of elevator trips with different number of stops made (or equivalently the number of buttons pressed in each trip by the passengers) across interventions. In FCFS, about of the trips make four stops. In Cohorting only about of the trips make four stops and about elevator trips make only two or three stops, which leads to shorter round trip times. 2 Queue Splitting does not perform as well as Cohorting, although it is better than FCFS, with more than of the trips making four stops and rides making only two or three stops.
In Figure 5b, we plot the distribution of , that is, the percentage of elevator trips with different highest reversal floors across interventions. In the distribution of for FCFS, more percentage of elevator trips reverse at the topmost floors than other interventions. For instance, about of FCFS trips reverse in the last four floors (), while only of trips under Cohorting do so, suggesting that elevators come back to the lobby faster in Cohorting. 2 Queue split has similar distributions of among the destination ranges of the two mini-queues and hence, of the trips have at most 13, which is much better than Cohorting (less than of trips) and FCFS (less than of trips) for the same range.
In Figure 5, we report the average of the number of stops and highest reversal floors for all interventions, to supplement the distribution plots. In Figure 5d, we also report the standard deviation of the estimated mean of and over 100 instances (i.e., we estimate the mean value of and for each instance, and show the standard deviation over 100 independent random instances). Elevators under FCFS make an average of stops, whereas under Cohorting, they make on average only stops, a key driver of lower round trip time. 2 Queue split does not perform as well as Cohorting, making an average trips, which is comparable to FCFS. Similarly, FCFS has the highest average of , whereas Cohorting has an average of , 2 Queue Split has the lowest at , due to the two similar distributions among the mini-queues.
Though 2 Queue Split makes a comparable average number of stops to FCFS, having the lowest highest reversal floor among all interventions explains why it performs closer to Cohorting in service time in Figure 4. Ultimately, the impact of is higher than that of in service time due to simulation parameters (each stop adds 15 s to service time, but each additional floor only adds 1.4 s one way).
3.2 Sensitivity analysis
In this subsection, we study how the performance of the interventions may change when parameters change. We investigate the sensitivity of average queue lengths to the two parameters that determine round trip time—travel time per floor and (de)boarding time .
In Figure 6a, we vary travel time per floor with a scaling in the interval [0.7,1.3] of the baseline s/floor and observe the average queue lengths for FCFS and our interventions. The average queue length in FCFS is very sensitive to the parameter , since FCFS has the largest average highest reversal floor. 2 Queue Split performs comparably to Cohorting until the baseline, with an average queue length of less than 20 but rises to 50 when becomes more than the baseline. Cohorting is the least sensitive, maintaining an average queue length of less than 20 throughout.

In Figure 6b, we vary (de)boarding time with a scaling in the interval [0.7,1.3] of the baseline s and observe the average queue lengths for FCFS and our interventions. The average queue length in FCFS is very sensitive to the parameter , since FCFS has the largest number of stops. 2 Queue Split performs comparably to Cohorting until the baseline, with an average queue length of less than 20 but rises to 100 when becomes more than the baseline. The parameter has a bigger sensitivity impact on 2 Queue Split than , showing the importance of number of stops to the round trip time. Cohorting is the least sensitive to , maintaining an average queue length of less than 20 throughout.
Other parameters also affect the performance of Cohorting and Queue Splitting. When the elevator capacity becomes larger, the round trip time will become longer for all the interventions. Queue Splitting can keep the average highest reversal floor at a relatively low level because it separates the trips for high floors from low floors. However, it may be difficult to keep the number of stops low. On the other hand, Cohorting can still keep the number of stops at a relatively low value. However, it becomes harder to keep the highest reversal floor low, because we do not have the separation of high floors to low floors, and it is more likely to mix high floor trips with low floor trips when the capacity becomes larger. Also when capacity increases, it takes more time and effort to find a cohort of people going to the same floor. This practical issue may cause the Cohorting intervention to be less attractive, while the management effort for Queue Splitting does not scale up when capacity increases.
To conclude this section, we showed via simulation that Cohorting and Queue Splitting reduce the round trip time for the elevator trips and serve more passengers in a given time period. These numerical results provide motivation to understand why these two interventions perform similarly well while managing the queue completely differently. In the next section, we offer theoretical support for our proposed interventions and focus on the distribution of the number of stops and highest reversal floor.
4 STABILITY ANALYSIS
In this section, we investigate the theory behind the good performance of the proposed Cohorting and Queue Splitting interventions. As observed in Figure 2, the queue length does not grow over time under the Cohorting and Queue Splitting intervention, while under FCFS it keeps increasing. In other words, by using the Cohorting and Queue Splitting intervention, we manage to transfer an unstable queuing system into a stable one under the simulation setting in Section 3. In this section, we aim to establish stability conditions for each intervention and explain why the proposed interventions work. We find that our proposed interventions can be stable under higher arrival rates than FCFS for two reasons. First, the interventions reduce the number of stops in comparison to FCFS, and second, the interventions reduce the average total distance traveled by the elevators. In particular, the second reason is supported by a stochastic dominance result for the highest reversal floor distribution of the different policies. In Section 4.1 we provide a background on queuing stability and in Section 4.2 we explain assumptions needed to prove our results. In Section 4.3 we calculate the stability condition for a special case with two floors and one elevator and in Section 4.4 we extend our analysis to general settings.
4.1 Stability condition for a queuing network
In this section, we describe results in the literature on stability of multiclass queuing networks with different operations rules. The model we focus on has buffers (or arrival classes) and types of resources to serve the arrivals. Each arrival class is served by a specific resource type. The arrival process for each buffer is a Poisson process with rate , and the service for type requires a random time with mean . Each resource is a pool of identical servers, where . Each arrival class is processed by servers from a single specified pool, and each such service is accomplished by a single server from the pool. The set of buffers that resource can serve is defined as . The load vector is defined as .
Lemma 1.Under any non-idling policy, a feedforward queuing network is stable if and only if the stability condition holds.
Proof.The proof is supported by multiple results from Dai and Harrison (2020), which we list in Lemmas 2 and 3 below.
Lemma 2. (Proposition 5.1 and Theorem 5.2 in Dai & Harrison, [2020])If a unitary network is stable, then it satisfies the standard load condition .
Lemma 3. (Theorem 8.14 in Dai & Harrison, [2020])In a feedforward queuing network, if the standard load condition holds, then the queuing network is stable under any non-idling policy.
A unitary network is a general type of stochastic processing network. In simple words, it requires a one-to-one relationship between the service activity and the buffers, and there is only one way to process jobs of any given class. We note that the feedforward queuing network, which is how our interventions can be described, is a special case of a unitary network. Thus, by Lemma 2 we can conclude that if a feedforward queuing network is stable, then the standard load condition must hold. Finally, combining with Lemma 3, we can conclude that the condition is indeed a sufficient and necessary condition for the queuing network we are interested in.
In the following subsections, we will specify the structure of the queuing network for each intervention, and derive the stability condition by using Lemma 1.
4.2 Assumptions and justification
We first simplify the simulation model from Section 2 for the sake of analysis. We formulate the elevator system as a queuing network, in which the elevators are the servers and the round trip time of an elevator trip is the service time. As discussed in Section 2, the round trip time is composed of the boarding time, stop time, ascent time, and descent time. We simplify the calculation of round trip time by omitting the boarding time at the lobby, which is the same for all interventions. We let be the time it takes an elevator to travel one floor and we simplify the stop time of an elevator for one stop to be . We also simplify the ascent time and descent time to be identical. We assume the destination of passengers is uniformly at random across all the floors, and the aggregate arrival rate is . Recall that is the number of passengers going to each floor in a particular elevator trip. We let be the random variable denoting the number of stops in an elevator trip, that is, . We let be the random variable denoting the highest reversal floor in an elevator trip, that is, .
For the Queue Splitting intervention, we assume that the floors are divided into groups, where each group is a separate buffer and consists of consecutive floors, that is, and are integers. The th floor in the th group can be written as , for ; . For example, floor 2 is the first floor in the first group.
Next, we describe the queuing networks that represent our elevator system under different interventions. Our goal is to derive the stability conditions, under which the queue does not grow over time under, for each intervention. Thus, we only consider such a condition in a system with extremely long (infinite) queues. We assume that from now on, we treat a set of passengers as one arrival job to the system, which is without loss of generality in this regime. The assumption of treating passengers as one job allows us to utilize tools from the literature and have a sufficient and necessary condition for stability (Lemma 1). We note that Dai and Li (2003) provide stability analysis for batch service systems, and is a sufficient condition for stability for the queue under the operation rule corresponding to the Cohorting and Queue Splitting intervention.
We now connect the interventions to the setup described in Section 4.1. In FCFS, there is only one buffer and an arrival job will be random passengers with independent and uniformly distributed destinations among all floors. In the Queue Splitting intervention, each floor group corresponds to one buffer. An arrival job will be random passengers who are going to the same group of floors. In Cohorting, each destination floor corresponds to one buffer, and an arrival job is passengers who are going to the same floor. Note that for FCFS, Cohorting, and Queue Splitting, there is only one resource type, that is, all elevators can serve all floors. In the Allocation intervention where elevators are assigned to floor groups, the elevators are divided into groups, which represents different types of resources. Each floor group forms a separate FCFS queue that can only be served by one resource type. This distinction makes the Allocation less effective than the other proposed interventions, as we show in Supporting Information, Section EC.3. In the following subsections, we focus on the analysis of the stability condition (2) for FCFS, Cohorting, and Queue Splitting. The stability analysis for Allocation is provided in Supporting Information, Section EC.3.1.
4.3 One elevator and two destination floors
We first focus on the simplest setting where the building only has two destination floors 2 and 3 and one elevator with capacity . The passengers arrive at the building according to a Poisson process with rate , and go to floor 2 or 3 with equal probability. Equivalently, the arrival process for passengers who go to floor 2 (similarly for floor 3) is a Poisson process with rate .
The elevator system under FCFS is an queue, where the new jobs arrive according to a Poisson process with rate , and the elevator is the server with the round trip time being the service time. In an queue, the stability condition Equation (2) is well-known and can be found in the literature and the textbooks (e.g., Ross et al., 1996, Example 4.3(a)). It can also be derived from Lemma 1 since an queue is a special case of a feedforward queuing network, and FCFS is a non-idling policy.
For the Cohorting and 2 Queue Splitting intervention, we can think of the following multiclass queuing network with two queuing buffers and one server. The passengers who go to floor 2 form a queue in buffer 1, and the passengers who go to floor 3 form a separate queue in buffer 2. The passengers are also assigned into pairs, and a pair of passengers is considered as a job that is waiting to be served. This network with two buffers and one server satisfies the condition of a feedforward queuing network. In the Queue Splitting intervention, the server will choose a buffer to serve in a round-robin fashion once it finishes the previous job. In the Cohorting intervention, the elevator serves the first passenger in the queue and we let the second passenger whose destination is the same as the first passenger board the same elevator. We can represent the dynamic as a multiclass queue where each floor destination forms a buffer, and the server decides which job to take by choosing the buffer whose head of queue arrives the earliest to the system. In the literature, this is called an FCFS control policy (Bramson, 1994) since the way a server chooses between buffers is in the FCFS fashion. Both the Queue Splitting and Cohorting interventions are non-idling policies. Therefore, we can again use Lemma 1 to derive the stability condition.
Proposition 1.
- (a) The elevator system is stable under FCFS if and only if the arrival rate
- (b) The elevator system is stable under the Cohorting and 2 Queue Splitting if and only if
Proof.
- (a) The queuing system corresponding to FCFS consists of only one buffer with being the arrival rate of each pair of passengers. The service time distribution is a mixture of three distributions. With probability 0.25, the highest reversal floor is 2 and the number of floors and the total number of stops is 1. Similarly, with probability 0.25, the elevator only stops once and is 2. With probability 0.5, is 3 and is 2. Therefore, the expected service time is
By Lemma 1, the system is stable if and only if , which is equivalent to .
- (b) The queuing system for Queue Splitting and Cohorting intervention has two buffers, each with arrival rate for a pair of passengers. For buffer 1, all passengers are going to floor 2, so the expected service time is . Similarly, for buffer 2, all passengers are going to floor 3, so the expected service time is . By Lemma 1, the system is stable if and only if , which is equivalent to .
Since the stability thresholds above provide an upper bound on the total arrival rate of passengers, the higher the threshold is, the better the system can deal with rush hour traffic. In the following proposition, we establish by how much the proposed interventions can improve the stability threshold.
Proposition 2.Consider a building with one elevator, two destination floors, and elevator capacity of two. The Cohorting and Queue Splitting intervention can increase the stability threshold by at least , and at most .
Proof.In this proof, we want to bound the ratio . Plugging in the threshold we get from Proposition 1, we have . Since and are positive real numbers, , which yields the final result.
Proposition 2 provides a clean explanation to the phenomenon we observe from the simulation: When facing the same passenger arrival pattern, the stability condition for FCFS is violated while the arrival rate is still below the threshold for Queue Splitting and Cohorting. Thus, the key driver for the good performance of the proposed interventions is that the expected service time is much shorter, thanks to the fact that both the highest reversal floor and the number of stops have smaller values. When we use FCFS, with probability 0.75, despite the fact that only half of the passengers go to floor 3. Using Cohorting and Queue Splitting intervention, we can make sure that only of the time the elevator will go to the higher floor. For the number of stops per elevator trip, using Cohorting and Queue Splitting intervention, we can ensure that the elevator only makes one stop in each elevator trip, while in FCFS, of the time the elevator will make two stops. Our proposed interventions can simultaneously reduce the stop time and the travel time of the elevator, and make the elevator trips more efficient. The analysis for the two-destination system can be extended to multiple floors. In the 2 Queue Split intervention, we have two destination ranges, the high floors and the low floors. When using FCFS, of the trips will end up in the high floor range, while using 2 Queue Split, we can reduce the fraction of trips going to the high floors to . In the next subsection, we provide detailed analysis of a building with multiple elevators and floors.
4.4 General case
In this subsection, we focus on a general building with destination floors and identical elevators that can serve all the floors. Though the expected service time is complicated to compute exactly in the general setting, we can focus on the distribution of and and show that the stability threshold for Queue Splitting and Cohorting is much higher than the one for FCFS. In this subsection, we again assume that we group passengers together and let them enter the lobby as a new job to the queuing system. Lemma 3 below shows that the stability threshold for each intervention is a simple function of the and .
Proposition 3.For intervention , , the queue is stable if and only if the arrival rate .
Proof.We start with FCFS. By Equation (2), the stability condition is , which is equivalent to
Under the Cohorting intervention, the queuing network consists of independent buffers for floors, and an idle server will choose to serve the buffer with the earliest arrival time. By Equation (2), we need to specify the average round trip time for each buffer. The highest reversal floor for buffer is simply , and every trip only has one stop so . Therefore, the stability condition (2) becomes , where . Note that the highest reversal floor follows a uniform distribution, we can rewrite the left-hand side of the stability condition into
Under the Queue Splitting intervention, recall that we assume that the floors are divided into groups, where each group is a separate buffer and consists of consecutive floors. Note that and are integers. The stability condition becomes , where in this case. Since the jobs are processed in a round-robin fashion, the probability for a new job to be in group is . Then we can rewrite the left-hand side of the stability condition as
From Lemma 3, we know that the key to compare the stability conditions for different interventions is to compare the expectation of the highest reversal floor and number of stops. The analysis for FCFS can be found in the literature of elevator analytics (Barney & Al-Sharif, 2015), whereas the Cohorting and Queue Splitting intervention require new analysis. Next, we compute the distribution and expectation of the highest reversal floor (Lemma 4) and number of stops (Lemma 5) and provide a comparison.
Lemma 4.
- (a) For , the cumulative density function of the highest reversal floors is
- (b) The expectation of the highest reversal floors is
- (c) stochastically dominates , and stochastically dominates , that is, . Therefore, .
Proof.
- (a)
In FCFS, the random event that the highest reversal floor to be no larger than is equivalent to the event that the destination of each passenger is randomly chosen from 2 to , which directly gives us the result.
For the Queue Splitting intervention, we can rewrite floor as , so that floor is the th floor in the th group. Therefore, , and . Conditioning on the fact that the current service group is the th group, the probability of the highest reversal floor is no larger than is equal to , following the same argument for FCFS. Note that if is in floor group , all the trips in group satisfy the condition .
The distribution of the highest reversal floor for Cohorting directly follows from the definition of a uniform distribution on value .
- (b) A straightforward calculation shows . We next use the tail formula to derive the expectation for FCFS and Queue Splitting intervention:
- (c) We first prove that the random variables preserve stochastic dominance, that is, . By definition, we only need to verify that is true for all . The first inequality is easy to verify since
Next we verify the second inequality:The first inequality follows from Jensen's inequality, and the second inequality follows from the fact that . Following the stochastic dominance result, we obtain the desired ordering in expectation.
Since our simulation results in Section 3 are for a 25-story building, the highest reversal floor plays an essential role in the performance of the elevator system. Lemma 4 strongly supports the good performance of Cohorting and Queue Splitting in the simulation, as the distribution of the highest reversal floor preserves stochastic dominance across the three interventions we study. Note that the expected ascent time and descent time is equal to . With the formula of from Lemma 4, in Proposition 4 we provide guarantees on the potential improvement by deriving the ratio of the expected ascent time and descent time between interventions.
Proposition 4.
- (a) The ratio of the expected ascent time and descent time between FCFS and Cohorting is at least .
- (b) For the special case of and , the ratio of the expected ascent time and descent time between FCFS and Cohorting is equal to , which at least . The ratio reaches the lower bound when there are only three floors and reaches the upper bound when the number of floors grows to infinity.
- (c) For the special case of , the ratio of the expected ascent time and descent time between FCFS and Queue Splitting is equal to .
Proof.We first bound and by replacing summation with integral.
- (a) We compare the expected ascent time and descent time between FCFS and Cohorting by considering the ratio
- (b) When , we can compute explicitly. Therefore, the ratio becomes
(7)Note that since Equation (7) is increasing in , we can plug in and yield the lower bound on the ratio and send to infinity to get the upper bound.
- (c) In the special case of , we can also explicitly compute the expectation of . Note that since , we can simplify the ratio and get
Note that is always greater than 1 since .
From Proposition 4, we can observe that the value of the ascent and descent time can be shifted to lower values through the Cohorting and Queue Splitting interventions. The more groups it splits into, the greater the reduction can be. Next, we consider the distribution of the number of stops. The distribution and expected value of the number of stops can be found in a book (Barney & Al-Sharif, 2015). We summarize the results in Lemma 5 below.
Lemma 5.
- (a) For each intervention, the distribution of the number of stops is as follows
where is the Stirling number of the second kind, the number of ways to partition a set of C objects into nonempty subsets.
- (b) The expected number of stops for FCFS and Queue Splitting is
With the distribution of and being derived in Lemmas 4 and 5, we plot the expected values in Figure 7 for various parameter settings. When the number of destination floors becomes large, the expected number of stops will approach the capacity in both FCFS and Queue Splitting intervention. However, Queue Splitting is increasing much slower, and the more groups we split into, the lower the value is. Similar behavior can be observed in the expected highest reversal floor graphs.

When the elevator capacity increases, the reduction in the expected values of and becomes more significant for both the Queue Splitting and Cohorting intervention when compared with FCFS. Using a building with 32 floors as an example, 2 Queue Split can reduce the average number of stops by when , but only by when . For the average highest reversal floor, 2 Queue Split reduces it by when , but only by when . In general, the higher the capacity is, and the larger the number of floors is, the more difference we can observe from Figure 7. Therefore, it is indeed more critical for higher buildings with larger elevators to apply the proposed interventions to reduce the round trip time and make the queuing system more efficient.
5 PRACTICAL ISSUES IN COHORTING
Cohorting as discussed in Section 4 is focused on the situation where there is a large queue and we can create a cohort of passengers perfectly. Under this setup, we proved Cohorting is always the best in terms of highest reversal floor and number of stops (Lemmas 4 and 5). Of course, in our simulations it may not be always possible to cohort perfectly if the queue length is under control, and we see in the numerical results that Cohorting has inferior performance in highest reversal floor compared to 2 Queue Split in Figure 5. Cohorting has a slightly higher average value (18.8) than 2 Queue Splitting (17.6). However, the number of stops in Cohorting (2.78) is lower than 2 Queue Split (3.27). Therefore, the overall round trip time, impacted by both number of stops and highest reversal floor is lower in Cohorting in the simulations, since each stop takes 15 s whereas traveling one floor takes only 1.4 s.
In the remainder of this section, we discuss three practice-related issues about our interventions that may improve or hurt their performance. For concreteness, we focus on Cohorting, but similar modifications can be made to other interventions.
5.1 The impact of willingness-to-walk
First, when the queue length is not large, we may not find enough people who go to the same floor. One way to increase the chance of people going to the same floor is by asking them to take the stairs. We model this behavior using the Willingness-to-Walk () parameter indicating the probability that a given passenger would walk one floor up or down from their intended destination instead of preferring to only go to their destination floor. For example, if , then of all passengers whose intended destination is floor would consider the option of taking an elevator to any of the floors or . Our consideration of is inspired by literature showing that leveraging demand-side flexibility can be effective in managing operations (Elmachtoub et al., 2019; Tao et al., 2020).
When some passengers have the willingness of walking one floor up or down to their intended destination, the system may benefit from the potential reduction in the number of stops each elevator trip needs to make. Using simulation, we can see how much value it provides for different levels of on the Cohorting and Queue Splitting interventions. In the Cohorting intervention, passengers line up in a single queue and the QM asks along the line whether the passengers are going to the target floor, which is the first passenger's destination. If a passenger is going to an adjacent floor of the target floor and is willing to walk, then they would say yes and join the cohort with the first passenger. In the Queue Splitting intervention, we assume that a passenger who is willing to walk will choose the shortest queue to join upon arrival, which can either go to the final destination directly, or stop at one floor lower or higher. Note that this option is only available to passengers whose destination floor is at the boundary of a floor group. We summarize the results in Figure 8.

In Figure 8, we report the boxplot of the average queue length for three interventions with level from to . When , then Cohorting can be improved an additional 10%–20%, while if (which is idealistic), Cohorting can be improved by up to 30%–40%. There is barely any change in the queue length when increasing from to for Queue Splitting, though the performance varies slightly due to randomness in the 100 simulated instances, because the distribution of the highest reversal floor and the number of stops do not change much when we allow passengers whose destination is at the boundary of the queue ranges to switch to another queue. Overall, the willingness of passengers to walk one flight can improve the performance if Cohorting is implemented, but the benefit is marginal (comparing to the queue length decrease one can observe by solely using Cohorting, which is approximately 62 in FCFS to 9 in Cohorting). Furthermore, the effect may be overestimated since passengers may not comply with their willingness to walk a flight of stairs once they board, since they can easily push the floor button they desire, and it may take extra time for communication when walking is included in the operations.
5.2 Limited space and communication time
The second practical issue relates to the number of passengers the QM can reach. In a particular building, the QM may not be able to communicate with everyone in the line. The QM cannot reach out to people beyond a point, perhaps due to a turn in the hallway or the small size of the lobby. We reevaluate the Cohorting intervention with an extra constraint, which is that the QM can only consider a certain number of passengers from the front of the queue. In Figure 9, we study Cohorting with a limited number of people within reach of the QM for the large building case study.

The final practical issue is the extra time Cohorting may take due to the communication time it takes for the QM to learn about the passengers' destination. To simplify the Cohorting implementation in this simulation, we propose the Cohorting with Pairing intervention, which only requires the QM to find one other passenger with the same destination as the first person and create a “pair” to board the same elevator. In the original Cohorting intervention, the QM tries to match up to people with the first person in line. Loading an elevator of capacity 4 with one pair leads to at most three stops, and two pairs leads to two stops being made by the elevator. A pseudocode implementation of the Cohorting with Pairing intervention is available in Supporting Information, Section EC.4 as Algorithm 3.
Figure 9 shows the performance of Cohorting and Cohorting with Pairing interventions when the number of people within reach of the QM is limited. As comparison benchmarks, we also plot the performance of the FCFS, Cohorting, and Cohorting with Pairing intervention without the constraint on the number of passengers that can be considered by the QM. The first observation is that Cohorting with Pairing is an effective and easy-to-implement intervention, as it performs almost as good as the Cohorting intervention when the QM can reach the same number of passengers. Moreover, as the QM can approach passengers further in the queue, the average queue length shrinks rapidly. When the QM can reach out to about 10 people, the queue length is already less than 20 and being able to reach more than 10 passengers adds marginal value. Therefore, it is critical to design a safe queuing plan with physical distancing such that 10 people can hear the QM, which is a practical and reasonable target. Moreover, the QM can simply implement the Cohorting with Pairing intervention in the limited lobby space. The figures may vary across different buildings and our code implementation can easily be changed to analyze different settings.
6 CONCLUSIONS AND FUTURE WORK
This project was done with the guidance of New York City Mayor's Office of the Chief Technology Officer and the Department of Citywide Administrative Services, which had continuous input into our work throughout the process. Through this work, we combine mathematical modeling and epidemiological expertise to design interventions for safely managing elevator systems amidst a pandemic. The social distancing requirement during a pandemic may lead to large buildup of queues in the lobby during busy periods when using FCFS. We propose various interventions with a QM to help load passengers in the lobby. The fundamental idea behind these interventions is to try to reduce queue buildup by maximizing the number of people in an elevator trip going to the same floor (or nearby floors), which in turn reduces boarding/deboarding times as well as travel times. The interventions we study apply to generic buildings, and we have provided open-source code so other building settings can be studied. The intervention chosen by a building may depend on its particular simulation results, physical layout, personnel, and epidemiological considerations. For example, in the large NYC building case study, the maximum queue length in Cohorting and 2 Queue Split are, respectively, over a factor of eight and five times smaller than that of FCFS. Cohorting is even effective when the QM can only talk to the first few people in the queue, or when we cohort in pairs only. We also provide customizable open-source code and an instructional video explaining our interventions.1
A comparison of the two proposed interventions is provided in Table 1. Our simulations show that the Cohorting intervention leads to lower waiting time for passengers in the lobby and reduces the number of people in the lobby (queue length) significantly. If the QM cannot talk to many people in the line, we suggest the Cohorting with Pairing intervention in limited space, which is easier to implement and provides similar benefits as Cohorting, as long as the QM's announcement can reach a suitable number of people in the line. We also propose the Queue Splitting intervention which implicitly groups similar passengers together to improve efficiency while needing less communication from the QM. Queue Splitting with even a small number of queues achieves comparable performance to Cohorting. The proposed interventions are effective beyond the constraints imposed by a pandemic, and thus are still useful after the pandemic to manage lobby queues.
Cohorting | Queue splitting | |
---|---|---|
Pros |
|
|
Cons |
|
|
In this paper, we have only considered the problem of moving people upwards in a building from the lobby. Without any elevator AI, it is near-impossible to do any interventions for downward and interfloor movement. Using sensors, it would be possible to know how many people are in each elevator, where they are going, which floors have a request, and how many people are waiting on each floor. We could then intervene, allowing us to design algorithms that balance efficiency of the system with fair waiting times, while maintaining the safety standards necessary (Pepyne & Cassandras, 1997). For instance, due to the reduced elevator capacities, a passenger on a middle floor may have difficulty leaving the building during lunchtime. Every time an elevator arrives, it may be filled with passengers from higher floors. In future work, one can design algorithms that mitigate such a situation, which is likely (and known) to occur.
There are many other considerations to be investigated. Due to perceived inequity in interventions like Cohorting, which let passengers jump the queue maybe for the greater good, there could be individual frustrations (Berry et al., 2002; Larson, 1987). One can also only implement an intervention when the queue length exceeds a threshold and otherwise rely on FCFS, which reduces the overall need of a QM. In our study, the passenger arrival patterns and destinations were generally stationary and uniform, and different effects may occur otherwise. However, we note that if some floors are more popular than others, then it may actually be easier to implement Cohorting. Finally, given more data and knowledge of the internal elevator algorithms, our models could simulate interfloor traffic more accurately.
ACKNOWLEDGMENTS
The authors are grateful to the senior editor and the two anonymous referees for their suggestions that helped improve this paper. The authors thank the New York City Department of Citywide Administrative Services and Neal Parikh, Director of Artificial Intelligence in the Mayor's Office of the Chief Technology Officer, New York City, for data used in this work. YZ did most of this work while at Columbia University. The study was supported by an award under Columbia Engineering's “Urban Living Tech Innovations” initiative to develop technology innovations for urban living in the face of COVID-19. AE and YZ were supported by NSF CMMI-1944428. CS and SMA were supported by NSF CCF-1714818.