DEGREE PROJECT, IN COMPUTER SCIENCE , FIRST LEVEL STOCKHOLM, SWEDEN 2015
Scheduling of Modern Elevators
A DESCRIPTION OF MODERN ELEVATORS AND A COMPARISON OF HEURISTICS USED FOR SCHEDULING THEM
VIKTOR BJÖRKHOLM AND JESPER BRÄNN
KTH ROYAL INSTITUTE OF TECHNOLOGY
Abstract
Three heuristics for scheduling of a modern elevator system are
evaluated and compared to one another. Modern elevators are
described as an elevator system with multiple cabins per eleva-
tor shaft with the capability of travelling horizontally as well as
vertically in a unidirectional system.
Referat
Schemaläggning av moderna hissar
Tre heuristiker för schemaläggning av moderna hissystem är ut-
värderade och jämförda med varandra. Moderna hissystem be-
skrivs som hissystem med fler än en hissvagn per schakt och som
har kapaciteten att färdas både horizontellt och vertikalt.
Contents
1 Word list 1
2 Introduction 2
2.1 Problem Definition . . . . 2
2.2 Overview . . . . 2
3 Background 4 3.1 Modern elevator . . . . 4
3.2 Nearest Cabin Heuristic . . . . 5
3.3 Search Based Heuristic . . . . 6
3.4 Zone Based Heuristic . . . . 6
4 Method 7 4.1 Heuristics . . . . 7
4.1.1 Nearest cabin . . . . 7
4.1.2 Search based . . . . 8
4.1.3 Zone Based . . . . 8
4.2 Simulation . . . . 9
4.2.1 Implementation . . . . 10
4.2.2 Events . . . . 11
5 Results 13 5.1 Smaller building . . . . 14
5.2 Skyscraper . . . . 14
5.3 Complex building . . . . 16
5.4 Max values . . . . 16
6 Discussion 18 6.1 The chosen buildings . . . . 19
6.2 Future Work . . . . 19
6.3 Sources of errors . . . . 20
7 Conclusion 21
Bibliography 22
Appendices 22
Chapter 1
Word list
Here are a few words and acronyms which will be used throughout this report.
MES
∗Modern elevator system, means an elevator system in
which cabins can travel both horizontally and vertically, and which has multiple cabins per shaft.
RES
∗Regular elevator system, one elevator per shaft and bidirectional operation.
LCS Landing Call System, the user defines the desired direction of travel at the call.
DCS Destination Call System, the user defines the desired destination at the call.
NC Nearest Cabin, one of the heuristics.
Up-/Down-peak When a majority of the requests is in one direction, either up into the building or down to the entrance.
Floor call When a passenger enters the floor or exit they want to go to.
∗
These definitions were created for this report.
Chapter 2
Introduction
This report sets out to evaluate suitable methods to schedule a type of modern elevators.
The specific type of modern elevator systems (MES) discussed in this paper has the capability of operating the cabins both horizontally and vertically. MES also have the capacity of handling multiple cabins in the same shaft. The added axis of horizontal movement allow MES to function in buildings that are built in shapes not suitable for the traditional elevator shafts. Multiple cabins per shaft allow the throughput of people in buildings to increase with less floor space being occupied by the elevator shafts. This allows buildings to be higher while still being able to serve all of the passengers in the building with maintained waiting times.
In this report references are made to elevator systems in use today, from now known as RES. The RES that are considered in this report can travel vertically with one cabin per shaft.
2.1 Problem Definition
This report is a comparative study of three different heuristics for scheduling MES.
The three heuristics were chosen because of the difference between them, with respect to their strategies of operation. They will be compared in three different buildings of varying complexity with different numbers of cabins. The heuristics will be compared by considering the combined waiting and travel time for the passengers during a day with two distinct up- and down-peaks as well as interfloor traffic. The question we aim to answer is which of the tested heuristics works the best with our kind of MES.
2.2 Overview
In chapter 3, three heuristics for scheduling MES are presented. The definition of
"modern elevators" is also explained in the context of this report and how those differ
from other elevators.
2.2. OVERVIEW
chapter 4 presents the method used to gather data. In this chapter we also explain how we adjusted the heuristics to work with modern elevators. The different buildings that were used to gather data are shown.
In chapter 5 the results of the simulation are presented. The passenger waiting and travel times in different heuristics and buildings are shown in graphs.
In chapter 6 we discuss the results and their significance. Here we also bring up potential improvements and future work as well as sources of errors in our method.
Finally we present our conclusions of this paper in chapter 7.
Chapter 3
Background
In all buildings where there are elevators there is a need to schedule them. At the most basic level, if there is one elevator and multiple passengers it needs to be decided where the cabin should go first and in which order the calls are to be answered. As the number of elevators and passengers increase, so does the complexity of scheduling them. How the cabins should act while they are idle, where in the building they wait for new passengers and, in the case where multiple cabins share a shaft, how to move out of the way if one of them is blocking the path also needs to be determined.
There has been research written about RES scheduling since microprocessors became cheap enough to use, as explained by Halpern (2010). Their main disadvantage is the amount of space taken in the building. When building elevators that have multiple cabins per shaft this disadvantage is removed, and greater amounts of people are able to be shuttled through the elevator system per shaft. In tall buildings the travel time to go from one floor to another is naturally longer than in buildings with fewer floors.
To circumvent having passengers waiting a long time for a free elevator it is common to add more elevator shafts and cabins. This however means that more floor space is being occupied by elevator shafts rather than what the building was intended to contain.
This is one of the problems that MES solves. Office space, and floor space in general, is becoming a scarce resource in the big cities in the world as written about by Chaban (2014) who means that removing unnecessary elevator shafts is a good step to reclaiming some of the lost floor space.
Increasing the throughput of people in office buildings is something which would decrease the waiting time for elevator passengers. In New York city alone, 16.6 years is spent waiting collectively over all office workers during a year according to IBM (2010).
3.1 Modern elevator
The MES described in this report is capable of operating both horizontally and vertically,
with multiple cabins per shaft. The system have different lanes as directions in the shaft
to prevent collisions. As the cabins can operate horizontally the building structures can
3.2. NEAREST CABIN HEURISTIC
become more complex and still allow for travelling with an elevator throughout the entire building.
Passengers use the MES by selecting a destination when they are calling for a cabin. All exits are presented outside of the elevator with an overview of the building where each possible exit is marked with a button, a so called Destination Control System (DCS).
This is opposed to a RES with an up and down-button, a so called Landing Call System (LCS), where the elevator system only knows whether a passenger wants to go up or down until they have entered the elevator. The MES uses the DCS since there are multiple exits on each floor.
Figure 3.1.
The complex building used, plotted as a graph.
3.2 Nearest Cabin Heuristic
A basic heuristic is the nearest cabin (NC) control algorithm. The NC algorithm assigns the closest elevator travelling in the correct direction to the floor call. This means that if the elevator is travelling in a direction and passes a passenger that also wants to travel in that direction, the elevator will stop and pick up that passenger. The heuristic calculates a figure of suitability (F S) which is described by Barney (2004). The elevator with the highest F S is the elevator sent to pick up the passenger. When there are no more requests the cabins idle in the place where they last stopped.
Two variables are used: d is the distance in floors between a particular cabin and the
floor where a passenger wants to travel from, and N being one less than the total amount
of floors in the building.
CHAPTER 3. BACKGROUND
If the cabin is travelling in the same direction as the passengers request, then F S = (N + 2) − d
if the cabin is travelling toward the call but in the wrong direction relative the passengers request then
F S = (N + 1) − d and if the elevator is travelling away from the call then
F S = 1
3.3 Search Based Heuristic
The search based heuristic creates a search problem to evaluate every possible assign- ments of a call to a cabin. Any parameter can be used in the search heuristic depending on what the systems aims to minimize as explained by Tobita et al. (1991). There are greedy search algorithms and non-greedy search algorithms according to Crites et al.
(1998). The greedy algorithm evaluates a result at the time it is added and does not re evaluate the assignment. The non-greedy algorithm can re-evaluate the assignment to optimize it given new information. When searching among every possible assignment and the events following that particular configuration, the computing time increases ex- ponentially when the number of elevators, people and active jobs increases as explained by Mulvaney et al. (2010). The events following an assignment includes stops during the travel path and queues caused by other active cabins in the system. The goal of the search heuristic is to make a better assignment than the nearest cabin heuristic with less effort than a complete search of all parameters and resulting events of every possible assignment. The cabins idle where the last passenger exited from the cabin.
3.4 Zone Based Heuristic
Zone Based heuristic is a way of dividing the floors and exits in a building into zones and assigning cabins to them. The cabins should be evenly distributed within the building in order to minimize waiting time according to Strakosch and Caporale (2010), which is what the zone based heuristic does. The different zones allow the cabins to respond more quickly to calls than if they were clustered around a specific exit. A cabin assigned to a zone will only answer to calls from that zone and can travel outside of its zone to deliver the people that it picked up.
The cabins can be assigned to zones dynamically; either a zone becomes empty, or there
is a greater load somewhere else in the building as described by Strakosch and Caporale
(2010). A cabin in a zone with few requests may have its zone expanded when other
cabins which serve more used floors can have their zones decreased. A zone such as the
ground level, which is heavily used, may be made in to a one-floor zone which is always
occupied by a cabin.
Chapter 4
Method
4.1 Heuristics
In our MES the shaft is unidirectional as opposed to a RES where each elevator can travel in two directions in its shaft. Several cabins also share a shaft in the MES which creates the possibility of collisions between cabins. This changes the conditions for the heuristics described in the background and they have to be adapted to the MES since they are developed for a RES. Below follows the specifics on how we adjusted the heuristics described in the background to work with our MES.
4.1.1 Nearest cabin
The nearest cabin heuristic is easier to implement in the MES because of its one di- rectional property. In a RES the direction of the elevator is accounted for while in the MES a close cabin has to be on one side of the destination since it can not turn around once it has passed an exit. Within the MES we have the possibility to implement a more powerful nearest cabin heuristic if the cabin is traveling in the same direction as the caller since the passenger reveals the destination at the call, because of the DCS.
Deciding whether or not the cabin is travelling away from a target is not really possible,
since in one way the cabin is always travelling towards the target. Once a cabin has
passed an exit, the path to the exit is to first travel away from it and then turn around
where the building allows it, see 3.1 on page 5. We decided to modify the FS value
and instead of trying to maximize a value we try to minimize a value designed for our
MES. For active cabins the extra distance to perform the new job considering its current
ones is calculated, while idle cabins only count the distance to pick up the caller. The
total distance for a job for an idle cabin, a potentially larger value than for an active
elevator that is heading in the same direction, could be misleading to compare since the
user could benefit from activating another cabin and thus parallelising the work within
the MES. Both distances are compared equally apart from that and the cabin with the
lowest added value is assigned to the job.
CHAPTER 4. METHOD
The number of passengers in the cabin and its planned stops are however only counted if the elevator has active jobs.
4.1.2 Search based
The search based heuristic considers different parameters that affect the waiting time for the passenger and search for an assignment of jobs that minimizes the waiting times.
The search based heuristic is based on the nearest cabin heuristic, however it has two additional parameters that are considered. These are the number of passengers in a specific cabin and the amount of stops the cabin will have with its current set of jobs.
This is done to be able to minimize the travel time for the passengers in the cabin.
The heuristic keeps track of how many passengers are in a cabin and what destinations they have, always knowing its current passenger count. This enables the heuristic to penalize a cabin that would try to pick up a passenger when it is already full with the distance to travel around all of the exits in the building. This penalty is based on a possible detour the cabin could make before it picks up the passenger again.
if position == exit_to_pick_up_caller if people_in_cabin >= MAX_PASSENGERS
penalty += distance_around_building
The stops during the cabins path are calculated in a similar way, following the cabins path and adding a penalty as long as the door opening on each stop.
if position == exit_to_pick_up_or_drop_passenger penalty += door_opening_time
An idle cabin is calculated in the same way as the nearest cabin heuristic, with its distance to pick up the caller. The search algorithm is greedy, as it does not re evaluate any assignments. Since the search based heuristic is such a general concept adapting it to MES did not generate any clear difficulties related to MES rather than a general process to figure out what parameters we wanted to focus on.
4.1.3 Zone Based
The new properties of the shaft design made the zone based heuristic a bit different to
implement. We defined the zones as loops within the MES as it would with floors in
a RES. The loops were predefined as the smallest possible loops in order to create an
even distribution in the building and minimize the distance from a cabin to all of the
zone exits. The controller iterates over all the zones and makes sure that they have an
owner, and in the case where there are too few cabins it makes sure that all the elevators
own a zone. In the case when there are more cabins than there are zones, then as many
4.2. SIMULATION
cabins as there are zones are assigned to the zones and the rest are unassigned. The assignments can however change when the cabins start moving.
When a person calls for an elevator the cabin that owns the zone gets assigned to the call. In the case where no cabin owns the zone the closest elevator gets assigned to the call and in such way the zone based heuristic is dynamic since it considers all the other cabins, including the owners of all other zones. When a cabin has picked up the person and the destination of the passenger is outside of the zone, the controller retracts the cabins ownership of the zone and tries to reassign it to an idle cabin. In the case where there are no idle cabins the controller waits with the assignment and tries again the next tick. t We changed the behaviour of a cabin that is asked to move by an approaching one. In the other heuristics we saw a feature in letting the cabin make the smartest next move by trying to move out of the way by considering the approaching ones current job.
In the zone based heuristic it moves within its zone to make sure not to leave it.
Figure 4.1.
The skyscraper building used in the simulation, plotted as a graph.
The dashed lines hide the floors in between.
4.2 Simulation
To compare the three different heuristics we wanted to gather data on waiting, and travel
times in different buildings. In order to get this data, a simulation was written to simulate
three different environments and buildings in which the modern elevators operate. A
small building, a larger skyscraper-like building and a complex larger building.
CHAPTER 4. METHOD
The two normal buildings were chosen to see if the MES worked in regular buildings and the complex building was chosen to see how the different heuristics compared in a building that was designed purely for a MES.
The heuristics were then implemented so that they could be directly compared to each other using average travel and waiting time. The simulation ran for 365 work days with each day letting each person in the simulation generate their own random variables for when to do set events. The arrival times were set as an approximation of a Poisson dis- tribution since this is, according to Barney (2004), generally accepted as how passengers arrive into a system. The use of the elevator system peaked at the start of the day (8 am), lunch time (12 am) and end of the day (5 pm) the elevator users arrived. During the day each person in the building had two meetings in the morning and two meetings in the afternoon at random points during those periods to generate interfloor traffic.
The simulation involved a total of 100 persons every day.
Figure 4.2.
The simple building used in the simulation, plotted as a graph.
4.2.1 Implementation
The simulation was written in Java with a relational database backend to be able to
directly query and fetch relevant data from the simulation to create statistics. An office
building during a work day is simulated with a set number of workers coming in to work
in the morning according to a Poisson distribution, simulating the up-peak. There is a
mixed flow around lunch when the workers leave the building and return from lunch,
as well as a down-peak at the end of the work day. During the day the workers have
meetings and travel around randomly in the building. All of the workers have a random
floor they work on assigned to them when the day starts.
4.2. SIMULATION
The simulator uses an event loop as opposed to a threaded model to avoid synchroniza- tion overhead. The system is not complex enough to warrant a threaded model and data gathering runs fast enough with one thread. The event loop makes sure that all objects performs their actions with a shared time-variable that the master simulator class sends them via a tick method. This tick method is then implemented by the cabins, persons and the controller in which they perform their work. The workers check the time to see if any of their events are due, and the cabins examine if they have gotten any new work from the controller according to its implemented heuristics. The controller evaluates if there is work to do regarding queueing of the cabins. When the cabins get close to another cabin within the shaft it sends a request that it wants it to move, which the controller handles in its tick method. When an idle cabin gets a request to move it will move one step and evaluates if any of the possible steps are better than the other to get out of the way from the cabin catching up by checking its active job and what the next step in that path would be.
The buildings and shaft designs are represented by a unidirectional graph. This modular design enables switching between different buildings and shaft designs since the graph is the only thing that determines the shafts design. At the beginning of the simulation a matrix is generated that for each node via Dijkstra’s algorithm calculates the shortest path to the other nodes. At index (from, to) in the matrix the next node in the path is stored. This gives a linear complexity to get the path between two nodes as each step gets a value from the matrix in constant time rather than calculating the path with Dijkstra’s algorithm each step.
The controller implements the two heuristics described in this report and runs the sim- ulation according to the two of them individually to acquire data. This enables a direct comparison on how well the heuristics work for the same use cases.
4.2.2 Events
The simulation stretches over an entire day in order to capture a few different events
where the movement and thus the elevator work is different. The events included in
our simulation is start of day, lunch break, meetings and end of day. Start of the day
has a concentrated up-peak where everyone arrives at the bottom floor and takes the
elevator to their work floor. The lunch break creates a down-peak when people start
going to lunch (outside of the building, traveling to the bottom floor) and then a mixed
flow when people are still going out to lunch and a few starts arriving back from their
lunch. Meetings will be a mixed flow within the building with persons going to random
floors to four meetings each, two before and after lunch. The end of the day has a
concentrated down-peak when everyone leaves the building to go home. The events have
predetermined times that are distributed according to an approximation of a Poisson
distribution to simulate a realistic distribution of arrival times. A few are early, a few
are late and most people are on time. In order to ensure service for each worker we
implemented a limitation to the distribution so that from an undefined minimum and
maximum value we limit them to -2.0 to 2.0 with the same standard distribution one and
CHAPTER 4. METHOD
Figure 4.3.
Class diagram of our implementation.
peak at zero. The meetings are randomly distributed without any peaks. The events
are changed dynamically, if a person’s next event is scheduled too close to the current
one so that the person is still inside or waiting for a cabin, the next event is rescheduled
to occur when the current event has passed.
Chapter 5
Results
The results presented in graphs 5.2, 5.3, and 5.4 represent the three different buildings that our simulation includes. In each of the graphs, the columns represent each heuristic with the number of cabins in the MES specified below. The graphs present the added average times that the passengers spent waiting for the cabin and travelling with the cabin, in other words the total time spent by the passenger to get to their destination.
The y-axis in our graphs represents seconds and the x-axis presents the number of cabins.
Each of the columns represent one heuristic as specified by their colours.
Note that the y-axis does not present the entire interval but is cut off to make the differences more visible.
The frequency during the day that passengers travelled is shown in graph 5.1. This shows the peaks around morning, lunch and evening, with some interfloor traffic in between.
Frequency of Travel
7:00:008:00:009:00:0010:00:00 11:00:00
12:00:00 13:00:00
14:00:00 15:00:00
16:00:00 17:00:00
18:00:00 19:00:00
Figure 5.1.
Frequency of travel within the building.
CHAPTER 5. RESULTS
5.1 Smaller building
Simple building, total waiting time
NC Zone Search
1 2 3 4 5 6 7 8
30 32.5 35 37.5 40
Number of cabins
S eco nd s
Figure 5.2.
The average total duration that it took from calling an elevator to getting to the destination for different number of total cabins in the simple building.
In the smaller building we can see that the search based and the nearest cabin heuristic performs similarly while the zone based has got a higher average time.
5.2 Skyscraper
In the skyscraper the nearest cabin heuristic gave the highest average times followed by
the search based. The zone based heuristic had the lowest average times. Outside of
the presented graph (higher and lower number of cabins) the values follow the indicated
curve where the nearest cabin and the search based perform with higher averages and
the zone based converges.
5.2. SKYSCRAPER
Skyscraper, average duration
NC Zone Search
5 6 7 8 9 10 11 12 13
60 70 80 90 100
Number of elevators
S eco nd s
Figure 5.3.
The average total duration for a passenger in the skyscraper
CHAPTER 5. RESULTS
5.3 Complex building
Complex building, average duration
NC Zone Search
5 6 7 8 9 10 11 12 13 14
70 77 84 91 98
Number of elevators
Seconds
Figure 5.4.
The average total duration for a passenger in the complex building
In the complex building the zone based heuristic performed with a higher average time than the nearest cabin and search based heuristic.
5.4 Max values
We simulated data for 365 work days with each configuration which gave us around 430 000 elevator journeys of data per configuration. Some of the years contained maximum values several times larger than the average values, a selection presented in table 4.1.
In a majority of the configurations the zone based heuristic had lower maximum values than the other two heuristics and the search based did in a majority of the cases have lower maximum values than the nearest cabin.
Picture 5.5 presents the added maximum values for the complex building with the differ- ent heuristics. The added maximum values means that the highest value of waiting time and the highest value of travel time was added, possibly from two different occasions.
The y-axis interval was cut of at 1800 seconds to make the lower values more visible
and the x-axis interval of number of cabins was chosen where there were low intervals to
be found. With fewer or more cabins all the heuristics yielded higher added maximum
values than 1800. Note that the zone based heuristic had the highest average waiting
times in this interval, as shown by picture 5.4.
5.4. MAX VALUES
Table 5.1. Maximum values
Cabins Building Heuristic Maximum duration waiting Maximum duration travel
3 Smaller NC 1072 869
3 Smaller Zone 150 145
3 Smaller Search 138 136
7 Skyscraper NC 12326 12712
7 Skyscraper Zone 383 377
7 Skyscraper Search 5448 5219
14 Complex NC 11788 13413
14 Complex Zone 312 245
14 Complex Search 4759 4420
Complex building, max values
NC Zone Search
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
300 600 900 1200 1500 1800
Number of cabins
Seconds
Figure 5.5.