PROCEDURE FOR ALLOCATING LANDING CALLS IN AN ELEVATOR GROUP

Abstract: The invention relates to a procedure for allocating the calls (20) entered by means of the landing call devices (44) of the elevators in an elevator bank. According to the invention, several allocation options (36, 38) are formed, each of which contains for each active landing call (20) a call data item and an elevator data item and these data together determine which elevator (2, 4, 6) is to serve the call, the value of a cost function is calculated for each allocation option (36, 38), one or more of the allocation options (36, 38) is repeatedly changed with respect to at least one data item and the values of the cost functions of the new allocation options are calculated and, based on the values of the cost functions, the best allocation option is selected and the elevator calls active are allocated to the elevators in the elevator bank accordingly.

Description: PROCEDURE FOR ALLOCATING LANDING CALLS IN AN ELEVATOR GROUP The present invention relates to a procedure for allocating the calls entered via landing call devices so that all calls will be served. When a passenger wants to have a drive in an elevator, he/she calls an elevator by pressing a landing call button mounted on the floor in question. The elevator control system re- ceives the call and tries to determine which one of the ele¬ vators in the bank will be best to serve the call. The activ¬ ity involved is referred to as call allocation. The problem to be solved by allocation is to find out which one of the elevators will minimize a specified cost function. Allocation may involve minimizing passengers' waiting time, passengers' travelling time, number of stoppages of the elevator or a combination of several cost factors weighted in different ways. Conventionally, to establish which one of the elevators will be suited to serve a call, the reasoning is performed indi¬ vidually in each case by using complex condition structures. The ultimate aim with this reasoning, too, is to minimize a cost factor describing the operation of the elevator group, typically e.g. the average waiting time for passengers. Since the elevator group has a complex variety of possible states, the condition structures will also be complex and they often have gaps left in them. This leads to situations in which the control does not work in the best possible way. A typical ex- ample of this is the conventional collective control, in which each landing call is allocated to the one of the eleva¬ tors which is currently closest to the calling floor and is moving towards that floor. However, this simple optimizing principle leads to an aggregation of the elevators, with the result that the elevators travel in a front in the same di¬ rection, thereby deteriorating the performance of the eleva¬ tor group as a whole . When attempting to determine the cost factors of all possible alternative routes, the calculation work needed may easily exceed the capacity of the processors. If the number of calls to be served is C and the building has L elevators, then the number of different alternative routes will be N = L c . As the number of alternative routes increases exponentially with the number of calls, it will be impossible even in small elevator groups to systematically analyze all the alternatives. This has limited the application of route optimization in prac- tice. The object of the present invention is to achieve a new solu¬ tion for allocating landing calls to the elevators in an ele¬ vator group, using a relatively low computing capacity while still achieving better results than with previous solutions and at the same time taking different alternatives suffi¬ ciently into account. The procedure of the invention is char¬ acterized in that it involves creating several allocation op¬ tions, each of which contains for each active landing call a call data item and an elevator data item, which data items together define the elevator to serve the landing call; cal¬ culating the value of a cost function for each allocation op¬ tion; repeatedly changing one or more of the allocation op¬ tions with respect to at least one of the data items; and calculating the values of the cost functions of the new allo¬ cation options and selecting the best allocation option based on the values of the cost functions and allocating the active elevator calls accordingly to the elevators in the elevator group. Some preferred embodiments of the invention are char- acterized by the features defined in the subclaims. The solution of the invention substantially reduces the need for computing work as compared with calculating all possible route alternatives. The solution is based on a genetic algo- rithm and is applicable in a decentralized environment when the computing tasks are executed simultaneously, several ele¬ vator control computers being used to perform part of the calculations in parallel with a group control computer. The elevator group is treated as an entity, optimizing the cost function at the level of the elevator group as a whole. The problem of allocating landing calls in the elevator group is brought to a level more general than the abstract level. The optimization process need not be concerned with individ¬ ual situations and ways of coping with them. The desired op¬ eration is achieved by modifying the cost function. It is possible to optimize e.g. passenger waiting time, call time, number of starts, travelling time, energy consumption, rope wear, operation of an individual elevator if using a given elevator is "expensive", uniform use of the elevators, etc., or a desired combination of these. The quantities to be opti¬ mized depend on the implementation of the system design and its accuracy. At the same time, variables are used systemati- cally. Traffic predictions produced for the building on the basis of e.g. daily or weekly variations can be effectively utilized by changing the cost functions accordingly. The fitness functions used in the implementation form a good basis for control systems utilizing neural networks and fuzzy logic. In the following, the invention is described by the aid of an example of its embodiments by referring to the drawings, in which - Fig. 1 illustrates the formation of an elevator chromosome, - Fig. 2 presents a call population as used in the invention, - Fig. 3 presents a block diagram representing the procedure of the invention, - Fig. 4 presents elevator call and control equipment, - Fig. 5a and 5b illustrate crossover of elevator chromo¬ somes, - Fig. 6 presents a call chromosome, - Fig. 7 presents a call ring, and - Fig. 8 illustrates the process of making an allocation de¬ cision. Fig. 1 presents a diagram representing the floors in a build¬ ing, the floors being numbered 1, 2, 3, ... , 16. The elevator group consists of three elevators LIFTl, LIFTl and LIFT2, which travel in shafts 2, 4 and 6 and whose elevator cars are indicated by reference numbers 8, 10 and 12, respectively. The elevator cars are located at floors 3, 9 and 4 and their travelling direction is indicated by arrow symbols 14 placed on top of the shafts, which show that elevator cars 8 and 12 are moving in the up direction and car 10 in the down direc- tion. Two columns 16 and 18 are provided next to the shafts to present the landing calls currently active for the up and down directions. The landing calls are indicated by arrow symbols 20. The asterisk 22 symbolizes a car call to floor 1 issued from elevator car 10. Arrow symbols 24 indicate floors from which landing calls already allocated have been issued. Accordingly, a landing call from floor 11 has been allocated to elevator LIFT0, a landing call from floor 7 to elevator LIFTl and a landing call from floor 14 to elevator LIFT2. Columns 26 and 27 visualize the formation of an allocation option utilized in the invention when an elevator chromosome is used, which contains one gene for each landing call. Col¬ umn 26 shows the landing calls currently active in sequence, with the highest floor number topmost and the lowest floor number bottommost in the example in Fig. 1. Column 27 con¬ tains the elevator chromosome itself, which consists of five genes 30, the number of genes corresponding to the number of landing calls. Each gene 30 contains data identifying the elevator car serving the call, each landing call correspond- ing to one gene. The code of the elevator car is preferably stored in the genes in the form of a binary number LIFT0=00, LIFT1=01 and LIFT2=10. Arrows 32 visualize the formation of a gene. As indicated by elevator chromosome 27 and gene 102, elevator LIFT0 will serve the call from floor 11. As indi- cated by genes 100 and 101, elevator LIFTl will serve the calls from floors 4 and 7, and similarly, as indicated by genes 103 and 104, LIFT2 will serve the calls from floors 13 and 14. When the elevator chromosome is being formed, the ex¬ isting landing calls in the up and down directions are so en- coded that the position of the gene in the elevator chromo¬ some contains information about a landing call. After the al¬ location has been done, the information in the elevator chro¬ mosome is decoded for corresponding landing calls. In the case of the embodiment in Fig. 1, according to the coding principle of a genetic algorithm, the elevator chromo¬ some is formed in such a way that the elevator chromosome will have as many genes as there are landing calls active at the moment. The number of genes N chr = N down + N up , where N down is the number of down calls and N up is the number of up calls. In the example in Fig. 1, only down calls on floors 4, 7, 11, 13 and 14 are active. Therefore, the length of the elevator chromosome in the case of this example is five genes, as represented by the chromosome 27. In this case, the number of routing alternatives according to the above de¬ scription is N=3 =243. The length of the chromosome varies dynamically depending on the number of calls active at each moment, each gene corre¬ sponding to an active landing call . Each gene contains data indicating the elevator number, in other words, the alloca¬ tion principle applied is to allocate one elevator for each landing call. The number of bits N g needed in a gene can be calculated from the formula N g = round(log 2 (N L )+0.5) , (1) where N L = number of elevators. Thus, e.g. a group of eight elevators can be represented by a three-bit gene if it is agreed that the number 0 (binary num¬ ber 000) corresponds to elevator 1 and the number 7 (binary number 111) to elevator 8. The number of bits in a gene also varies dynamically, because in a real elevator group some of the elevators may be de¬ tached from the group or an elevator may be operated for in¬ spection purposes. For example, if in an elevator group of six elevators two elevators are out of service, the remaining four elevators can be represented by a two-bit gene, in which case 0 (binary code 00) means elevator 1 and 3 (binary code 11) means elevator 4 of the elevators in use. Fig. 2 presents the principle of genetic allocation after the formation of a chromosome. The chromosomes are arranged as a population 34 containing a chosen number N p of elevator chro¬ mosomes. The chromosomes 1 - N p# which are possible alloca¬ tion alternatives for the existing calls, correspond to the situation in Fig. 1, in other words, there are five down calls from floors 4, 7, 11, 13, 14 to be served. At first, the genes of the chromosomes in the population 34 are as¬ signed arbitrary elevator numbers or else use is made of ad¬ vance information that may be available, such as the control selected during the previous allocation or collective con¬ trol. According to the first elevator chromosome 36, the down calls from floors 4 and 7 (genes 100 and 101) are to be served by elevator LIFTl, the down calls from floor 11 (gene 102) by elevator LIFT0 and the down calls from floors 13 and 14 (genes 103 and 104) by elevator LIFT2. Correspondingly, according to the second elevator chromosome 38, the down calls from floors 4, 7, 11 and 13 (genes 100, 101,102 and 103) are to be served by elevator LIFTl and the down call from floor 14 (gene 104) by elevator LIFT2. In a manner de- scribed below, a suitable number of elevator chromosomes are generated to form a population. To evaluate the quality of the allocation represented by the elevator chromosome, the value 28 of a fitness function F is calculated for each ele¬ vator chromosome. The function is of the general form F = F(S0,LC,CC,T) , (2) where SO = initial state of elevator group, i.e. positions and motional states of the elevators LC = landing calls allocated to the elevators CC = car calls active, i.e. car calls to be served T = traffic information, such as load situation, predic¬ tions. The value of the fitness function F(SO,LC,CC,T) for each chromosome is the cost which will result from the elevators in the chromosome serving all the calls assigned to it, i.e. the car calls of the elevator and the landing calls allocated to it. The fitness function F can be formed in many alterna¬ tive ways by selecting different cost factors to be consid¬ ered or by weighting the factors of the function formed from several cost factors in different ways. As stated above, the cost factors to be considered may include e.g. passenger waiting time, passenger travelling time, number of stoppages of the elevators. For the application of the invention, it is important that the selected model describe the behaviour or the elevator system as accurately as possible. The more accu¬ rate the model, the more reliable are the fitness values and, further, the better are the allocation decisions achievable by the procedure. A new generation of the population 34 is produced when the genes of the elevator chromosomes in the population are modi- fied by using the operators of the genetic algorithm: selec¬ tion, crossover and mutation. A selection can be made from one or more earlier populations by different criteria. The alternatives giving the best fitness function are selected or one of the essential factors used in the formation of the fitness function is weighted in making a selection. Crossover involves forming a new chromosome from two chromosomes of an earlier population as illustrated by the example in Fig. 5, each element of the new chromosome consisting of elements contained in either one of the parent chromosomes. Fig. 5a illustrates a case of single-point crossover, in which elements l...i come from the first chromosome and ele¬ ments i+l...n from the second chromosome, so a change of par¬ ent chromosome occurs at the point between elements i and i+1. In the case of two-point crossover as illustrated by Fig. 5b, a change of parent chromosome occurs at two points. In continuous crossover, the bit of the element of either parent is selected with a probability of 0.5. In mutation, the bits of the elements of the parent chromosomes are changed with a given probability to their opposite values, altering those elements in which a bit change occurs. In the generation of each new population, all the operators of the genetic algorithm can be used. The block diagram in Fig. 3 presents the stages of the proce¬ dure of the invention according to one of its embodiments. The elevator control system activates the call allocation process (start block 50) when there is at least one landing call to be allocated to an elevator. The elevator control system inputs the initial data (block 51) to the computer in charge of optimization. At this time, among other things, the number of landing calls currently active and the number of elevators available determine the length of the elevator chromosome and the elements, respectively. In block 51, based on the initial data, a first generation of elevator chromo¬ somes is formed. It will be advantageous to produce the first generation on the basis of an earlier allocation result or by using direct collective control as a starting point. In block 55, a so-called fitness value is determined for each one of the chromosomes in the population, which means calculating the value of a selected cost function for each chromosome. Further, based on the fitness functions, the chromosomes are evaluated in block 55 to identify the best one or ones, or otherwise viable or interesting chromosomes are selected, to be preserved at least for the lifetime of the next genera¬ tion. In block 57, the fitness value F B of the best chromo¬ some is evaluated against the result F(min) obtained in pre¬ ceding generations and a check is made to see if the speci- fied number of generations have been considered. It is not necessarily during every generation that evolution takes place, which is why the algorithm should generally be contin¬ ued even if no development to the better should occur in each generation. One criterion to end the algorithm is that the generation shows a specified number of identical, best solu¬ tions, which often indicates that the optimum has been reached. It is also possible to define in advance an optimum result which, when reached, ends the algorithm. Once the ending criteria are fulfilled, execution proceeds to block 60 and the calls are allocated according to the chromo¬ some selected and, via the end block 61, control is returned to the elevator control system. If the optimization process is to be continued, execution returns to block 52 and opera¬ tions belonging to the genetic algorithm are performed in blocks 52-54. In block 52, suitable chromosomes are selected for further optimization, in block 53 chromosomes of the gen¬ eration are crossed over to form a new generation, and in block 54, mutations are performed. In crossover, a new chro¬ mosome is formed from two earlier chromosomes by selecting some of the genes of both. In mutation, the genes of an ear¬ lier chromosome are altered in some respect. For instance, a bit in the gene is changed with a certain probability from zero to one or from one to zero. After the genetic opera¬ tions, the values of the fitness functions for the new gen¬ eration are calculated in block 55. The optimization as provided by the invention is carried out by the group control and elevator control units. Fig. 4 pres¬ ents the essential parts of a system in which the functions of the procedure of the invention are implemented. The figure shows an elevator group consisting of three elevators and it also presents some elevator components associated with the invention. Elevator passengers give car calls by means of car call buttons 42 mounted in the elevator cars 40. The car calls are passed via bus 46 to the elevator control unit 48 of the elevator concerned. Each landing is provided with landing equipment comprising landing call buttons 44, by means of which passengers give landing calls to call an ele¬ vator to the floor. The landing call buttons are likewise connected to the elevator control unit 48 via the bus 46. In applications having no separate landing call buttons for each elevator, the calls are passed to one of the elevator control units or to the group control unit. In the embodiment in the figure, each elevator has its own control unit, and these are connected via bus 72 to the group control unit . Fitted in the group control unit 70 is a computer 74, e.g. a PC, which regularly checks if there are any landing calls from landing call devices which have not yet been served. The group control computer starts the allocation procedure and reads from a storage 76 the necessary initial data and forms the first generation of elevator chromosomes, utilizing the active landing call data of the elevators in operation and e.g. history data. For the calculation of the fitness func¬ tion, a number of elevator chromosomes suitably grouped are transmitted to the computers 78 in different elevator control units. The computers 78 send the calculation results back to the group control unit, which makes the decisions about allo¬ cation or continuing the algorithm. In another embodiment of the invention, the elevator control units also perform the operations of the genetic algorithm on the selected population and the results of these are sent to the group control unit for final selection and decision mak¬ ing. In the case of minor problems, i.e. when the chromosome length is rather small, a solution is generally found during the first 20 generations. If a generation has 50 chromosomes, this requires 1000 fitness function calculations. In prac- tice, call allocation must be performed at least twice a sec¬ ond, which leaves 0.5 milliseconds for one calculation. On the other hand, the genetic algorithm is of a parallel na¬ ture, i.e. the fitness function values can be calculated by parallel operations, even all at once if the system has a sufficient number of processing components. In a decentral¬ ized elevator system, the computers of different elevators calculate the fitness function values of different chromo¬ somes of a population simultaneously. The group control com¬ puter takes care of distributing the calculation tasks within the limits of the computing capacity and data transmission links and it also performs the evaluation in a centralized manner. Since the length of the chromosome increases with the number of calls and the number of elevators, the size of the popula¬ tion needed increases accordingly. Since the range of alter¬ natives to be searched expands at the same time, the number of generations required for finding an optimum also becomes larger. This means a corresponding increase in the computing capacity needed. In another embodiment of the invention, the allocation op- tions are so formed that the chromosome has one gene corre¬ sponding to each elevator. In this case, the gene contains data defining the landing call, either as a binary or integer number or otherwise defined. In the following, an allocation option thus formed is termed a call chromosome. An implemen- tation of this embodiment is described below in detail by re¬ ferring to the drawings. In this embodiment, use is made of a knowledge of how the elevator group behaves in the best possible way in the route optimization process. An experimental optimum result of route optimization for the elevator group is such that the building is divided into zones, and within the zones each individual elevator is operated by collective control. The maximum num¬ ber of zones is the same as the size of the elevator group. The principle of this procedure is that a genetic algorithm is used to determine the starting floors of the zones for each elevator, and the elevators are operated by collective control up to the floor where a new zone begins or no more landing calls to be served are present. In other words, the problem is to find for each elevator the first floor to be served, to which the elevator is to drive. Therefore, each elevator sees only one floor to which it has to move. The elevator need not necessarily serve a single landing call e.g. if the number of landing calls is less than the size of the elevator group. In that case, the elevator is given a void call. The floors seen by the elevators act as allocation options . The elevator group serves every landing call that is active. For the service in the building, the procedure calculates a cost resulting from the allocation option, which is to be minimized. There are several allocation options, which to- gether form a population in the genetic algorithm. A cost is calculated for each allocation option in the population, whereupon the best one/ones of them is/are selected, and these are used to form new allocation options according to the principles of the genetic algorithm via recombination, crossover and/or mutation of one or more allocation options acting as parents. The new allocation options constitute a new generation, and a cost is calculated for each one of the allocation options in the generation. The new generation may also contain one or more allocation options included in a previous generation or previous generations. After the costs of the allocation options of the generation have been calcu¬ lated, a check is made to see if the cost resulting from the best allocation option is low enough or if the number of gen¬ erations covered by the calculations corresponds to the num- ber specified. The number of generations to be covered may be a fixed quantity or it may vary e.g. according to the number of landing calls to be served. If the criterion for ending the search for the best allocation option is fulfilled, the group control unit of the elevator group is informed about the final result obtained, or the search is continued as men¬ tioned above. Each elevator sees only one floor to which there is an active landing call. Therefore, the allocation option is coded on the principle of the genetic algorithm as a call chromosome in which the total number of genes equals the size of the elevator group serving the landing calls. When the size of the elevator group is L, the number of genes N = L. The position of each gene in the call chromosome (Fig. 6) contains data referring to an elevator in the group. If the group consists of three elevators and it is agreed that their numbering starts from zero and ends at two, then the first gene in the chromosome represents elevator number 0 and the third gene, elevator number 2. The value of the gene is a reference either to a void call or one call to be served. The maximum value of the reference is the number C of calls to be served, if a void call is defined as zero, so the number of alternative references is C+l. In Fig. 6, the calls are rep¬ resented by integer numbers referring to the floor from which the call has been given. The landing calls and the void call constitute a call vector which contains data representing all landing calls active. When the call vector contains C calls to be served, there will be C+l positions for floors. The value of a position in the call vector is the floor number of a call to be served in the building. A logical structure of the call vector is a ring 71 (Fig. 7) in which the void call is located at the edge of the ring. The values of the genes in an individual allocation option refer to the ring or the void call. When the value of the gene refers to the ring, the route of the elevator corre¬ sponding to the gene consists of the call floor containing the reference and the floors which follow in the ring in the clockwise direction until reaching a reference of another gene in the call vector or this particular gene to the ring. The floor an elevator is to serve first is the floor to which the value of the gene corresponding to the elevator refers in the ring. When the gene refers to the void call, the elevator does not serve any landing calls in the building and no trav¬ elling route is generated for it - it cannot enter into the ring. Fig. 7 shows a ring of ten calls to be served. The first three of these (positions 1-3 as indicated by the figures on the outer edge of the ring) are up calls while the other seven (positions 4-10) are down calls. The ring 71 and the way it is handled contain a model of collective control. Let us assume that the gene of elevator 0 refers to position 2 in the ring, the gene of elevator 1 to position 8 and the gene of elevator 3 to position 5. Thus, proceeding clockwise in the ring, elevator 0 is to serve floors 7, 12 and 15, which form its route. This elevator will not serve floor 10 as this has been allocated to elevator 2. Therefore, elevator 0 first drives up by collective control and then serves the down call from floor 15. The route of elevator 1 again is from floor 10 down to floor 7, i.e. the route consists of floors 10, 8 and 7. The elevator is operated by collective control. The zone of elevator 3 consists of floors 5, 3, 2 and floor 4, where an up call is active. Elevator 3 is also driven by collective control. Thus, the ring contains the results of route optimization, which, based on experiments, seem to end up with an arrange¬ ment where the building is divided into zones and the eleva- tor group is operated by collective control . To enable the strategy to be effectively implemented, the up calls to be served must be arranged in an ascending sequence and the down calls in a descending sequence. The actual starting positions of the up and down calls in the ring are not an essential question; it is only necessary that up calls be placed in succession, and down calls likewise. In the example, succes¬ sive up calls start from position 1 and down calls from posi¬ tion 4. However, a strategy based on zones and collective operation is not the only one feasible with the ring. Now, the eleva¬ tors pick up calls in the clockwise direction until the next reference position is reached. It is possible to arrange the calls in the ring in a desired manner and make tests to see what the effect is e.g. on the average waiting time of pas¬ sengers. One possibility is to arrange the floors from which there are calls in the same direction in a sequence according to the call times and then find the allocation solutions. The coding of an allocation option or chromosome to produce an allocation decision is formed (Fig. 8) as follows. A check is made to see which position in the ring 71, presented in a straightened form in Fig. 8, the individual genes of the al¬ location option in the call chromosome 79 refer to. After this, the landing call corresponding to the position referred to is assigned to the elevator concerned. The invention has been described above by the aid of some of its embodiments. However, the description is not to be re¬ garded as constituting a limitation, but the implementation of the invention may vary within the limits defined by the following claims.

Claims: CLAIMS 1. Procedure for allocating the calls (20) entered by means of the landing call devices (44) of the elevators in an ele- vator group, characterized in that several allocation options (36,38) are formed , each of which contains for each landing call (20) a call data item and an elevator data item and these data together deter¬ mine which elevator (2,4,6) is to serve each call, - the value of a cost function is calculated for each allo¬ cation option (36,38), one or more of the allocation options (36,38) are repeat¬ edly changed with respect to at least one data item and the values of the cost functions of the new allocation op- tions are calculated, and based on the values of the cost functions, the best allo¬ cation option is selected and the elevator calls active are allocated to the elevators in the elevator group ac¬ cordingly. 2. Procedure according to claim 1, characterized in that the allocation option (36,38) is formed as an elevator chromosome which (36,38 contains one gene (30) for each landing call (20) , said gene (30) containing at least an elevator data item. 3. Procedure according to claim 2, characterized in that each elevator chromosome (36,38) is formed from successive eleva¬ tor genes (30) which contain data identifying each elevator in service and that the position of the elevator gene (30) in the elevator chromosome (36,38) contains data specifying a landing call to be served. 4. Procedure according to claim 1, characterized in that an allocation option is formed as a call chromosome, each call chromosome containing a gene for each elevator, which gene contains at least one call data item. 5. Procedure according to claim 4, characterized in that each call chromosome is formed from successive call genes which contain data identifying each call to be served and the posi¬ tion of the call gene in the call chromosome contains data specifying the elevator to serve the call. 6. Procedure according to any one of the preceding claims 2 - 5, characterized in that the elevator or call chromosomes form a population whose genes are altered by means of a ge- netic algorithm, at least one service data item being changed via selection, crossover or mutation. 7. Procedure according to any one of claims 2 - 6, character¬ ized in that the elevator and call chromosomes are altered until a specified cost function value is reached. 8. Procedure according to any one of claims 2 - 6, character¬ ized in that the elevator or call chromosomes are altered a specified number of times, whereupon the chromosome which yields the lowest cost function value is selected.

Inventors: TYNI TAPIO, YLINEN JARI, TYNI, TAPIO, YLINEN, JARI
Applicants: KONE OY, TYNI TAPIO, YLINEN JARI, TYNI, TAPIO, YLINEN, JARI
Application year: 1996
Main classification: B66B1
IPC codes: B66B1