You are on page 1of 6

Elevator Dispatching Problem

Annamalai Natarajan
Department of Computer Science
Colorado State University
Fort Collins, Colorado 80523

Abstract by Chung and Lafortune. Muhammad and Ono solved the


Elevator Scheduling problem using DNA computing by cre-
Traditionally Elevators are operated by complex heuris-
ating DNA sequences of length directly proportional to the
tic algorithms with more emphasis on control engineer-
ing. This paper summarizes a Genetic Algorithm ap- elevators traveling time(Muhammad and Ono 2006). Beiel-
proach to solve the Elevator Dispatching Problem. The stein, Ewald and Markon developed an evolution strategy
dispatcher is modeled based on the Destination Floor (ES) that is capable of optimizing the neuro-controller of an
Control System by which it groups passengers based elevator group controller(Thomas Beielstein1 and Markon3
on source and destination thereby minimizing the num- 2003). A Reinforcement Learning(RL) approach has been
ber of elevator round trips. The goal of this approach is proposed by Crites and Barto by using one RL agent per
to perform better then sequence dispatchers. elevator(Crites and Barto 1995). Munoz, Llanos, Rincon,
Els and Almeida analyzed and implemented four elevator
Elevator Dispatching Problem dispatching algorithms using reconfigurable architectures
based on FPGAs(Daniel M. Munoz and Almeida 2006). In
The purpose of an elevator dispatcher is to determine the yet another approach Fujino, Tobita, Segawa, Yoneda and
schedule of elevator movements that best meets a specified Togawa proposed an elevator group control system which
goal(Hamidia and Mulvaney 2007). The dispatchers are ei- can change control setting according to individual floor uti-
ther centralized or decentralized. The approximate wait time lization situations(Atsuya Fujino and Togawa 1995).
for an elevator depends on the dispatching strategy used by
the elevators. Though the search space is partially observ-
able with static number of floors and elevators there is an The Elevator Dispatcher
element of stochasticity involved with the passenger arrival The Elevator dispatcher is designed to handle passenger
rates and destinations. The Elevator Dispatching problem is traffic from a building with the following Elevator System
a real world optimization problem. dynamics. The building has ten floors numbered from 0
through 9. It is serviced by two elevators of capacity 20 pas-
Previous Work sengers each. The floor time is 1.45 seconds it is the time
The elevator dispatchers are a class of problems which are taken by an elevator to travel from one floor to another. Stop
time bound autonomous systems. They are Discrete Event time is set to 7.19 seconds it is the total time taken to deceler-
Systems operating in a continuous time space. This prob- ate, open doors, close doors and accelerate. The load/unload
lem has been studied by various disciplines including Com- time is the time taken for a passenger to enter/exit the el-
puter and Electrical Engineering, Control Engineering, Ap- evator it is set to 2 seconds. The elevator dispatcher im-
plied Mechanics, Operations Research and Computer Sci- plemented is centralized and tuned to handle a typical af-
ence. The research documented here is strictly limited to ternoon down peak traffic(traffic from floors 1 through 9 to
the Computer Science discipline. Hamidia and Mulvaney ground floor). The system is controlled by the hall calls(at
proposed a prioritized A search algorithm which primarily each floor) and cabin calls(within each elevator). The goal
addressed the issue of time involved to make decisions. It of the dispatcher is to minimize the total travel time(time
is modeled on the manufacturing process approach by as- from when an elevator is requested to the time the passenger
signing the first job to each machine while detailed assign- gets off at the destination floor).
ment of jobs was refined later(Hamidia and Mulvaney 2007). The system is modeled as two parts. Part I simulates pas-
Gudwin and Gomide treated the elevator system as a dis- senger arrivals and creates a log file. Part II reads in the log
crete event control system and used Genetic Algorithms to file applies Genetic Algorithm to arrive at an optimal solu-
make optimal decisions(Gudwin and Gomide 1994). It is tion and it then simulates the actual servicing of passengers.
based on the Limited Lookahead Policy strategy proposed Part I is coded in R and part II in java.
Copyright c 2008, Association for the Advancement of Artificial
Intelligence (www.aaai.org). All rights reserved. Pseudo Code
Time 00 05 10 15 20 25 30 35 40 45 50 55
Rate 1 2 4 4 18 12 8 7 18 5 3 2

Table 1: Afternoon Down-Peak traffic Profile

1: Simulator creates a Log File


2: Read Log File
3: Create Passenger genes
4: Slide Window on Genes
{
5: Preassign Elevators
6: Population <- Chromosomes
7: Repeat(Number of Generations)
{
8: Evaluate Fitness(Population)
9: Intermediate Population <-
Select(Population)
10: offspring <-
Crossover(Intermediate Population)
11: if (probability < Mutation Prob)
offspring <- Mutate(offspring) Figure 1: Distribution of Down Peak Hall Calls
12: One <-
Select(Top N of Initial Population)
13: Two <- Select(Top N of offspring)
14: Population <- (One + Tw0)
}
15: service()
}

Below is a description of the various components of the


Dispatcher.

Step 1: The average number of passengers in each floor is


given from Table 1. The simulator uses this traffic profile
to create the Log file. The inter floor traffic varies between
0 to 10% of the traffic to the ground floor. The traffic pro-
file is taken from Crites and Bartos paper on Reinforcement
Learning(Crites and Barto 1995).
The arrival of passengers is assumed to be a poisson dis-
tribution and the inter arrival between passengers in each
five minute interval is assumed to be an exponential distri-
bution. Figure 1 plots the arrival of passengers for an hour.
The two peaks correspond to the passenger arrival rates in
the 20-25 and 40-45 five minute intervals. Figure 2 plots the Figure 2: Passenger arrivals
distribution of hall calls in an hour. It can be observed that
the number of passengers in each bin vary. It is maximum in
the 20-25 and 40-45 bins. The last set of passengers in these tuple which includes passenger information like the passen-
two bins overlap with the first set of passengers in the next ger number, source, direction of elevator request and request
bins. Hence there are spill overs in each bin depending on time. It also clubs passengers from the same source to the
passenger count within that bin. These spill overs tend to ac- same destination who request for an elevator at the same
cumulate in the 35-40 bin and slope there after. The Log file time together treating them as a single passenger.
has entries by rows identifying each passenger by its unique
passenger number along with the passenger source, desti- Step 4: Window size is preset to 20 seconds. A window
nation, direction of travel and request time. The passenger size of twenty seconds was chosen as a window size less
destination is used only in the service simulator in step 15. then twenty seconds caused a near sequence servicing of hall
calls. Initially the start time is zero hence all hall calls placed
Step 2 & 3: Step 2 reads in the log file and step 3 creates within a span of 20 seconds are collected and processed. The
passenger genes. The passenger gene is one half of the gene window is then slided by 20 seconds over the log file to col-
lect the set of hall calls in the next window. In this manner Step 10: One point cross over is applied to intermediate
the entire log file is processed in 20 second chunks. Steps 5 population. It could result in duplicates and defective so-
through 15 are repeated for every 20 second intervals. lutions. In the latter case the parents are repeatedly chosen
randomly until they yield valid offsprings. Two different
Step 5: Each hall call within the 20 second window is pre- parents result in two offsprings. This also results in implicit
assigned an elevator. The elevators are assigned in sequence. mutation.
For even number of hall calls each elevator gets its equal
share for odd number of hall calls one of the two elevators Step 11: With a probability of 0.01 the offsprings are mu-
is chosen with a probability of 0.5. The preassigned eleva- tated. Among the two offsprings one of them is chosen with
tors are the elevator genes, the second half of the gene tuple. a 0.5 probability. Two passengers from the chosen offspring
Each gene tuple is a valid hall call. are picked randomly and swapped. Steps 10 and 11 together
generate the next generation of chromosomes.
Step 6: The size of the initial population is preset to 30.
It has been identified from several runs that the performance Step 12 & 13: Steps 12 and 13 choose the top N(15 chro-
does not vary considerably by increasing the size of the pop- mosomes each) from the initial population and the next gen-
ulation. It is also inspired from Grefenstettes GA parameter eration. The top 15 in each generation is chosen as it mono-
settings(Grefenstette 1986). Each chromosome is a valid se- tonically increases the fitness of each subsequent generation.
quence of gene tuples without repetition. The genes hold
both passenger and elevator information to distinguish the Step 14: The newly selected 30 chromosomes replace the
hall calls in the current window as well as in the subsequent initial population and the process is repeated.
windows if they are dropped.

Step 15: Following the ten generations the final chro-


Step 7: Repeat steps 8 to 14 for number of generations. mosome is passed to the service simulator to actually
It was identified from various runs that generations greater service the passengers. The hall calls in the chromo-
then six produced the same results making it computation- some are executed in sequence by each elevator. The ter-
ally expensive. Hence the GA was tuned to perform with ten minating criterion is either a maximum service time of
generations. twenty(corresponding to window size) seconds is reached
or the elevator exceeds its capacity. In either case the sys-
Step 8: The fitness function evaluates the fitness of an in- tem exits the simulator. The hall calls requested within this
dividual chromosome. The goal of the Elevator Dispatcher window but could not be serviced are considered in the next
is to minimize the total travel time. The fitness function window with the next set of hall calls. The simulator uses the
reorders hall calls and accommodates hall calls within one actual destinations to service passengers. In case of a single
another provided they can be serviced one after another ef- hall call in the window the preassigned elevator services the
ficiently also complying to the system dynamics. The fit- passenger. When there are no hall calls in a window (there
ness function then computes the individual chromosomes are gaps towards the end of the five minute intervals in the
fitness by summing up the travel to time(current floor to first and last bins as it is skewed towards the start time) the
source floor), DOCA time(decelerate, open, close and ac- system instantly slides the window over the log file.
celerate time), travel from time(source floor to destination
floor), load time, unload time and penalties. The assumption Performance and Evaluation of Results
here is that since the destination of passengers is unknown In this section we evaluate the performance of the Eleva-
the destination is set to 0 if the direction of request is down tor Dispatcher. The Log file used for the experiment is
and to 9 if the direction of request is up. The penalties are LOG.DAT and has 761 passengers.
included to favor dropped passengers from the last window Figure 3 plots the average waiting time and average travel
over new passengers, as the goal is to minimize the total time over ten runs for a 20 second sliding window. The x-
travel time. If the dropped passengers are serviced first in axis corresponds to the floors 1 to 9 and the y-axis the time
the current window the chromosome incurs zero penalty the in seconds. The number of passengers in the plot will not
more a dropped passenger is delayed the higher the penalty. sum up to 761 as the passengers with the same source, des-
This on the whole helps steer the algorithm in subsequent tination and time stamp are clubbed together treating them
generations to service dropped passengers. as a single passenger. Secondly the performance is directly
attributed towards the down peak traffic and hence the 0 to
Step 9: The intermediate population is generated by Tour- 10% interfloor traffic is not plotted. The travel time over a
nament Selection. The approach is to randomly choose two single run well exceeded over 200 seconds but the average
parents from the initial population and compare their indi- travel time over ten runs is as high as 120 seconds. Logically
vidual fitness function values. The parent with the mini- the average wait time is lower then the average travel time
mum fitness value is the fittest as it incurred less penalty. across all floors.
This process is repeated 30 times to generate intermediate Figure 4 plots the average number of passengers dropped
population. in each floor over ten runs for a 20 second sliding window.
Figure 3: Average Wait Time and Average Travel Time over Figure 4: Average Number of passengers dropped in each
10 runs, window size = 20 sec floor over 10 runs, window size = 20 sec

The x-axis corresponds to the floors 0 to 9 and the y-axis


the time in seconds. This plot accounts for the inter floor
traffic as well. The number of passengers dropped in a single
run exceeded four hundred in some cases but the average
number of dropped passengers is well below 200.
From theses two figures it can be inferred that the diver-
sity of the Genetic Algorithms is directly responsible for the
different service sequences in each run as the Log file(in step
1) and the service simulator(in step 15) remained constant
over the ten runs. This also hints towards the large scale
parallel processing approach to solve dynamic scheduling
problems.
We next experiment with the window size. Figure 5 and
Figure 6 plots the wait time and travel time for a single run
for a 20 second sliding window and 23 second sliding win-
dow respectively. The overall travel time for a 23 second
sliding window is decreased from 200 seconds to 150 sec-
onds as more hall calls can be serviced in the 23 second slot
when compared to the 20 second slot. But the wait time for
passengers in floors 4 and 8 exceed the travel time from the
same floors and the wait time in the first floor is nearly as Figure 5: Wait Time and Travel Time, window size = 20 sec
high as the travel time.
Figure 7 and Figure 8 plots the number of dropped pas-
passengers arriving towards the end of the 5 minute inter-
sengers in a single run for a 20 second sliding window and
val
23 second sliding window respectively. From these two fig-
ures it can observed that the window size has an impact on A more real world simulation of inter arrival time of pas-
the number of dropped passengers across each floor. As the sengers would be between passengers in each floor in each
window size increases more passengers are accommodated five minute interval rather then simulation of inter arrival
within each window. time of passengers across all floors in each five minute
intervals
The service simulator services passengers in sequence of
Possible Bugs
the fittest chromosome after ten generations even if the
The log file simulator skews the passengers towards the sequence is not in a logical order (i.e. passenger n+1 is
start of each 5 minute bin when there are practically no serviced before passenger n from the same floor though
Figure 6: Number of passengers dropped in each floor, win- Figure 8: Number of passengers dropped in each floor, win-
dow size = 20 sec dow size = 23 sec

traffic with origin and destination as the same floor

Conclusion
The problem was difficult to formulate and implement.
A considerable amount of effort went in to aligning the El-
evator system to a real world system with few assumptions
and minor modifications. A good deal of approximation was
incorporated in the simulators to avoid the intrinsic details
of the elevator system dynamics. But no compromise was
made to the AI part of the Elevator Dispatcher. This ap-
proach was primarily motivated by Gomide and Gudwins
paper on a discrete event control system using Genetic Al-
gorithms to make optimal decisions(Gudwin and Gomide
1994).
This dispatcher did not perform up to my expectations as
the total travel time of passengers is high with many pas-
sengers dropped to subsequent windows to be serviced. It
certainly makes less number of round trips then a sequence
dispatcher. The nature of Genetic Algorithms along with
penalties caused the dropped passengers to be serviced first
Figure 7: Wait Time and Travel Time, window size = 23 sec
in subsequent windows over new passengers. Time seems
to be a critical factor in these class of problems and using
passenger n arrived before n+1) search to explore the solutions space is expensive. To con-
clude the approach is feasible.
From the service simulator the time taken to service pas- Future work includes fixing possible bugs as listed in the
sengers usually exceeds 20 seconds(window size). Hence previous section. To treat the problem as a discrete event
this overlap time will need to be accounted in the wait system in continuous time space and exploit parallelism.
time of passengers across all windows. But the modeled Also come up with an estimate of approximate wait time
dispatcher prunes this overlap time and treats the elevator when a passenger requests for the service of an elevator.
as readily available to service the next passenger.
In some cases passengers are dropped to the next window References
to be serviced as many as 23 times which is practically Atsuya Fujino, Toshimitsu Tobita, K. S. K. Y., and Togawa,
unacceptable A. 1995. An elevator group control system with floor at-
The log file simulator occasionally generates inter floor tribute control method and system optimization using ge-
netic algorithms. Proceedings of the 1995 IEEE IECON
21st International Conference on 2:15021507.
Crites, R. H., and Barto, A. G. 1995. Improving eleva-
tor performance using reinforcement learning. Advances
in Neural Information Processing Systems 8.
Daniel M. Munoz, Carlos H. Llanos, M. A. R. R. v. E.,
and Almeida, R. P. 2006. Implementation of dispatching
algorithms for elevator systems using reconfigurable archi-
tectures. Proceedings of the 19th annual symposium on
Integrated circuits and systems design 3237.
Grefenstette, J. 1986. Optimization of control parame-
ters for genetic algorithms. Systems, Man and Cybernetics,
IEEE Transactions on 16:122128.
Gudwin, R. R., and Gomide, F. A. C. 1994. Genetic algo-
rithms and discrete event systems: An application. Interna-
tional Conference on Evolutionary Computation 742745.
Hamidia, M., and Mulvaney, D. 2007. Prioritised A
search in real-time elevator dispatching. Control Engineer-
ing Practice 15:219230.
Muhammad, M. S., and Ono, O. 2006. A design and im-
plementation method for elevator scheduling problem us-
ing DNA computing approach. International Journal of
Computer Science and Network Security 6.
Thomas Beielstein1 , C.-P. E., and Markon3 , S. 2003. Op-
timal elevator group control by evolution strategies. Tech-
nical report, 1 Universtit at Dortmund, 2 NuTech Solutions
GmbH, 3 FUJITEC Co.Ltd.

You might also like