Paper received: 12.1.2007 Paper accepted: 19.12.2007 Artificial Neural Networks Application in Duplex/Triplex Elevator Group Control System C. Erdem Imrak Istanbul Technical University, Turkey Artificial neural networks can offer the better solution to the passenger call distribution problem when compared to the conventional elevator control systems. Therefore, the application of neural networks in elevator group control system is discussed. The significance of introducing artificial neural networks is presented. Elevator group control systems with neural networks can predict the next stopping floors to stop by considering what has been learnt by processing the changes in passenger service demand pattern. This paper deals with the use of artificial neural networks for the distribution of the most suitable cars to the floors by considering the passenger service demand. Artificial neural networks are applied in Duplex/ Triplex group control systems for improving passenger waiting time. The backpropagation algorithm is used for training neural networks. The elevator traffic analysis and simulation results are presented and compared to conventional elevator control systems. © 2008 Journal of Mechanical Engineering. All rights reserved. Keywords: elevators group control systems, neural networks, backpropagation 0 INTRODUCTION The service provided by the elevator system of any modern building is necessary for the efficient functioning of the building. This service has to be not only reliable, but also satisfactory to the passengers. Elevator group control systems can be utilized to control the cars as a group and convey the passengers to their destinations comfortably and promptly. It is viewed as a combination of on-line scheduling, resource allocation and stochastic optimal control problems similar to robotics or automated manufacturing systems. However, elevator control systems are harder to deal with than other systems because the states of the system are dynamically changed in large state space and coming events are unpredictable in many cases [1]. In offering a solution to elevator control problem, the traditional control systems often yield unsatisfactory results because they lack in considering number of technical characteristics and possibilities to be taken in to account. They also possess limitations and their flexibility is still restricted even if they are adapted to utilize computers. The selection and distribution of the most suitable cars in the building is a function of the call assignment. Landing and car calls are often allocated to suitable cars by taking into account of the minimum cost concept that operates by performing a trial allocation to all available cars and allocating the call to the car giving the lowest cost. The criteria for determining a suitable cost function depends on either quantity of service and/ or quality of service. The quality of service is a measure of the elevator capacity consumed to serve a specific set of calls, indicated by total journey times of all the cars [2]. Elevator control problem has been studied for a long time: in the last two decades artificial intelligence techniques such as fuzzy logic, neural networks, genetic algorithms and evolutionary algorithms were introduced. Although considerable research studied has been carried out to explore artificial intelligence applications in elevator control area [3] to [9], a little work has been done in neural network application in elevator group control. Neural networks have been applied to tackle the selection and distribution of the most suitable cars which is a function of assignment of calls. Artificial neural networks which simulate the way that human neural networks operate and learn, and mimic the hardware structure of the brain in a simplified way consist of artificial neurons that perform a simple task and are fully interconnected [1]. A neural network is used to predict the number *Corr. Author's Address: Istanbul Technical University, Faculty of Mechanical Engineering, Gumu§suyu, TR-34437, Istanbul, Turkey, imrak@itu.edu.tr 103 of landing calls likely to be made and the cars' likely destination for the time of service in order to optimize the car allocation efficiency. The prediction is made by combining predictions from historic data learnt during corresponding periods of previous days and real time data learnt during a short interval. They can be envisaged as a black box acting in response to a set of inputs of position, direction and calls produces an output representing the next stopping floor. Artificial neural networks can be placed in the conventional control system to improve the elevator performance [11]. In this study, the artificial neural networks has been inserted into an elevator group control systems for minimizing the average passenger waiting time and developed to model the behavior of the building population and also to adapt the algorithm to changes in passenger demand. For training the neural networks, the backpropagation method was used in the present work. The aim of this application is to optimize some of the parameters that a controller uses in order to minimize the average passenger waiting time. The data used here are from a simulator program developed by the author [9]. The elevator traffic analysis has been carried out using the software written in Turbo Pascal version 7.0 by examining the simulation results obtained. Simulations are run for several levels of interfloor traffic demand for the improved Duplex/Triplex control system (ICS). In the simulation an existing building having 3 elevators with 10 floors was selected as a model case. The normalized performance figures, with respect to the interfloor demand, are compared to other traffic control algorithms which are priority timed fixed sectoring algorithm (FSPTS), the fixed sectoring common sector system (FSCSS). 1 STRUCTURE OF THE ELEVATOR GROUP CONTROL Building traffic becomes more and more diversified and complicated as building has more various functions and intelligence. Elevator group control algorithm, therefore, become more complicated as they become more intelligent. The goal of elevator control is to provide operational management of a group of elevators, by selecting cars to meet landing calls and achieve passengers' destinations pleasantly and promptly. An efficient elevator control system has four properties [2]: to provide even service to every floor in a building, to minimize the passenger journey time in the car, to minimize the passenger waiting time, and to serve as many passengers as possible given time. The basic function of elevator control system is to assign an appropriate car to occurred landing calls to quickly respond them. The car to be assigned will be selected with consideration of many factors such as passenger waiting time, passenger journey time and energy consumption. Among them passenger waiting time is the dominant factor in elevator group control [8]. In this study, the Duplex/Triplex group control system is selected as an example of the conventional elevator group control system. The chosen system is suitable for groups of two or three cars in low-rise buildings and serves car calls and landing calls according to the directional distributive control principles by considering the current position, distance between landing call floor and car position, and the direction of car travel [2] and [9]. In order to perform directional distributive control, the nearest car continuously is to be searched with the call is allocated. Therefore it provides a single control algorithm designed to serve interfloor traffic in low-rise buildings. Initial design of the elevator control system in building the main concern is to fulfill its requirements in conditions of predominantly up-peak traffic. Under up-peak traffic conditions, the Duplex/Triplex group control algorithm presents poor performance. To investigate improvement of this control algorithm, artificial neural networks were introduced into the algorithm and optimization was carried out to many parameters such as passenger waiting time and performance figure [10] and [11]. Landing calls, car calls and car positions are the inputs of the Duplex/Triplex control system. The elevator configuration such as number of floors, arrival rates, car capacities etc. is the parameters of the control algorithm. The outputs of the group control are the car direction and the next stopping floors. In this study, the next stopping floor problem in elevator traffic control is the explicit problems which has been tackled. It is stated that a given car system, with a known position, direction commitment and registered up and down landing calls as inputs find the next stopping floors as an output of the network. To solve this problem artificial neural network is developed and applied to the Duplex/Triplex elevator group control algorithm. 2 NEURAL NETWORK APPLICATIONS ON THE NEXT STOPPING FLOOR PROBLEM The quality of service in multi-stores building is indicated by the average passenger waiting time. Thus, the aim of this study is reduce the average waiting time for the different traffic pattern. For this reason, it is proposed that neural networks learn the likely destinations from one floor to another and then use this information to allocate cares to calls and have been employed to predict elevator demand on a day-to-day basis. This study is an exploration in possibilities of the various fields in which neural networks can be applied in elevator control. Feedforward neural networks embedded in the car control and call distribution module is shown in Figure 1. Neural network embedded elevator control module is situated in the simulation program and allocates the both landing and car calls to suitable car according to the control algorithm. Inverse-Stop Passenger method was proposed by Al-Sharif [12]. This module can continuously learn passenger arrival rate patterns throughout the day of the elevator system, and predict the passenger arrival rates for each floor and destination in the building. In an elevator system, when a landing call is registered at a given floor, the information the group control system receives is the floor identification and desired direction of travel. The next stopping floor as the destination is not known. The information could be used by the elevator control algorithm to send the best car to answer the landing call. Conservative approaches can not provide such flexibility and autonomous behavior. As a preferred embodiment of this technique, population behavior is modeled using neural network approach as described by Rumelhart and McClelland [13]. Artificial neural network application in identification of vertical traffic pattern uses a feedforward neural network to perform this task [14]. Another neural network application in elevator control intends to be a new method using artificial neural networks to predict the response time of an elevator to a landing call. 2.1 The Structure of Artificial Neural Networks Artificial neural networks consists several units that carry out a simple task and are fully interconnected. This layout allows reproducing some features of the brain that are not usual on computers [15]. A typical simulation of the action of a single neuron is shown in Figure 2. The strength of each synaptic junction is represented by a weight, with a positive sign for excitatory connections, and negative otherwise. The output of a neuron is easily computed by using vector multiplication of the input and weights, and adding the trainable bias to each neuron for speeding up convergence. A bias is included in the neurons to allow the activation functions to be offset from zero. This feature can be easily incorporated by adding an additional weight connected to +1, to each neuron. The additional bias term also determines the spontaneous activity of the neuron. This can also be achieved as setting the threshold values for the sudden onset of a high firing rate, hence the term non-linear threshold element. Car allocation Fig. 1. Overall diagram of an elevator control system Bias x0 = +l Weight w. Input Desired output ¿ Fig. 2. A typical model of a neuron After an input has been applied as a stimulus, it is propagated through each unit on output is generated. This output is then compared the desired output, and an error signal is computed for each output. The net input vector a. to neuron j is a non-linear function of the inputs x. of the neurons that are connected to j and the weights w. on these conditions is: = E y i * j (1). Using sigmoid non-linearity at each node, the neuron has a real-valued output yj that is a nonlinear function of the net input is: _ 1 yj _ 1 + ea(j-(>.,) (2), where 0 it the threshold value for the artificial i neurons. Improving the performance sigmoid temperature a is used and slightly higher than one which makes the middle portion of the curve comparatively flatter. The node characteristics of an artificial neuron are thus determined by Equation (2). The presented system can be adapted to do this purpose because of all the input values such as number of floors are defined as parametrically. A typical multilayer neural network used consists of input and output layers are configured by number of floors and two hidden layers as depicted in Figure 3. An increase the number of hidden layers may improve generalization capacity. In the present case, after a few trials with the network with one hidden layer, good convergence could not be achieved. The network used, therefore, has two hidden layers as this guarantees it can learn any pattern. There are also no formulae to determine the number of neurons to arrange in hidden layers. The most used procedure is to try several configurations. To improve the generalization, the number of nodes in hidden layers are double that of the number of input layer nodes [16] and [17]. The development of successful neural networks requires considerable time and effort. In fully connected neural networks, the inputs of the network gets in are: number of car calls, number of up landing calls, number of down landing calls and car directions. The hidden layers are computational layers and fully connected to input layer. There are no direct connections between the input and output layers. Case information flows forward from the input layer to the output layer through the hidden layers. Each layer consists of processing element called neurons [18]. The program uses the multilayer backpropagation method for determining the next stopping floors and calculates the outputs by multiplying the input matrix by the weight matrix to produce the output vectors. Then it sets the highest output to "1", while setting all other outputs to "0". It compares this output with the desired output, and then adjusts the weights. a i=1 Backward pass Input layer Output layer First hidden layer Second hidden layer Forward pass Fig. 3. The architecture of multilayer neural network 2.2 The Backpropagation Algorithm one. The learning algorithm is an iterative algorithm, intending to reduce the error at the output. The sequence of steps involved is as follows. Step 1: Initialize all of the weights to small random values. This breaks the network symmetry and ensures that the network does not become saturated by large values of weights. Step 2: Apply an input vector to the input layer and specify the desired network outputs. The inputs can be new on each trial or samples from a training set can be presented cyclically until weights stabilize. Step 3: Calculate the network outputs by performing a forward through the layers, using Eqs. (1) and (2) to calculate the outputs of individual neurons. The outputs of the input layer neurons are made equal to the corresponding component of the input vector. Step 4: Adjust the weights of the network in a way that minimizes the error using recursive algorithm at the output nodes by: Feedforward neural networks in this study use the backpropagation algorithm, as it is widely used and very popular. It provides predictive information and a systematic method for training multilayer neural networks that has been applied to the control of elevator call allocation [1] and [19]. It does not have feedback connections, but errors are backpropagated during training. Thus, data are processed from the input to output layer, whereas knowledge is performed by the algorithm of minimizing the square error by backward movement [20] and [21]. Backpropagation neural network is an exampled of supervised learning and applicable for the multilayer neural network for it considers weight parameter in all layers. There are two layers of neural cells between input layer and output layer as shown in Figure 3. The Sigmoid non-linear nodal function is used when the backpropagation learning algorithm is used to train the feedforward network which is intended for the next stopping floor prediction. The backpropagation algorithm is also based on the generalized delta rule which calculates the gradient to find the deepest descent direction, searching for a minimum in the error surface. It calculates first the error in the output layer, then evaluating the contribution of each hidden neuron in that error. Thus, the corresponding weights are modified in order to reduce the mean squared error between the actual network output and the desired w,j (t +1) = w,j (t) + gYj Ej + eAwy (t +1) (3), where w.. is the weight from z-th node to j-th node, g is a learning rate which is normally sets less than 1 to prevent to oscillation of weight values, e is a momentum coefficient and is normally set to around 0.9 and where: Aw„ (t +1) = Wj (t +1) - Wj (t) (4), and E is the error at j-th node: Ej = - yj(1-yj )( yj- dj for an output layer, and: Ej = - yj(l - yj )E Ek (5), (6), for an intermediate layer neuron. Step 5: Repeat by going to Step 2. The major disadvantages of this algorithm are its slow convergence, the possibility of being stuck at a local minimum instead of a global and the memorization instead of generalization. Various methods have been suggested to speed up convergence time. Two of these involve the inclusion of a momentum term and a learning rate term in the weight adjustment equations. Using this method, the network tends to follow the bottom of narrow gullies in the error surface rather than oscillating from side to side. There are also problems if the number of training pattern is small because this patterns using a big network in order to avoid the over fitting of the training data. Some modifications to the original algorithm tend to overcome these difficulties. Increasing the number of hidden layers can also improve the generalized capacity. performance and scale the adjustments to weights. They involve change stop the weight update procedure, a variation to improve computational power and an explicit statement of the backpropagation algorithm for two hidden layers. A simple change to training law that sometimes results in much faster training is the addition of a momentum term. It is an attempt to try to keep the weight change in process and maintains the same direction the weight variation, ensuring stability in the learning. For constant learning rate, the number of epochs with respect to momentum can be seen in Figure 4. A momentum term is added to speed up the learning stage and takes value of 0.9 in this study. Learning rate as another modification parameter can be used to control the amount which weights are changed during the training and be used as one of convergence. This convergence is drawn according to epoch with constant momentum parameter as shown in Figure 4. Therefore, the learning rate is set at 0.5 for training the network. As can be seen from Figure 4, care has to be taken in choosing the learning rate and the momentum, in order to ensure convergence. Higher learning rate values make convergence faster, but learning rate values higher than 0.5 must be avoided, as well as momentum values higher than 0.9. 2.3 Modification Parameters 2.4 Training the Network Modification parameters can be made to the backpropagation algorithm which may improve its The process of learning is known as training. There are three phases of training. In first phase, 0.4 0.6 Learning rate (a) b) Fig. 4. Modification parameters: (a) Momentum with constant learning rate (b) Learning rate with constant momentum Table 1. Parameters of neural networks training n 4 Neural model backpropagation Input layer 3n + 3 Topology Feedforward 1st Hidden 2(3n + 3) Supervision Supervised 2nd Hidden 2(3n + 3) Learning rule Generalized delta rule Output layer n I/O information Binary Input layer Linear Momentum 0.9 1st Hidden Sigmoid Learning rate 0.5 2nd Hidden Sigmoid Sigmoid temperature 0.5 Output layer Linear Number of floors Number of layers Number of neurons Transfer function supervised learning is used to train the network to predict the next stopping floor. The training set is first presented to the network, until it learns the internal representation of training pairs and then the error at the output node is reduces along the steepest descent direction. The initial weights and the thresholds are randomly generated at the beginning. At the end of the first phase of training, weights from the input layer to the hidden layer of the network are fixed. In phase two, the output layer of the network is retrained to emulate the existing controller. In phase three, single weights in the output layer of the network are perturbed, and the resulting performance is measured. The weights are then modified in the direction of improved performance. Neural networks to be trained wherein the parameters specified in Table 1 were employed. Because of the size of the training pattern, it is kept a separate file produced by the training pattern program. A training pattern consists of training pairs of inputs and outputs. The inputs are car calls, up and landing calls and car direction. All the inputs were introduced for several epochs. The outputs are the next stopping floors. A schematic diagram of an elevator system of a group of cars is illustrated in Figure 5. A group of cars has to handle a group of passengers in a building with a given number of floors. In this figure, the elevator cars are represented as boxes in the diagram. In addition, a black circle indicates a car call, a black triangle indicates a landing call assigned to an elevator, and a white triangle indicates an unassigned landing calls. When considering even small number of stops, the size of the training pattern becomes extremely large to be calculated manually. Thus it decodes the direction and the position linearly, and the calls in binary [12]. The module is used to classify the input vectors and to convert them in binary information as shown in Figure 5, by a processing module active code/binary code. Thus, the neural network receives only binary data that represent a favorable situation for applications in Floor © © © G Carl Car 2 Car 3 Car calls Car direction Up landing calls Down landing calls Next stopping floor ®®®