scieee AI-readable full text Open interactive document viewer

Genetic algorithm for controllers in elevator groups: analysis and simulation during lunchpeak traffic

Cortés, Pablo; Larrañeta Astola, Juan Carlos; Onieva, Luis

Abstract

The efficient performance of elevator group system controllers becomes a first order necessity when the buildings have a high utilisation ratio of the elevators, such as in professional buildings. We present a genetic algorithm that is compared with traditional controller algorithms in industry applications. An ARENA simulation scenario is created during heavy lunchpeak traffic conditions. The results allow us to affirm that our genetic algorithm reaches a better performance attending to the system waiting times than THV algorithm.

Full text

GENETIC ALGORITHM FOR CONTROLLERS IN ELEVATOR GROUPS: ANALYSIS AND SIMULATION DURING LUNCHPEAK TRAFFIC P. Cortés1†, J. Larrañeta1 and L.Onieva1 1 Seville University Ingeniería Organización. Escuela Superior Ingenieros, Camino de los Descubrimientos s/n. Sevilla 41092. SPAIN Tel. +34 95 448 72 05 Fax +34 95 448 73 29 † E-mail: [email protected] † URL: http://io.us.es/P.Cortes/main.htm Abstract.- A genetic algorithm (GAHCA) is proposed to control elevator groups of professional buildings. The genetic algorithm is compared with the universal controller algorithm in industry applications. In other to do so an ARENA simulation scenario has been generated during heavy lunchpeak traffic conditions. The results allow us to affirm that our genetic algorithm reaches a better performance attending to the system waiting times than traditional duplex algorithms. Keywords.- vertical traffic, genetic algorithm, elevator, controller, simulation, lunchpeak. 1. INTRODUCTION The progressive price increase in the urban centres of the larger cities makes the necessary intensive ground exploitation by means of the construction of high buildings. Today the installation of synchronized elevator groups in professional use buildings (offices, hospitals or hotels) is an usual practice. The elevator system research is quite recent and has followed the technology development. The late eighties and the nineties decade can be considered as the start point of the industrial investigation, especially in USA and Japan ([1], [2] and [3]). After that the research experimented the impulse of the largest multinational companies ([4], [5], [6] and [7]). By the end of the nineties the research in vertical transportation was a reality and the collaborations among the private companies and the research centres were reinforced, some examples are the Systems Analysis Laboratory in the Helsinki University of Technology with the KONE Corporation [8], the Konrad-ZuseZentrum für Informationstechnik of Berlin [9] or the Seville University with MAC PUAR, S.A. [10]. In elevator systems the use of the system waiting time is the priority objective to attain an efficient system performance, at the same time as having a bounded maximum waiting time. The system waiting time includes the waiting time for the lift in the hall plus the trip time inside the lift. Also, other secondary criteria are used as the queue sizes or the system energetic consumption. The more general problem assumes the following hypothesis in the elevator system performance. Each hall call is attended by only one cabin. The maximum number of passengers being transported in the cabin is bounded by its capacity. The lifts can stop at a floor only if it exists a hall call or a cabin call in that floor. The cabin calls are sequentially served in accordance with the lift trip direction. A lift carrying passengers cannot change the trip direction. Usually, the controller implements dispatch rules that make use of an IF-ELSE logical commands set. Among these dispatch rules, a simple lift group supervisory control system, suitable for groups of two or three in not very high rise buildings, is simulated in the computer-aided design suite LSD (Lift Simulation and Design), implemented at UMIST (University of Manchester Institute of Science and Technology), under the designation of the THV algorithm [11]. This algorithm collects the most common rules in duplex or triplex algorithms. The THV algorithm assigns the hall call to the nearest lift in the adequate trip direction (see appendix 1 for pseudocode). Recently, more advanced methods have gained better performance. So, the Optimal Routing algorithm, the Dynamically Adaptive Call Allocation (DACA) and the Adaptive Call Allocation (ACA) [12] are all based on Dynamic Programming. Also, previous research related to Soft Computing techniques in elevator systems has been responsible of important advances. For example, algorithms based on learning have been developed with success. The controller Neuros-I [13] of Fujitec is a neural network where the group elevator state and the lifts state are inputs for the neural network. The network has a previous learning and subsequent adaptive auto-tune online learning. Also, in the framework of the learning, Reinforcement Learning algorithms [14] have shown an accurate behaviour. It consists of a semi-Markovian process and uses an agent-team where each agent controls one lift. Under these conditions two architectures are used: a parallel architecture where the agents share the network (RLp, Parallel Reinforcement Learning) and a decentralised architecture where each agent have its own network (RLd, Decentralized Reinforcement Learning). Fuzzy Logic has been proved as a valuable alternative when evaluating a large amount of criteria in a flexible manner. The fuzzy elevator group control system [15] and the Fuzzy Elevator Group Controller with Linear Context Adaptation [16] are some examples where diverse criteria are used as the HCWTi (Hall Call Waiting Time for the i-lift), the maxHCWTi (maximum Hall Call Waiting Time), the CVi (capacity of coverability for next calls for the i-lift), and the minimum distance between new calls and the last calls allocated GDi (Gathering Degree). Also in this line, genetic algorithms [17] and [18] have been used with success to adjust the control settings (a set of criteria) in order to give robustness to the elevator group control system, within a set of great variety of control parameters. These works allow adjusting the control settings according to individual floor utilization situations making use of a combination of car and floor attributes. Also evolutionary systems have revealed successful capacities in order to maximize the efficiency of the elevator system call allocation. Genetic algorithms [19] and [20] have been designed within a discrete event simulation trying to predict the optimal decisions for the car dispatch. Both are short-papers with a non-wide explanation of the methods and with an additional difficulty when trying to identify the criterion used for assessing the quality of the solutions (by means of a performance index). However the authors state the validation and success of the implementation by the representation of diverse figures and graphics. Also, in this paper we have developed a genetic algorithm to maximize the call allocation efficiency and to reduce the overall system waiting time. Here, we propose a genetic algorithm based on a hall call allocation strategy (GAHCA) to identify the chromosomes of the population individuals and we compare our proposal with conventional duplex controllers of the industry in a discrete events simulation scenario. As the elevator systems include uncertainty due to the future behaviour of the passengers is unknown, optimisation approaches are not totally suitable. Instead of this, the simulation becomes a key factor to demonstrate the validation and accuracy of the methods and techniques as previous step to the physical implementation (see [21] for a wide perspective). The rest of the paper follows with the second section dealing with the simulation model definition to specify the accurate elevator system performance according to the rules previously stated. The third section states the genetic algorithm characteristics. The fourth section shows the main results of the simulations and the comparison between our algorithm and the traditional duplex algorithm. Finally, we highlight the main conclusions in the final section. 2. SIMULATION MODEL We have made use of the ARENA v.5.0 software to simulate the possible event set. ARENA is a powerful interactive visual modelling system that makes use of the SIMAN language. The initial model consists of an animation zone and a module logical zone that can be divided into one controller zone, one passenger zone and two elevator zones for each of the cabins. The controller, passenger and elevator zones are the responsible of the IF-ELSE rules that manage the group elevator system. The optimisation algorithm (that we will see in section 3) is called in the passenger zone for the call allocation. 2.1. Animation Zone This zone is defined by the Arrive and Depart modules, which regulate the arrivals and departures of the passengers at the system. The Arrive modules include the passenger arrival rate in the floor, the passenger arrival time (loaded into the Time_Arrival attribute), the passenger origin floor (loaded into the Origin attribute) and the passenger destination floor (loaded into the Destination attribute). The Depart modules carry out the increase of one unit in the floor departure counter. Also they include the Time_System as a tally buffering the passenger system waiting times, as well as two queues defined by floor (one for passengers going down and one for passengers going up, at exception of the ground floor and the highest floor where only one queue exists). We are attaching one videoclip for each of the simulated algorithms (THV and GAHCA). The videoclips include the simulation under the traffic and building conditions of section 4.1. Moreover, the graphical animation zone can be observed in videoclip1 and 2. "Video clip 1. Geneti c algorithm.wmv" "Video clip 2. THV duplex al g orithm.wm 2.2. Controller Zone One entity has been created by lift to travel around the logical zone. When the passengers come into the lift, the passengers are joined to the controller entity shaping one only entity at the same time as holding all the particular individual entities attributes. 2.3 Passenger Zone The passenger zone consists of the allocation of the UpDown attribute (1 if the passenger goes up and 2 otherwise) that is stated as function of the Origin and Destination attributes. So, the passenger is sent to the waiting queue if it exists. Otherwise the hall call allocation procedure is done by means of the correspondent optimisation algorithm (our genetic algorithm by the case). The next figure 1 represents the controller and passenger zone ARENA modules. Figure 1. Controller and Passenger Zone ARENA modules 2.4. Elevator Zone When the lift arrives at a floor the subsequent actions must be checked and done if necessary: lift waits for calls, passengers leaves the lift, passengers come into the lift, lift allocation in case of full capacity, cabin call allocation and call evaluation. When the lift arrives at a floor, the state of the lift is evaluated. If the lift state is set to zero, the lift is stopped and will have access to the Waiting_for_Calls submodule. If the lift is not stopped and it is carrying passengers, it inputs into the Leaving_the_Lift submodule. If it is not carrying passengers, it inputs into the Taking_Passengers submodule after a Delay to simulate the opening doors time (we use the delay variable Time_Doors(2.5 seconds). When the lift arrives at a floor, the Arrival_Evaluation submodule presents three options: the lift continues up, the lift continues down or the lifts starts the deceleration process (preparing to stop). We use the LDX (Transporter ID, unit number) as an ARENA proprietary variable allowing to know the floor in which the lift is. We load this data in the variable Level. After updating Level, if the lift is going up and the lift is in the ground floor, the lift is sent to the first floor; if the lift is going down and the lift is in the highest floor, the lift is sent to the last but one floor. Otherwise the simulation model checks if the lift has stopped in the floor that Level indicates (this data can be checked by means of the variable Last_Visited_Floor), in this case the lift is sent up or down depending on the trip direction. Otherwise the lift stops at the floor if there exists a cabin call or a hall call and the capacity is not full. If the lift is full capacity and it does not exist cabin calls, the lift is sent up or down depending on the trip direction. Next figure 2 depicts the main ARENA modules and submodules for the elevator zone. Figure 2. Elevator zone ARENA module 3. GENETIC ALGORITHM FOR THE CONTROLLER We propose a genetic algorithm that makes use of a hall call allocation strategy (GAHCA) to perform the elevator group controller (see appendix 2 for pseudocode). For each time, t, the hall calls and the cabin calls of the system are evaluated, allocating the hall calls to one specific lift. Each time, t, the set of hall calls are reallocated allowing the subsequent modification if the system performance improves. Each time the set of decisions is taken managing all the available information (planning for the long term) but only carrying the immediate action out for each lift of the group: stop, upwards or downwards displacement. So, each time, t, the simulation model makes a call to the controller optimization module (the genetic algorithm) that returns the overall call allocation. The genetic algorithm is defined by the following characteristics. 3.1. Individuals and population Two arrays of size [2·Number_of_Floors-2] define the individual chromosome. Each of the arrays defines the system state for each one of the lifts. The array is divided into two parts; the first refers to the up traffic and the second one to the down traffic. The first Number_of_Floors-1 integers correspond to the hall calls in the upward direction from the ground floor to the highest floor. The second Number_of_Floors-1 integers correspond to the hall calls in the downward direction from the highest floor to the ground floor. Figure 3 depicts the chromosome individuals: UP------------------------------>|<------------------------------DOWN F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11F12F11F10 F9 F8 F7 F6 F5 F4 F3 F2 state(i_est) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [1x22] Figure 3. Individual chromosome for a twelve floors case building corresponding to one specific elevator of the group and its associated physical button box The array holds the information referring to the hall calls by means of a binary codification. The bit 0 indicates no hall call at the floor, and the bit 1 indicates an existing hall call at the floor. The population size is a major factor in the effectiveness of genetic algorithm. It has been proved [22] that relatively small populations allow reaching successful solutions with little computation effort. Our experiments show that increasing the population size beyond 20, although increasing the computational effort, is not rewarded by a corresponding increase of performance. So, we have maintained a population size of 20 individuals in our tests, although in real implementations this population size could be reduced to ten in order to gain in computational speed (with little loss of efficiency). 3.2. Fitness We have used an approximate function (in seconds) to estimate the individual fitness. The fitness function returns the expected time in which the elevator group would serve the entire allocated hall calls and cabin calls. Obviously, it will be estimation because of the incapability of predicting the passenger future behaviour. The passenger arrival to the floor is random and their destinations are unknown. The fitness estimation procedure depends on the elevator state (going up, down or stopped). However in every case it can be calculated by means of four peak values that we will note as P1, P2, P3 y P4. Every time, the procedure has in account the overall allocated hall calls stating each new hall call to be allocated. Figure 4 shows the options depending on the up or down traffic. The elevator is stopped or going up  P1. Current floor.  P2. Highest floor to take passengers up. In figure 4: displacement a.  P3. Lowest floor to take passengers down. In figure 4: displacement b.  P4. The highest floor among the floors lower than P1 to take passengers up, always P4<P1. In figure 4: displacement c. Fitness = [(P2-P1)+(P2-P3)+(P4-P3)]×[estimated interfloor trip time] It includes the maximum known upward trip plus the maximum known downward trip plus the subsequent maximum known not-served upward trip in the first up traffic because P4<P1. We have to note that the mathematical expression do not include the passenger destination trips because we unknown it until the passengers come into the cabin. The elevator is going down  P1. Current floor  P2. Lowest floor to take passengers down. In figure 4: displacement a.  P3. Highest floor to take passengers up. In figure 4: displacement b.  P4. The lowest floor among the floors higher than P1 to take passengers down, always P4>P1. In figure 4: displacement c. Fitness = [(P1-P2)+(P3-P2)+(P3-P4)]×[estimated interfloor trip time] It includes the maximum known downward trip plus the maximum known upward trip plus the subsequent maximum known not-served downward trip in the first down traffic because of P4>P1. Figure 4. Possible elevator streams to estimate the fitness Additionally, we have to consider a series of delays to estimate the total process times. All them are associated to the cabins and include the deceleration process in the elevator travel speed, the opening doors delay, the passenger incoming/outcoming process, the closing doors delay and the acceleration process in the elevator travel speed until taking the cruiser speed. Usual values are 2 seconds for every delays excepting for the incoming/outcoming time (taking 5 seconds for this delay). Moreover, we are taking 5 seconds as estimated interfloor trip time at cruiser speed. 3.3. Operators The genetic operators used are crossover and mutation. We have used an uniform crossover operator that randomly selects two individuals (parents) from the population and generates the offspring by crossing the individual genes. The offspring inherits an exact copy of those genes that are equal in the parents’ chromosome and, in other case; it inherits each gene with probability of 50%. Although the parents’ selection is random, the algorithm includes an incest prevention control when parents differ in less than a gene pair. The mutation operator replaces a hall call allocation from the individual chromosome by changing the genes from 01 to 10 or viceverse. The selection of the individual is random. Tests were carried out with different probabilities of applying crossover and mutation to the select parents. With crossover, it was found that varying the probability from 50% to 100% had little effect on performance, with a value of 85-90% being marginally optimal for the tests carried out. A value of 85% is used in the main runs. For mutation, values between 5% and 15% were seen to be giving better results than typically smaller values. A value of 15% is used in the main runs in order to enrich the genetic variety of the population. However, it is to be noted that GAHCA is robust in the sense that the solutions to the test problems were achieved on the whole with a wide range of parameter values, and with no fine-tuning required to achieve efficiency. 3.4. Replacement rule and generations We propose the use of a hypergeometric function allowing more probability of replacement for individuals with worse fitness and less probability of replacement for individuals with better fitness. So, the individual in ranking position-i, have a replacement probability equal to q(1-q)i, being q the replacement probability of the worst individual. We obtained the better performances setting a value for q between 5565%. The main tests are run with a value of 60%. Additionally to the replacement rule, we incorporate an individual duplicity control in the population generation. The number of generations (or iterations) of the genetic algorithm can be a critical parameter when we try to reach efficiency of the solution and short time execution. Genetic algorithms are iterative and therefore they can take very much time of execution. In real cases the number of generations will be bounded by the exigencies of the real implementation. However the advantage of genetic algorithms is that they can be stopped at any time having the better solution at the moment. We experimented with diverse parameters for the number of generations: similar values were obtained for the interval between 50 and 100 iterations and the increases on the quality of the solutions were moderated between 20 and 50. In any case, at least 20 iterations should be done. 4. SIMULATION RESULTS 4.1. Data for the tests: building and lunchpeak traffic We have tested the algorithms in a twelve floors building. There are 30 workers in each of the building floors excepting the 7th floor (the administration department with 60 workers) and the 12th floor (the manager department with 15 workers). There are two 20 persons capacity elevators in the hall. The interfloor travel probabilities are defined within a lunchpeak traffic situation: From the ground floor:  To the 7th floor: 15%  To the 12th floor: 4%  To the rest of the floors: 9% From other floors:  To the ground floor: 95%  To the rest of the floors: 5% The next figure 5 depicts the arrival rate during lunchpeak traffic. Most of the workers go out for lunch during the interval [14:00,15:00] hours, returning to the building during [15:20,16:00] hours. We have taken these data from direct real life inspection in a such case building. STATE OF OCCUPATION OF THE ELEVATORS (GAHCA) STATE OF OCCUPATION OF THE ELEVATORS (THV) 0: Stop 1: Up 2: Down Figure 9. Analysis of elevator occupation 5. CONCLUSIONS We have proposed a genetic algorithm (GAHCA) to control the elevator group in a professional building. The results allow us to affirm that our genetic algorithm reaches a better performance attending to the system waiting times and queue sizes than traditional controllers in industry applications as THV algorithm. The reduction of waiting times has been almost the 25% at the same time as getting a significant reduction of the hall down queues. In this situation the passengers are supposed to experiment a system time reduction from 3min15sec to 2min30sec. The analysis has been done under heavy lunchpeak traffic conditions. The results obtained in the paper allow us to affirm that genetic algorithms, in general, and our GAHCA in particular, are valuable tools with a great potential in the control of elevator systems. However, the implementation of such type of algorithms in real controllers has to be done carefully in order to maintain bounded the response time of the algorithm. Genetic algorithms are iterative and therefore they can take very much time of execution when a long population and a great number of iterations are used. The election of these parameters has to be selected attending not so much to the algorithm accuracy but to the available time of trip of the elevator between different events, that is the time necessary to allocate a hall call (it can be the trip time between a number of floors determined, e.g. no more than two). In real cases an alternative can be stopping the algorithm previously to reach the next event, which would occur after a known time interval. Of course all these decisions are very dependant on the computation speed of the electronic microchips installed by the company. Acknowledgements This paper has been carried out in collaboration with MAC PUAR, S.A. (MP). MP has been supporting our research on elevator systems since 2000. Additionally, the authors acknowledge the financial support given by the Ministerio de Ciencia y Tecnologia, in its Industrial Production and Design Programme (project ref. DPI2002-01264), Spain. Appendix 1. THV pseudocode N = number of floors in the building Read the system current state d = Distance (call, car) = |call floor – elevator floor| IF elevator is homing to the call floor with the same trip direction of the hall call Fitness Function = N+1-d ELSE IF elevator is homing to the call floor with trip direction different from the hall call Fitness Function = N-d ELSE IF elevator has just leaved the floor of the hall call Fitness Function = 1 ELSE (the elevator is stopped) Fitness Function = N-d Car Allocation = Best Fitness Function ARENA assignation Appendix 2. GAHCA pseudocode Read the system current state Generate the population Calculate the fitness population Ordinate the fitness population IF Population size = 20 THEN i = 0 WHILE i < 50 p = Rnd IF p < 0.85 THEN ‘Crossover operator’ Incest=1 WHILE incest=1 Randomly selection of parents Parents incest prevention IF No incest THEN Crossover -> offspring END IF END WHILE ELSE ‘Mutation operator’ Randomly selection of parent Mutation -> offspring END ELSE Individuals duplicity control IF No duplicity THEN Evaluation of the individual fitness Selection of individual for replacement New individual -> offspring Modification of the population fitness table i = i + 1 END IF END WHILE END IF Solution = Best fitness individual ARENA assignation References [1] MacDonald, C. Robert and E. Abrego. Coincident call optimization in a elevator dispatching system, Westinghouse Electric Corp. U.S. Patent No. 4 782 921, 1988. [2] Thangavelu and Kandasamy. Queue based elevator dispatching system using peak period traffic prediction, Otis Elevator Company. U.S. Patent No. 4 838 384, 1989. [3] Thangavelu and Kandasamy. "Artificial intelligence", based learning system predicting "peak-period" times for elevator dispatching, Otis Elevator Company, U.S. Patent No. 5 241 142, 1993. [4] Kameli, N. and Nader. Floor population detection for an elevator system, Otis Elevator Company. U.S. Patent No. 5 511 635, 1996. [5] Kameli, N., Nader, Collins and M. James. Elevator downpeak sectoring, Otis Elevator Company. U.S. Patent No. 5 480 006, 1996. [6] Kim, C. and O. Jeong. Group management control method for elevator system employing traffic flow estimation by fuzzy logic using variable value preferences and decisional priorities, LG Industrial Systems Co., Ltd. U.S. Patent No. 5 679 932, 1997. [7] Bahjat, S. Zuhair and J. Bittar. Automated selection of high traffic intensity algorithms for up-peak period, Otis Elevator Company. U.S. Patent No. 5 168 133, 1992. [8] Siikonen, M-L.. Elevator group control with artificial intelligence, Helsinki University of Technology, Systems Analysis Laboratory, Research Reports A67 (1997). [9] Hauptmeier, D., S.O. Krumke and J. Rambau. The online dial-a-ride problem under reasonable load, Preprint SC 99-08, Konrad-Zuse-Zentrum für Informationstechnik Berlin (1999). [10] Larrañeta, J. and Cortes, P. Optimización Dinámica en Sistemas de Tráfico Vertical. Escuela Superior de Ingenieros. Ingeniería de Organización. Seville University. Technical Report IO-01MP [11] Barney, G.C. and S.M. dos Santos. Elevator Traffic Analysis, Design and Control (Peter Peregrinus Ltd, 2nd edition, London, 1985). [12] Siikonen, M-L.. Planning and control models for elevators in high-rise buildings, Ph.D. Thesis, Helsinki University of Technology, 1997. [13] Sasaki, K., S. Markon and M. Makagawa. Elevator Group Supervisory Control System Using Neural Networks, Elevator World (1996). [14] Crites, R.H. and A.G. Barto. Improving elevator Performance Using Reinforcement Learning, Advances in Neural Information Processing Systems 8. MIT Press (1996). [15] Kim, C., K.A. Seong and H. Lee-kwang. Design and implementation of a fuzzy elevator group control system, in: Proceedings of the IEEE Transactions on systems, man and Cybernetics (1998), vol. 28, No. 3, 277-287. [16] Gudwin, R., F. Gomide and M.A. Netto. A Fuzzy Elevator Group Controller with Linear Context Adaptation, in: Proceedings of FUZZ-IEEE98, WCCI’98 - IEEE World Congress on Computational Intelligence, Anchorage, Alaska, USA (1998) 481-486. [17] Fujino, A., T. Tobita, K. Segawa, K. Yoneda and A. Togawa. An Elevator Group Control System with Floor-Attribute Control Meted and System Optimization using Genetic Algorithms, IEEE Transactions on Industrial Electronics Vol. 44 no. 4 (1997) 546-552. [18] Tobita, T. A. Fujino, K. Segawa, K. Yoneda and Y. Ichikawa. A Parameter Tuning Meted for an Elevator Group Control System using a Genetic Algorithm, Electrical Engineering in Japan, Vol. 124, No. 1 (1998) 55-64. [19] Gudwin, R. and F. Gomide. Genetic Algorithms and Discrete Event Systems: An Application, in: Proceedings of The First IEEE Conference on Evolutionary Computation, IEEE World Congress on Computational Intelligence (1994), vol II, 742-745. [20] Alander, J.T., J. Ylinen and T. Tyni. Elevator Group Control Using Distributed Genetic Algorithm, in: Proceedings of the International Conference. SpringerVerlag, Vienna, Austria (1995), 400-403. [21] Siikonen, M-L.. Elevator traffic simulation, Simulation Vol. 61 No. 4 (1993) 257267. [22] Goldberg, D.E. Sizing populations for serial and parallel genetic algorithms, in Proceedings of the Third International Conference in Genetic Algorithms, (J.D. Schaffer, ed.) (1989), 70-79.