Source: http://www.google.com/patents/US5248860?dq=5,890,152
Timestamp: 2015-04-01 01:20:33
Document Index: 233079612

Matched Legal Cases: ['art 120', 'art 110', 'art 120', 'art 110', 'art 180', 'art 340']

Patent US5248860 - Using fuzzy logic to determine elevator car assignment utility - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsThe utility of assigning each car of an elevator system to service a hall call is determined by estimating the performance of each elevator car using a plurality of performance criteria. The performance criteria are then scaled by values indicative of the customer preferences for elevator system performance...http://www.google.com/patents/US5248860?utm_source=gb-gplus-sharePatent US5248860 - Using fuzzy logic to determine elevator car assignment utilityAdvanced Patent SearchPublication numberUS5248860 APublication typeGrantApplication numberUS 07/879,530Publication dateSep 28, 1993Filing dateMay 4, 1992Priority dateApr 29, 1991Fee statusPaidPublication number07879530, 879530, US 5248860 A, US 5248860A, US-A-5248860, US5248860 A, US5248860AInventorsDavid J. Sirag, Jr.Original AssigneeOtis Elevator CompanyExport CitationBiBTeX, EndNote, RefManPatent Citations (9), Referenced by (15), Classifications (19), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetUsing fuzzy logic to determine elevator car assignment utility
US 5248860 AAbstract
The utility of assigning each car of an elevator system to service a hall call is determined by estimating the performance of each elevator car using a plurality of performance criteria. The performance criteria are then scaled by values indicative of the customer preferences for elevator system performance in order to form a plurality of scaled performance fuzzy sets. An assignment utility fuzzy set is formed from terms of the scaled performance fuzzy sets. The utility of assigning each car to service a particular hall call is then set equal to the maximum value of the degrees of membership of all of the terms of the scaled performance fuzzy sets. Alternatively, the utility of assigning each car to service a particular hall call can be set equal to the minimum value of the degrees of membership of all of the terms of the scaled performance fuzzy sets.
1. A method of dispatching elevator cars in a building having a plurality of elevator cars, in response to each registered hall call, comprising:for each car that is a candidate to respond to the hall call, providing a signal indicative of a term in each one of a plurality of sets of criteria signals, each set corresponding to a related hall call assignment performance criterion, each term having a value related to the degree to which the corresponding car is suitable for assignment to said call with respect to the related performance criterion; providing a predetermined set of preference signals, each representing a value indicative of the degree to which a corresponding one of said criteria is deemed important in assigning cars to respond to hall calls; providing a plurality of scaled performance sets of signals by multiplying the signals in each of said criteria sets by the corresponding one of said preference signals; selecting for each car the term related to such car, from among all of said scaled performance sets, which has the maximum value; and dispatching the one of said cars having the largest one of said maximum value terms to respond to said hall call. 2. A method according to claim 1 wherein at least one of said criteria is expressed in terms inverse to its effect on the suitability of a car to respond to a hall call.
This is a continuation of application Ser. No. 07/693,178, filed Apr. 29, 1991, now abandoned.
This invention relates to the field of elevators and more particularly to the field of elevator control software.
It is desirable to assign elevator cars to service hall calls in a manner which maximizes the performance of the entire elevator system. This involves using a number of sophisticated algorithms which determine the number of passengers in the elevator cars, determine the traffic mode of the elevator system, estimate the number of hall passengers at each stop, and calculate the tradeoffs between different performance parameters. These algorithms can be implemented as a plurality of fixed rules.
However, difficulties occur at the boundary conditions for the fixed rules. For example, a rule which bases the system traffic mode determination partially on the time of day might be: "if it is between 7:00 AM and 9:00 AM and if <other conditions>, then set the system traffic mode to UP-PEAK". The difficulty with such a rule is that at 6:59 AM, all of the other conditions which cause the system traffic mode to be UP-PEAK may already be present, but because of the fixed rule, the system cannot be deemed to be in the UP-PEAK traffic mode. The operation of the system may change abruptly depending on the traffic mode, but the input conditions, the predominate traffic patterns, probably change gradually between 6:59 AM and 7:00 AM.
Objects of the invention include determining the assignment utility for elevator cars in an elevator system.
According to the present invention, the utility (suitability) of assigning each elevator car to service a hall call is determined by first estimating the performance of each car for each of a plurality of performance criteria, scaling the estimated performances by values indicative of the assigned importance of each performance criteria, and setting the utility equal to the maximum value from the scaled performance values.
FIG. 1 is a perspective, partially broken away, view of an elevator system which may employ the present invention.
FIG. 2 is a dataflow diagram that illustrates operation of elevator control software, according to the present invention.
FIG. 3 is a graph illustrating empirically observed elevator weight loading data, according the present invention.
FIG. 4 is a flowchart illustrating operation of a weight interpretation software module, according to the present invention.
FIG. 5 is a flowchart 120 illustrating off-line construction of a weight interpretation table, according to the present invention.
FIG. 6 is a dataflow diagram illustrating operation of a traffic module, according to the present invention.
FIG. 7 is a flowchart illustrating operation of an up calculations module, according to the present invention.
FIG. 8 is a graph illustrating a SHORT-PERIOD fuzzy logic set, according to the present invention.
FIG. 9 is a graph illustrating a SEVERAL-CARS fuzzy logic set, according to the present invention.
FIG. 10 is a graph illustrating a HEAVILY-LOADED fuzzy logic set, according to the present invention.
FIG. 11 is a dataflow diagram illustrating operation of a count estimator module, according to the present invention.
FIG. 12 is a bar chart illustrating an average wait time performance fuzzy set, according to the present invention.
FIG. 13 is a flowchart illustrating operation of a performance estimator module, according to the present invention.
FIG. 14 is a bar chart illustrating a customer preferences fuzzy set, according to the present invention.
FIG. 15 is a flowchart illustrating operation of an assignment utility calculator module, according to the present invention.
Referring to FIG. 1, an elevator system 20 is comprised of a first elevator car 22, a second elevator car 23, a first motor 24 having a pulley 26 attached thereto, a second motor 25 having a pulley 27 attached thereto and counterweights 28, 29. A first cable 30 is threaded through the pulley 26 and attached at one end to the first car 22 and at the other end to the counterweight 28. A second cable 31 is threaded through the pulley 27 and attached at one end to the second car 23 and at the other end to the counterweight 29.
An electronic elevator controller 40 for the elevator system 20 receives electronic input signals from the car call buttons 36, 37, the hall call buttons 38, from a first weight sensor 42, located in the floor of the first car 22 and from a second weight sensor 43, located in the floor of the second car 23. The weight sensors 42, 43 each provide an electronic signal which varies according to the weight of the passengers in the cars 22, 23, respectively. The controller 40 provides an output signal to the first motor 24 for moving the first car 22 between the various floors 30-32. The controller 40 also provides an output signal to the second motor 25 for moving the second car 23 between the various floors 30-32.
Referring to FIG. 2, a dataflow diagram 50 illustrates operation of elevator control software which is stored in the ROMs and which is executed by the microprocessor. The software causes the controller 40 to provide the output signals to direct operation of the motors 24, 25 in response to input electronic signals to the controller 40. Boxes on the diagram 50 indicate program modules (portions of the elevator control software) while cylinders indicate data elements (portions of elevator control data). Arrows between boxes and cylinders indicate the direction of the flow of data. Unlike a flowchart, no portion of the dataflow diagram 50 indicates any temporal relationships between the various modules. The input signals shown on the diagram 50 are summarized in the following table:
______________________________________Signal Name Description______________________________________WEIGHT      Indicates passenger weightELPTIME     Elapsed time counterDEPARTURES  Indicates departures of cars from various       floorsARRIVALS    Indicates arrivals of cars at various floorsHALLCALLS   Indicates hall calls made from various       floors______________________________________
A weight interpretation module 52 is provided with a WEIGHT signal from each of the weight sensors 42, 43 and with input data from an observed weight data element 53. The weight interpretation module 52 uses the WEIGHT signals and the observed weight data element 53 to estimate the number of car passenger as cars leave the various floors. The passenger estimate is provided by the weight interpretation module 52 to a car passengers data element 54. Using the observed weight data element 53 and the WEIGHT signals from the weight sensors 42, 43 to estimate the number of car passengers is discussed in more detail with respect to FIG. 4, hereinafter.
The car passengers data element 54 is provided as an input to a traffic module 56, which is also provided with input from an ELPTIME input signal, a DEPARTURES input signal, and an ARRIVALS input signal. The ELPTIME signal is indicative of elapsed time (i.e a counter which increments at a fixed rate). The DEPARTURES signal indicates the departure of the elevator cars 22, 23 from the various floors 32-34. The ARRIVALS signal indicates the arrival of the cars 22, 23 at each of the floors 32-34.
The ELPTIME, DEPARTURES, and ARRIVALS signals are provided as inputs to a count estimator module 60. A HALLCALLS signal, which indicates that any of the hall call buttons 38 has been pressed, is also provided as an input to the count estimator module 60. The count estimator module 60 is also provided with input from the car passengers data element 54 and from the traffic mode data element 58. The count estimator module 60 estimates the number of hall passengers at a particular stop (a particular floor for service in a particular direction) waiting for service by an elevator car. Every floor, except the top and bottom floors, has two stops, an up stop and a down stop. The top floor has only a single down stop and the bottom floor has only a single up stop. The count estimator module 60 outputs the estimate to a hall passengers data element 62. Operation of the count estimator module 60 is described in more detail hereinafter.
The weight interpretation module 52 transforms the WEIGHT signal from each of the weight sensors 42, 43, one at a time, into an estimate of the number of car passengers by using fuzzy logic, a branch of mathematics closely related to basic set theory and logic. Fuzzy logic involves using sets having basis elements which are only partially contained in the sets. For example, whereas a traditional set C may be defined as {X, Y, Z}, a fuzzy set F can be defined as {0.3 X, 0.7 Y, 0.1 Z} wherein the numbers which precede the vertical bars indicate the degree of membership of basis elements X, Y, and Z. The quantity 0.3 X is called a term of the fuzzy set. The basis elements X, Y, and Z can represent numeric or non-numeric quantities. In cases where the basis elements X, Y, and Z represent numbers, the basis element, or the value of a term, is simply the numerical quantity represented by X, Y, or Z. A crisp value is any value or system of values which does not employ fuzzy logic. A thorough discussion of fuzzy logic can be found in Schmucker, K. J., Fuzzy Sets, Natural Language Computations, and Risk Analysis, Computer Science Press, Rockville Md., 1984.
The observed weight data element 53 shown in FIG. 2 is constructed by having an observer tabulate the number of passengers in the elevator cars 22, 23 vs. the magnitude of the WEIGHT signals provided by the weight sensors 42, 43. Ideally, this tabulation is performed at the building where the elevator system 20 is installed in order to have the data account for passenger loading and passenger weight distributions for the particular building. However, it is possible to construct the observed weight data element using generic tables showing probabilities and distributions of people's weights. The tabulated data is used to construct a plurality of fuzzy sets which are stored in the observed weight data element 53. Each of the fuzzy sets corresponds to a particular passenger count. For each set, the degrees of membership of each of the terms correspond to the number of times a particular magnitude of the WEIGHT signal has been observed with that number of passengers in the car, and the basis elements correspond to particular weights. Each of the sets can be represented as FO(N) where N is a particular passenger count and each element within that set can be represented as FO(M, W) where W is a particular weight, and M=number of occurrences: FO(N)={M1 W1, M2 M2, . . . Mj Wj }.
FIG. 3 is a graph 90 illustrating a hypothetical group of histograms of fuzzy sets constructed by tabulating passenger loading (counts) vs. the magnitude of the WEIGHT signal. The graph 90 is comprised of a plurality of plots 92-103 wherein the plot 93 corresponds to the fuzzy set describing the different values of the WEIGHT signal for one passenger, i.e. FO(1), the plot 94 corresponds to the fuzzy set describing the different values of the WEIGHT signal for two passengers, FO(2), etc. The relative magnitudes of the plots 92-103 indicate the number of times a particular magnitude of the WEIGHT signal is observed and hence indicate the degree of membership of the terms of the fuzzy sets. In fact, each plot has an abscissa of weight and an ordinate (not marked) of some normalized, dimensionless value, such as zero to one, which represent the relative likelihood that such number of passengers provide a weight signal of so many pounds. In a sense then, FIG. 3 is a table of twelve graphs, one per set, for sets relating to 0-11 passengers.
FIG. 4 is a flowchart 110 illustrating some of the operation of the weight interpretation module 52. Processing begins at a first step 111 where a fuzzy set FW(PC) (P representing a particular passenger count) is initialized to have no terms. Following the step 111 is a step 112 where a variable representing hypothetical passenger counts, PC, is initialized to zero. Following the step 112 is a test step 113 where the value of the variable PC is compared to PCMAX, a predetermined constant value equal to the maximum number of possible car passengers (shown, in the example of FIG. 3).
If PC is not greater than PCMAX, control passes from the test step 113 to a step 114 where a term, taken from the fuzzy set FO(PC) stored in the observed weight data element 53, is added to the fuzzy set FW. The added term corresponds to a passenger count equal to PC and a weight equal to the magnitude of the current WEIGHT signal: the added term is membership of the FO(PC, WEIGHT) term (a magnitude of 0-1 in FIG. 3). After the step 114 is a step 115 where the PC variable is incremented.
The steps 113-115 are repeatedly executed to develop a set, which for 600 pounds might be {0 0, 0.1 a, 0.2 2, 0.3 3, 0.7 4, 0.4 5, 0 6, etc.} for the example of FIG. 3. When PC exceeds PCMAX at the test step 113, control passes from the step 113 to a step 116, where the fuzzy set FW is normalized. Normalization of a fuzzy set involves dividing all of the degrees of membership of the terms by a constant value in order to make the sum of all the degrees of membership equal to one (the example: {0.00 0, 0.06 1, 0.12 2, 0.18 3, 0.41 4, 0.24 5, 0 6, etc.}).
After the step 116 is a step 117 where the fuzzy set FW is defuzzified to produce a value equal to the passenger count. Defuzzification is a process whereby a fuzzy logic set is reduced to a crisp, i.e. single, value. FW can be defuzzified by using the value (the basis element, in this case a number of passengers) of the term having the highest degree of membership (in the example, =4). FW can also be defuzzified by summing the products of the degree (normalized) of membership of each term and the passenger count represented by each term (in the example, =3.6). After the step 117 is a 118 where the calculated value of the passenger count is stored in the passenger count data element 54 shown in FIG. 2, indexed by the weight for which the module 110 (FIG. 4) was run. The passenger count data element 54 is used by the traffic module 56 and the count estimator module 60, in a manner described in more detail hereinafter. If it is possible for the traffic module 56 and the count estimator module 60 to make use of the elevator passenger count for each weight measured expressed as a fuzzy logic set rather than as a crisp value, the weight interpretation module 52 does not defuzzify the set FW, but rather follows a logic path 119 around the defuzzification step 117 and stores the fuzzy set FW, at a series of passenger-indexed addresses for the particular weight rather than a crisp value, at the step 118.
FIG. 5 is a flowchart 120 illustrating off-line construction of a weight interpretation table which can be loaded into the ROMs of the elevator controller 40 and accessed by the weight interpretation module 52 to provide a crisp elevator car passenger count based upon the magnitude of the WEIGHT signal. The WEIGHT signal becomes the index to the table and the passenger count is the entry at that index. At a first step 122, two variables, used only in FIG. 5 OLDPC and NEWPC, are initialized to zero. Following the first step 122 is a step 124 where a third variable, W, is initialized to zero. After the step 124 is a step 126 (which is, in fact, the subroutine 110 of FIG. 4) where NEWPC is set equal to the passenger count that is calculated by the method illustrated by the flowchart 110 of FIG. 4, except that the value of W is used in place of the magnitude of the WEIGHT signal. After the step 126 is a test step 128 where the variable NEWPC is compared to the variable OLDPC. The reason for this is that only values of W, PC which differ are put into the table. If the variables are not equal, control passes from the step 128 to a step 130, where the values of OLDPC and W are entered into the weight interpretation table being constructed.
After the step 130 is a step 132 where the variable OLDPC is set equal to the variable NEWPC. In this fashion, each calculated value of PC is compared only with the last value of PC to be stored in the table with a related value of weight. The table thus created has indices which comprise only these values of W (analogous to the magnitude of the WEIGHT signal) which cause the entries to the table, the number of passengers, to change. At run time, the weight interpretation module 52 searches the table to find two adjacent indices wherein one is greater than the magnitude of the WEIGHT signal and the other is less than or equal to the magnitude of WEIGHT signal. The entry at the higher of the two table indices is the passenger count which is written to the passenger count data element 54.
Referring to FIG. 6, a dataflow diagram 150 illustrates operation of the traffic module 56. The ELPTIME and DEPARTURES signals and data from the car passengers data element 54 are provided as inputs to an up calculations module 152, which uses Up-PEAK-ONSET rules (described in more detail with respect to FIG. 7-10) hereinafter) to calculate a value for UP-PEAK variable, which is stored in an up peak data element 154. The up calculations module 152 also uses UP-PEAK-TERMINATION rules (described in more detail hereinafter) to determine a value for an UP-OFF-PEAK variable which is stored in an up off peak data element 156.
The ELPTIME and ARRIVALS signals and data from the car passengers data element 54 are provided as inputs to a down calculations module 62, which uses DOWN-PEAK-ONSET rules (described in more detail hereinafter) to calculate a value for the DOWN-PEAK variable, which is stored in a down peak data element 164. The down calculations module 162 also uses DOWN-PEAK-TERMINATION rules (described in more detail hereinafter) to determine a value for a DOWN-OFF-PEAK variable which is stored in a down off peak data element 66. The up off peak data element 156 and the down off peak data element 166 are provided as inputs to an off calculations module 170 which combines the data from the elements 156, 166 (in a manner described in more detail hereinafter) to calculate a value for the OFF-PEAK variable, which is stored in an off peak data element 172.
______________________________________if  (DPTURE-TIME-i is SHORT-PERIOD)    and (i is SEVERAL-CARS)    and (DPTING-ELEVATOR-1 is HEAVILY-LOADED)    and (DPTING-ELEVATOR-2 is HEAVILY-LOADED)    and . . .    and (DPTING-ELEVATOR-i is HEAVILY-LOADED)then set UP-PEAK______________________________________
where ELEVATOR-CAR-1 is the elevator car which has most recently departed from the lobby, (e.g., the car that triggers evaluating the rules at this moment) ELEVATOR-CAR-2 is the second most recently departed elevator car and generally ELEVATOR-CAR-i is the with most recently departed elevator car. DPTURE-TIME-i is defined as the elapsed time since the departure of the ith most recently departed elevator car, and i is a number from one to N, the number of rules. The number of rules, N, is set about equal to the number of elevator cars in the dispatching group, to acquire a sense of a full dispatching cycle in the group. This number N is also the number of cars that have previously departed which are examined relative to the UP-PEAK-ONSET rules. However, N could be chosen to be either less than or greater than the number of cars.
The UP-PEAK-ONSET, UP-PEAK-TERMINATION, DOWN-PEAK-ONSET, and DOWN-PEAK-TERMINATION rules can be described generally as having the form:
if &lt;condition&gt; then set X-PEAK
where X-PEAK is either UP-PEAK, DOWN-PEAK, UP-OFF-PEAK, or DOWN-OFF-PEAK.
For a fuzzy logic conditional expression, the value of the result variable (the variable following the "then" portion of the conditional expression) is set according to the value of the conditional portion. For the above equation, therefore, X-PEAK is set to a value which depends upon the value of the <condition>.
Referring to FIG. 8, FIG. 9, and FIG. 10 a first graph 200 illustrates a fuzzy set for representing SHORT-PERIOD, a second graph 202 illustrates a fuzzy set for representing SEVERAL-CARS, and a third graph 204 illustrates a fuzzyset for representing HEAVILY-LOADED. The SEVERAL-CARS graph 202 is for an elevator system having several cars. A graph for the two car elevator system 20 of FIG. 1 would make it more difficult to illustrate the SEVERAL-CARS fuzzy set.
The graph 200 has a plurality of squares 210-217 superimposed thereon wherein each of the squares 210-217 represents a term of the SHORT-PERIOD fuzzy set. This set can be considered to be the decimal fraction of a group of elevator experts that would respond "yes" to the question "do you think M is a short period?", where M is 0-7 minutes. It is an empirical assessment of the relationship between how often cars leave the lobby, along with how many and how loaded, and the need to use up-peak dispatching, based on historical observations or experience.
Similarly, the graph 202 has a plurality of squares 200-227 superimposed thereon for representing terms of the SEVERAL-CARS fuzzy set ("Do you think i is several car for up-peak purposes?"). The graph 204 has a plurality of terms 230-242 superimposed thereon for representing elements of the HEAVILY-LOADED fuzzy set ("Do you think PC is a heavy load for dispatching purposes?").
The vertical axes of the graphs 200, 202, 204 indicate the degree of membership for terms represented by the squares 210-217, 220-227, 230-242 and the horizontal axes of the graphs 200, 202, 204 represents the values of the basis elements. For example, the square 210 represents a term of the SHORT-PERIOD fuzzy set having a basis element value of zero minutes and a degree of membership of 1.0 and the square 213 represents a term of the SHORT-PERIOD fuzzy set having a basis element value of three minutes and a degree of membership of approximately 0.4.
Each of the simple expression for the UP-PEAK-ONSET rule is evaluated using the SHORT-PERIOD, SEVERAL-CARS, and HEAVILY-LOADED fuzzy sets. The value of the (DPTURE-TIME-i is SHORT-PERIOD) is the degree of membership of the term of the SHORT-PERIOD fuzzy set having a basis element equal to DPTURE-TIME-i. For example, if the value of DPTURE-TIME-i is five minutes, the expression (DPTURE-TIME-i is SHORT-PERIOD) equals the degree of membership of the term of the SHORT-PERIOD fuzzy set having basis element equal to five minutes, which is illustrated in the graph 200 by the square 215 (and has a value of 0.10).
If the number of passengers in elevator car is expressed as a fuzzy set (e.g., a vertical slice of the FIG. 3 histograms), the (DPTING-ELEVATOR-i is HEAVILY-LOADED) expression is evaluated by taking the maximum value of the degree of membership of the terms of a fuzzy set formed by the intersection of the passenger count fuzzy set (generated in FIG. 3) and the HEAVILY-LOADED fuzzy set (illustrated in FIG. 10). Generally, the fuzzy set formed by the intersection of two fuzzy sets is a fuzzy set having terms whose degree of membership equals the minimum degree of membership of corresponding terms (i.e., terms having the same basic element). For example, if F1={0.1 A, 0.5 B, 0.7 , C} and F2={0.3 a, 0.2 c}, then the intersection of F1 and F2 equals {0.1 a, 0.2 c}. The value of the (DPTING-ELEVATOR-i is HEAVILY-LOADED) expression is the maximum degree of membership of the terms of the fuzzy set formed by intersecting the passenger count fuzzy set and the HEAVILY-LOADED fuzzy set (e.g., 0.2 in this example), and this would be used in each rule instead of the look-up values illustrated in FIG. 10.
______________________________________for i = 1   1 car left in 2 minutes but it had 10       passengers;for i = 2   2 cars left in 2.5 minutes:         the first one had 10 passengers,         the second one had 6 passengers;for i = 3   3 cars left in 2.9 minutes:         the first one had 10 passengers,         the second one had 6 passengers,         the third one had 7 passengers;       . . .for i = 7   7 cars left in 4.9 minutes:         the first one had 10 passengers,         the second one had 6 passengers,         the third one had 7 passengers,______________________________________
As an example, the rule corresponding to i equals three (the car that departed two cars before car 1: car 1 is the car whose departure triggered this set of rules) would be:
______________________________________if  (DPTURE-TIME-3 is SHORT-PERIOD)    and (3 is SEVERAL-CARS)    and (DPTING-ELEVATOR-1 is HEAVILY-LOADED)    and (DPTING-ELEVATOR-2 is HEAVILY-LOADED)    and (DPTING-ELEVATOR-3 is HEAVILY-LOADED)then set UP-PEAK______________________________________
As described with resect to the example set forth in FIGS. 8-10 under conditions of the prose example above, this would result in a set of clauses, each clause being a conditional portion taken from FIGS. 8-10, (in the order of period, cars, load) as follows: F(UP)3 ={0.42, 0.81, 0.92, 0.46, 0.61}.
For each of the N rules, the up calculations module 152 evaluates the conditional portion of the UP-PEAK-ONSET rule since the belief that the onset of up-peak has occurred (all of the clauses of the rule being true) is no greater than the least belief of any one of them, each rule has a value of its lowest conditional. In this example, for N=3, the rule has a value of 0.42. Each rule, one for each of the last seven cars to depart, has a membership in the UP-PEAK rule set. The final value of the UP-PEAK variable equals the maximum value resulting from evaluating each of the N UP-PEAK-ONSET rules the maximum membership in the even rule set.
Referring to FIG. 7, a flowchart 180 for evaluating the N UP-PEAK-ONSET rules shows a first step 182 where i is initialized to the value one followed by a second step 184 where a variable OLD-UP-PEAK is initialized to zero. Following the step 184 is a test step 186 where the value of i is compared to the value of N, the number of rules, If at the step 186 i is greater than N, processing is complete. Otherwise, control transfers from the step 186 to a step 188 where the UP-PEAK-ONSET rule is used to calculate a value for the membership of the ith rule in the UP-PEAK rule set. This entails looking up the FIGS. 8-10 values for ELPTIME, DEPARTURES, and the number of passengers (or use of the result of the intersection of passengers and heavily loaded fuzzy sets referred to hereinbefore). Following the step 188 is a step 190 where the variable i is incremented.
Following the step 190 is a test step 192 where the value of OLD-UP-PEAK is compared to UP-PEAK, seeking the highest membership in the UP-PEAK rule set. If OLD-UP-PEAK is not greater than UP-PEAK, control transfers from the step 192 to a step 194, where OLD-UP-PEAK is set equal to UP-PEAK. If at the step 192 OLD-UP-PEAK is greater than UP-PEAK, control transfers from the step 192 to a step 196, where UP-PEAK is set equal to OLD-UP-PEAK. Control passes from the step 194 or the step 196 back to the step 186. The steps 192, 194, 196 ensure that the variables UP-PEAK (to be placed in the UP-PEAK data element 154, for use) and OLD-UP-PEAK (to compare with, in the next iteration) always equal the greatest value calculated for UP-PEAK at the step 188.
______________________________________if  (DPTURE-TIME-i is not SHORT-PERIOD)    and (DPTING-ELEVATOR-1 is not HEAVILY-LOADED)    and (DPTING-ELEVATOR-2 is not HEAVILY-LOADED)    and . . .    and (DPTING-ELEVATOR-i is not HEAVILY-LOADED)then set OFF-UP-PEAK.______________________________________
The up calculations module 152 processes the N UP-PEAK-TERMINATION rules in a manner similar to that illustrated in FIG. 7, using the complements of the values of FIGS. 8 and 10, or of FIG. 8 and the result of an intersection of fuzzy passengers with the fuzzy set of FIG. 10, so that OFF-UP-PEAK is the maximum value resulting from evaluating each of the N UP-PEAK-TERMINATION rules. As is well known, this complement is equal to using one minus the memberships of the up-peak data. For example, "departure time is not SHORT PERIOD", for 2 minutes, has a membership of 1-0.75=0.25. The up calculations module 152 stores the value of the OFF-UP-PEAK variable in the off up peak data element 156.
______________________________________if  (ARRIVAL-TIME-i is SHORT-PERIOD)    and (i is SEVERAL-CARS)    and (ARVNG-ELEVATOR-1 is HEAVILY-LOADED)    and (ARVNG-ELEVATOR-2 is HEAVILY-LOADED)    and . . .    and (ARVNG-ELEVATOR-i is HEAVILY-LOADED)then set DOWN-PEAK______________________________________
______________________________________if  (ARRIVAL-TIME-i is not SHORT-PERIOD)    and (ARVNG-ELEVATOR-1 is not HEAVILY-LOADED)    and (ARVNG-ELEVATOR-2 is not HEAVILY-LOADED)    and . . .    and (ARVNG-ELEVATOR-i is not HEAVILY-LOADED)then set OFF-DOWN-PEAK______________________________________
FIG. 11 is a dataflow diagram 260 illustrating operation of the count estimator module 60, which estimates the number of hall passengers waiting at a particular stop at a particular time. Recall that a "stop" is on a floor for one direction (up or down); there are two stops per floor except the highest and the lowest. The count estimator module 60 processes the ELPTIME, DEPARTURES, ARRIVALS, and HALLCALLS signals for each stop along with data from the car passengers data element 54 and the traffic mode data element 58 and writes the output to the hall passengers data element 62.
Referring to FIG. 11, a first rate calculations module 262 is provided with data from the car passengers data element 54 and with the ELPTIME, (time from last departure from each stop) DEPARTURES, and ARRIVALS input signals for each stop. The first rate calculator module 262 estimates the rate that hall passengers arrive at a stop to wait for an elevator car to service the stop. Calculations by the first rate module 262 (described in more detail hereinafter) are based upon an estimate of the number of passengers that enter an elevator car at a stop and the time since the stop was last serviced. The first rate calculator module 262 provides the estimated rate and information indicative of the particular stop to a first rate data element 264.
A second rate calculations module 266 is provided with input from the ELPTIME, DEPARTURES, ARRIVALS and HALLCALLS signals. The second rate calculations module 266 also estimates the rate that hall passengers arrive at a stop to wait for an elevator car to service the stop. The second rate calculations module 266 provides the estimated rate along with information indicative of the particular stop to a second rate data element 268. Calculations by the second rate module 266 (described in more detail hereinafter) are based upon the elapsed time between an elevator car servicing a particular stop and a hall passenger subsequently pressing a hall call button for that stop.
The traffic mode data element 58 and the up, rate down, rate and off rate data elements 272, 274, 276 are provided as inputs to a rate converter module 278, which uses the input data and the ARRIVALS, DEPARTURES, and ELPTIME signals to estimate the number of hall passengers at a particular stop waiting for elevator car service. The number of hall passengers at a stop is determined by multiplying the rate (from one or more of the up, down, rate and off rate data elements 272, 274, 276, depending on the traffic mode of the system) by the amount of elapsed time since the stop was last serviced. The number of passengers is provided to the hall passengers data element 62 as a fuzzy set or a crisp value, depending on the needs of the follow on processes. Operation of the rate converter module 278 is described in more detail hereinafter.
The first rate calculations module 262 calculates a first instantaneous passenger rate, INSTRATE1, whenever an elevator car stops at a floor to answer a hall call. An assumption is made that any passengers departing from the car will do so before any hall passengers board the car. The number of passengers who board the car is therefore determined by subtracting the minimum passenger count from the final passenger count (i.e., the number of passengers in the car when the elevator doors close). The rate that is provided to the first rate data element 264, INSTRATE1, equals the number of passengers that board the car divided by the elapsed time since the particular stop was last serviced.
For example, assume fuzzy set F1 equals {u A, v B, w C} and that fuzzy set F2 equals {x D, y E, z F}. The fuzzy set formed by subtracting, F2 from F1 would equal:
______________________________________{min(u,x) (A-D),min(u,y) (A-E),min(u,z) (A-F), min(v,x) (B-D),min(v,y) (B-E),min(v,z) (B-F), min(w,x) (C-D),min(w,y) (C-E),min(w,z) (C-F)}______________________________________
As an example, if u=0.3, x=0.2, A=7, D=4; and W=0.6, y=0.4, C=4, and E=1; then combined term=max(min(0.3, 0.2), min (0.6, 0.4) 3=0.4 3.
degree of membership=RTe-RT where e is the natural logarithm and R is the basis element of the associated term of the fuzzy set. The degrees of membership reduce to: e-1 =0.37; 2e-2 =0.27; 3e-3 =0.15; . . . 10e-10 =0.0005.
Prior to being used to update the values for the overall system rates stored in the up, down, and off rate data elements 272, 274, 276, an adjustment is made to the values of INSTRATE1 and INSTRATE2 to compensate for the greater probability of lower floors to have up hall calls and higher floors to have down hall calls. When a new INSTRATE1 or INSTRATE2 is calculated in response to a downward travelling elevator car or a down hall call, the basis elements of the INSTRATE1 and INSTRATE2 fuzzy sets are divided by (i=1)/(F-1) (or multiplied by the ratio of (F-1) to (i-1) where F is the total number of floors in the building and i is the particular floor that the system is servicing. Similarly, the basis elements of the INSTRATE1 and INSTRATE2 fuzzy sets are divided by (F-i)/(F-1) or multiplied by the ratio of (F-1) to (F-i) whenever a new calculation is made in response to servicing a call with an upward travelling car or an hall call.
The rate averager 270 updates the fuzzy set stored in the up rate data element 272 whenever INSTRATE1 is updated in response to an elevator car servicing the lobby or whenever INSTRATE2 is updated in response to a lobby hall call button being pressed. The new up rate fuzzy set is a running average calculated by the following equation: ##EQU1## INSTRATE in the above formula is either INSTRATE1 or INSTRATE2. UM (ul membership) is the degree of membership of the term of the traffic mode fuzzy set (from the traffic mode data element 58) which corresponds to the up traffic rate. UM ranges from zero to one.
For instance, if UM=0.2, the update will be 0.04 new INSTRATE+0.96 old INSTRATE; if UM=0.8, the update will be 0.16 new INSTRATE+0.84 old INSTRATE; term by term.
Using UM in the above equation causes the up rate fuzzy set to be affected by INSTRATE only to the extent that the elevator system is currently in the UP mode. The multiplication in the above equation affects only the degrees of membership of the terms of the fuzzy sets. The addition is performed using standard techniques, known to skilled in the art, for adding fuzzy sets. This is fully analogous to subtraction as defined hereinbefore, except that the sum of the basis elements have a combined membership equal to the max of the individual memberships, term for term; the max of like terms is also used.
(0.2�DM�INSTRATE)+(0.2�DM))�{down rate fuzzy set}
INSTRATE in the above formula is either INSTRATE1 or INSTRATE2. DM (down membership) is the degree or memberships of the term of the traffic mode fuzzy set which corresponds to the down traffic rate. DM ranges from zero to one.
The rate averager 270 updates the off rate fuzzy set and stores the new value in the off rate data element 276 whenever INSTRATE1 or INSTRATE2 is updated (in either up or down direction). The new value of off rate fuzzy set is calculated by the following equation:
(0.2�OP�INSTRATE)+(1.0-(0.2�OP))�{off rate fuzzy set}
INSTRATE in the above formula is either INSTRATE1 or INSTRATE2. OP (off peak) is the degree of membership of the term of the traffic mode fuzzy set which corresponds to the off peak traffic mode. OP ranges from zero to one.
The rate converter module 278 provides a fuzzy set indicative of the number of hall passengers waiting for an elevator car at any particular stop at any particular time. First, a total rate fuzzy set is constructed by combining the fuzzy set from the up rate data element 272, the fuzzy set from the down rate data element 274, and the fuzzy set from the off rate data element 276. The sets are combined by scaling the degrees of membership of each of the terms of the sets by the relative degree of membership of the corresponding terms of the traffic mode fuzzy set so that the degrees of membership of the up rate fuzzy set are scaled by UM/(UM+DM+OP), the degrees of membership of the down rate fuzzy set are scaled by DM/(UM+DM+OP), and the degrees of membership of the off rate fuzzy set are scaled by OP/(UM+DM+OP). After scaling the degrees of membership, the three sets are added together and then the values of the basis elements of the result are divided by three to produce the total rate fuzzy set.
If at the step 306 not greater than IMAX, control passes from the step 306 to a step 307 where C, an index variable for indexing through terms of the performance fuzzy sets (and hence corresponding to each of the cars), is initialized to one. Following the step 307 is a step 308 where C is compared to CMAX, the number of elevator cars in the system. If at the test step 308 C is not greater than CMAX, control passes from the step 308 to a step 309, where car C is assumed to be assigned to service a particular hall call at a particular stop and parameters related thereto are identified.
Following the step 309 is a step 310 where P(I, C), which equals the Cth term of the Ith fuzzy set, is determined. At the step 310, and the performance of the system is calculated using equations and calculation methods that are appropriate for the Ith performance indicator. The value calculated at the step 310 becomes the degree of membership of the Cth term in the Ith performance fuzzy set: e.g., call wait time for car =0.45 (FIG. 12).
After the step 310 is step 311 where the index variable C is incremented. After the step 311, control passes back to the test step 308. If at the test step 308 C is greater than CMAX, indicating that the system performance for the Ith performance indicator has been calculated for all of the cars, then control passes from the test step 308 to a step 312, where the index variable I, which indicates the particular performance criteria, is incremented. Control passes from the step 312 back to the test step 306, where I is compared to IMAX. If at the step 306 I is greater than IMAX, all of the performance fuzzy sets have been calculated and processing is complete.
The graph 320 can represent a customer preferences fuzzy set wherein each basis element (term) the set corresponds to a particular elevator performance indicator and wherein the height of each of the bars 322-328, which indicates the relative importance to the customer of each of the elevator performance indicators, corresponds to the degree of membership of each term of the fuzzy set. The customer preferences fuzzy set can be constructed by the elevator manufacturer or can be entered by the elevator customer (owner, operator) using a variety of data input means obvious to those skilled in the art. The customer preferences fuzzy set is stored in the customer preferences data element 68.
The performance and customer preferences data elements 66, 68 are provided as inputs to the assignment utility calculator module 70, which determines the utility (usefulness, suitability) assigning each of the cars to service a hall call and provides to the assignment utility data element 72 an assignment utility fuzzy set having basis elements corresponding to each of the elevator cars wherein the degree of membership of each basis element corresponds to the utility of assigning the associated elevator car to the particular hall call.
For instance, if UM=0.2, the update will be 0.04 new INSTRATE+0.96 old INSTRATE; if UM=0.8, the update will be 0.16 new INSTRATE+0.84 old INSTRATE; term by term. Referring to FIG. 15, a flowchart 340 illustrates operation of the assignment utility (suitability) calculator module 70. The symbol AU indicates the assignment utility fuzzy set and the symbol SP indicates a plurality of scaled performance fuzzy sets. The symbol CP indicates the customer preferences fuzzy set. At a first step 342, the AU and SP fuzzy sets are initialized to be empty. Following the step 342 is a step 344 where an index variable I, for indexing into the performance and the scaled performance fuzzy sets, is initialized to one. Following the step 344 is a test step 346, where I is compared to IMAX, a predetermined constant equal to the number of performance fuzzy sets (i.e. the number of performance indicators, as in FIG. 14).
At the step 352, the degree of membership of the Cth term in the Ith scaled performance fuzzy set, SP(I-C), equal to the degree of membership of the Cth term of the Ith performance fuzzy set, P(I,C), times the degree of membership of the Ith term of the customer preferences fuzzy set, CP(I). If CP(I) is close to one, indicating that the Ith performance indicator is important to the customer, the degree of membership of the Cth term of the Ith scaled performance fuzzy set will nearly equal the Ct term of the Ith performance fuzzy set. If, on the other hand, CP(I) is at or near zero, indicating that the Ith performance indicator is not important to the customer, then the Cth term of the Ith scaled performance fuzzy set will equal or be close to zero, irrespective of the value of the Cth term of the Ith performance fuzzy set.
After the step 352 is a step 354 where the variable C is incremented. After the step 354, control passes back to the test step 350 where C is compared to CMAX. If at the step 350 C is greater than CMAX, indicating that all of the terms of the Ith scaled performance fuzzy set have been calculated, control passes from the step 350 to a step 356 where I, the variable used for indexing through the performance indicators, is incremented. After the step 356, control passes back to the test step 346, where I is compared to IMAX, the number of performance indicators. This is fully analogous to subtraction as defined hereinbefore, except that the sum of the basis elements have a combined membership equal to the max of the individual memberships, term for term; the max of like terms is also used.
If at the test step 346 I is greater than IMAX, control passes from the test step 346 to a step 358, where the index variable C is initialized to one. After the step 358 is a test step 360, where C is compared to CMAX, the number of elevator cars. If at the step 360 C is not greater than CMAX, control passes to a step 362, where the degree of membership of the Cth term of the assignment utility fuzzy set AU(C), is set equal to the Cth term (car 1, initially) of the first scaled performance fuzzy set, SPC(I,C). After the step 362 is a step 364, where the variable I, for indexing of the scaled performance fuzzy sets is set to two, so that the term in the second scaled performance fuzzy set for this car can be compared with the term for this car in the first scaled performance fuzzy set (SP(1,2) vs. SP(2,3)).
After the step 364 is a test step 366 where C is compared to IMAX, the number of performance indicators (and fuzzy sets) in the system. If I is not greater than IMAX, control passes to a step 368, where the Cth term, (car=C) of the assignment utility fuzzy set is set equal to the greater of the Cth term of the Ith (initially, the second) scaled performance fuzzy set and the previous value of the Cth term of the assignment utility fuzzy set. The step 368 ensures that the Cth term of the assignment utility fuzzy set always equals the maximum value of the Cth terms of all of the scaled performance fuzzy sets.
Following the step 368 is a step 370 where the variable I is incremented. After the step 370, control passes back to the test step 366. If at the step 366 I is greater than IMAX, control passes from the step 366 to a step 372 where C, the index variable for the cars, is incremented. After the step 372, control passes back to the test step 360 where, if C is greater than CMAX, processing is complete. The resulting assignment utility fuzzy set is provided as an output to the assignment utility data element 72.
The assignment utility data element 72 is provided as an input to the uncertainty filter module 74, which determines the final, tentative elevator car assignment (a crisp value) by choosing the car corresponding to the term of the assignment utility fuzzy set having the highest degree of membership. The uncertainty filter module 74 will only provide an assignment to the assignment data element 76 when the uncertainty of the assignment is below a predetermined value that is stored in the customer preferences data element 68 which is provided as an input to the uncertainty filter module 74. The uncertainty of an assignment can be expressed in terms of certainty, which is defined as the degree of membership of the term having the highest degree of membership (the term of the tentatively assigned car) divided by the sum of the degrees of membership of all of the terms of the assignment utility fuzzy set. A customer that prefers a relatively quick assignment of a car to a hall call would specify a high degree of uncertainty (where the highest degree of membership is not much higher than the rest) while a customer who does not care about a quick assignment would specify a low degree of uncertainty (where highest degree of membership really stands out).
Alternatively, the uncertainty filter module 74 may provide an assignment to the assignment data element 76 after a constant predetermined amount of time which is stored in the customer preferences data element 68. The value of the assignment will be the car represented by the basis element (car identity) in utility fuzzy set, (AU(C), having the highest degree or membership (inverse uncertainty) therewith.
As a third alternative, the uncertainty filter module 74 may adjust the uncertainty threshold as a function of the elapsed time since the hall call button was pressed. As the elapsed time increases, the threshold decreases. The threshold vs. time function, can be linear or non-linear, depending on the requirements of the particular elevator system. Or, the threshold can be a minimum value which the degree of membership of the selected car must have before it is assigned--either a fixed threshold or one that decreases with elapsed time from the hall call.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4411337 *Jul 9, 1981Oct 25, 1983Inventio AgGroup control for elevatorsUS4458787 *Mar 5, 1982Jul 10, 1984Mitsubishi Denki Kabushiki KaishaGroup supervisory control system for elevatorUS4553639 *Feb 7, 1984Nov 19, 1985Mitsubishi Denki Kabushiki KaishaElevator supervision systemUS4760896 *Sep 29, 1987Aug 2, 1988Kabushiki Kaisha ToshibaApparatus for performing group control on elevatorsUS4947965 *Feb 27, 1989Aug 14, 1990Hitachi, Ltd.Group-control method and apparatus for an elevator system with plural cagesUS4984174 *Oct 20, 1988Jan 8, 1991Hitachi, Ltd.Information service systemUS5012430 *Sep 2, 1987Apr 30, 1991Hitachi, Ltd.Fuzzy inference-based digital control method and apparatusUS5022498 *Jan 30, 1989Jun 11, 1991Fujitec Co., Ltd.Method and apparatus for controlling a group of elevators using fuzzy rulesGB2115578A * Title not available* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS5490580 *Apr 17, 1995Feb 13, 1996Otis Elevator CompanyAutomated selection of a load weight bypass threshold for an elevator systemUS5679932 *Jan 30, 1995Oct 21, 1997Lg Industrial Systems Co., Ltd.Group management control method for elevator system employing traffic flow estimation by fuzzy logic using variable value preferences and decisional prioritiesUS5714725 *Nov 30, 1995Feb 3, 1998Otis Elevator CompanyClosed loop adaptive fuzzy logic controller for elevator dispatchingUS5750946 *Nov 30, 1995May 12, 1998Otis Elevator CompanyEstimation of lobby traffic and traffic rate using fuzzy logic to control elevator dispatching for single source trafficUS5767460 *Nov 30, 1995Jun 16, 1998Otis Elevator CompanyElevator controller having an adaptive constraint generatorUS5767462 *Nov 30, 1995Jun 16, 1998Otis Elevator CompanyOpen loop fuzzy logic controller for elevator dispatchingUS5786550 *Nov 30, 1995Jul 28, 1998Otis Elevator CompanyDynamic scheduling elevator dispatcher for single source traffic conditionsUS5786551 *Nov 30, 1995Jul 28, 1998Otis Elevator CompanyClosed loop fuzzy logic controller for elevator dispatchingUS5808247 *Nov 30, 1995Sep 15, 1998Otis Elevator CompanySchedule windows for an elevator dispatcherUS5841084 *Nov 30, 1995Nov 24, 1998Otis Elevator CompanyOpen loop adaptive fuzzy logic controller for elevator dispatchingUS7152714 *May 19, 2003Dec 26, 2006Otis Elevator CompanyElevator car separation based on response timeUS8646581 *Sep 3, 2009Feb 11, 2014Mitsubishi Electric CorporationElevator group management system having fellow passenger group assignmentUS20110155514 *Sep 3, 2009Jun 30, 2011Mitsubishi Electric CorporationElevator group managemnt systemCN100503408CFeb 24, 2004Jun 24, 2009因温特奥股份公司Operating method for elevator apparatusCN101475109BFeb 24, 2004May 18, 2011因温特奥股份公司Method for the operation of a lift installation* Cited by examinerClassifications U.S. Classification187/383, 706/900, 187/380International ClassificationB66B1/34, B66B1/20, B66B1/24Cooperative ClassificationY10S706/90, B66B1/2458, B66B2201/214, B66B2201/102, B66B1/2408, B66B1/3484, B66B2201/222, B66B2201/211, B66B2201/401, B66B2201/403European ClassificationB66B1/24B, B66B1/24B6, B66B1/34D2Legal EventsDateCodeEventDescriptionFeb 25, 2005FPAYFee paymentYear of fee payment: 12Feb 20, 2001FPAYFee paymentYear of fee payment: 8Feb 18, 1997FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services