This application is related to U.S. Pat. No. 7,484,597 entitled “System and Method for Scheduling Elevator Cars Using Branch-and-Bound,” dated Feb. 3, 2009 by Nikovski et al., and U.S. Pat. No. 7,546,905 entitled “System and method for scheduling elevator cars using pairwise delay minimization,” dated Jun. 16, 2009 by Nikovski et al.
The present disclosure relates generally to scheduling elevator cars, and more particularly to scheduling methods and systems that operate according to a continuous reassignment policy until an actual time of pick up.
Scheduling elevator cars is a practical optimization problem for banks of elevators in buildings. The most common instance of this problem deals with assigning elevator cars to passengers as they arrive at the bank of elevators, and request service by means of one of two buttons (up or down). The object is to assign arriving passengers to cars so as to optimize one or more performance criteria such as waiting time, total transfer time, percentage of people waiting longer than a specific threshold, or fairness of service.
An important consideration is the assignment policy used by the scheduler. One possible assignment policy is when each assignment is made at the time of the hall call of the arriving passenger, and the assignment is not changed until the passenger is served. This is called an immediate policy. On the other hand, the system can continuously reassign hall calls to different cars if this improves the schedule. This is called a reassignment policy. While the reassignment policy increases the computational complexity of scheduling, the additional degrees of freedom can be exploited to achieve major improvements of the average weight time (AWT).
In practice, it is assumed that passenger dissatisfaction grows supra-linearly as a function of the average weight time (AWT). When minimizing objective functions, one penalizes long waits much stronger than short waits, which helps to reduce extensive long waits. However, due to the high economic and social impact of transportation efficiency in buildings, many scheduling algorithms have been proposed to reduce the AWT of elevator passengers. Yet, there are several significant obstacles to achieving the shortest possible AWT in a given building. The main obstacle is the high combinatorial complexity of the scheduling problem. In a building that has an elevator bank with C cars, if N passengers must be assigned to these cars, there are CN possible assignments, each of which resulting in a different AWT value for passengers. Even for moderate passenger and car numbers, finding the optimal assignment by means of exhaustive enumeration of all assignments is computationally very difficult, with exponential complexity O(CN). Such a solution is not feasible, given the fast reaction times required by the elevator control system. Multiple heuristic and approximate algorithms have been proposed to deal with this huge combinatorial complexity, but most of them have major shortcomings that result in substatial suboptimality, as described below.
One of the earliest scheduling algorithms that is still used in a large number of deployed elevator installations is the nearest car algorithm, where each passenger is assigned to the nearest car that is approaching that passenger. This method is computationally very easy, and has computational complexity of only O(CN). However, bacause every passenger is assigned to a car without any consideration for the other passengers assigned to the same car, it completely ignores the delays that picking some passengers would cause to the pick up time and wait of other passengers. As a result, its AWT is very far from optimal. Moreover, it often results in bunching, where the elevator cars are distributed very unevenly around the building, and are poorly positioned to respond to new calls.
Another class of scheduling methods operate in the so-called immediate assignment mode, where a new passenger is assigned to a car immediately after service is requsted by the passenger, and this assignment is never reconsidered. However, the need to commit as early as possible to a particular assignment of passengers to cars (at the time of the initial call for service) deprives the scheduler from the possibility of revising the assignments if the situation changes before the assigned car reaches the passenger. That the situation will change is almost certain, and there are multiple reasons for that. The main reason is the arrival of future new passengers, whose arrival was not known at the time when the original assignment was made. When such new arrivals occur, it is often advantageous to reconsider the initial assignments, and sometimes change the entire schedule of the elevator bank. Another reason why the situation might change is that the execution of the current schedule often does not proceed as planned, for example when passengers hold the doors open longer than usual, or an entire group of passengers has initiated the service call and needs a lot more time of enter or exit the car. Constantly reconsidering all the assignments of all outstanding service calls to the available cars, called reassignment mode, usually results in much shorter AWT than when immediate assignment is used.
As noted, optimally solving the scheduling problem in reassignment mode has exponential complexity, and exhaustive enumeration of all possible solutions is not feasible. A general-purpose method for eliminating many of the possible solutions in combinatorial optimization problems is the branch-and-bound method. Nikovski et al., U.S. Pat. No. 7,484,597, System and Method for Scheduling Elevator Cars Using Branch-and-Bound, describe how this method can be applied to the group elevator scheduling problem in re-assignment mode. Although this method can be much faster than full exhaustive enumeration, its worst-case complexity is still exponential in the number of cars and calls.
Therefore, a need exists in the technical art for a combinatorial optimization method with favorable complexity (not exponential, but low-order polynomial) that outperforms known sub-optimal solutions, such as a nearest-car and immediate assignment algorithms.
The present disclosure relates to systems and methods for scheduling elevator cars that operate according to a continuous reassignment policy until an actual time of pick up.
The embodiments of the present disclosure are based on controlling a movement of a plurality of elevator cars of the elevator system. The elevator system accepts the plurality of hall calls requesting service of the plurality of elevator cars to different floors of a building.
We realized through experimentation we needed to solve the combinatorial optimization problem of assigning N multiple passengers to C elevator cars (CN possible assignments) in the shortest time (<1s). However, we quickly learned that traditional computation methods incorporated an exhaustive search taking a very long time to compute, which because of the computationally long wait time, made such solutions impractical when put into practice. For example, we explored the Branch-and-Bound and Mixed Integer Programming (MIP) methods, which we learned both had problems because of their worst-case complexity are exponential in the number of elevator cars and halls calls. What we realized through experimentation is that we needed a combinatorial optimization method with favorable complexity (not exponential, but low-order polynomial) that outperforms known sub-optimal solutions, such as the nearest-car and immediate assignment algorithms.
We realized further that if the total waiting time for passengers was a submodular function, we could obtain a fast and close to optimal solution to group elevator scheduling, if we employed a greedy optimization algorithm.
From our experimentation, we realized the greedy optimization can produce a reasonable solution in a reasonable time, if the optimized cost function has a specific structure, e.g., quadratic, and submodular. In those cases, the greedy optimization had guaranteed performance. In contrast, the cost function of a total waiting time for passengers is neither quadratic nor submodular. What we learned is that, if we had not realized through our exhaustive experimentation, the optimized cost function structure (i.e. quadratic and submodular), then the greedy algorithm would not have been effective for optimizing AWT, since it is demonstrably a non-submodular function. Specifically, conventional greedy optimization methods can produce very suboptimal results, when applied to arbitrary objective functions. The cost function should be a total waiting time for passengers as according to our realization.
According to embodiments of the present disclosure, the systems and methods are based on our realizations that a greedy optimization algorithm of complexity O(CN2), is linear in the number of cars C and quadratic in the number of passengers N. We discovered that the success of this greedy optimization algorithm depends critically on the property of submodularity of the objective function. In the current context of optimizing average waiting time (AWT), this property is approximately equivalent to the property that when a group of passengers is picked up by the same elevator car, their cumulative waiting time is larger than the sum of their individual waiting times, if they had been picked up by multiple separate cars starting from the same location, one car per passenger. This property, unfortunately, is not strictly always true for waiting times of passengers in elevator banks, due to the intricate interplay between their positions in the pick up schedule of the car.
In order to ensure the submodular property of the objective function, the first step in at least one method is to construct an approximation of the cumulative AWT of a group of passengers that does possess the submodularity property. To this end, we use the sum of pairwise delays (SPD).
In using the Pairwise Delay Minimization, this converts the optimization problem from a general combinatorial optimization problem without any structure in the objective function to a Quadratic Binary Optimization (QBO) problem that has an objective function with very specific (quadratic) structure that can be leveraged computationally. Moreover, the objective function of the QBO problem is submodular, which allows the application of fast greedy optimization methods. We note that there is no reason to apply, or attempt in using the greedy algorithm as a mechanism to minimize the pairwise approximation, unless that person knew that the pairwise approximation was a submodular function. In fact, without having the knowledge of submodularity, which is not known, there is no reason to put together the greedy algorithm and our specific disclosed pairwise approximation.
The second step of the algorithm is to optimize the SPD by greedily assigning passengers to cars in a manner that minimizes the SPD at every step. The algorithm starts with an empty set of assignments. At every step, a new passenger is added to the set of assignments, until all passengers are assigned. This results in exactly N steps, one for every passenger. During a given step, all remaining unassigned passengers are considered in turn, and are tentatively added to each car, again in turn. For every combination of a passenger and a car, we compute the SPD of all passengers assigned so far plus the new passenger being assigned at the current step. The passenger/car combination that increases the SPD the least is chosen, the passenger is assigned to this car and removed from the list of unassigned passengers, and the algorithm proceeds with the next step.
According to an embodiment of the present disclosure, a system for controlling a movement of a plurality of elevator cars of an elevator system. The system including at least one input interface for accepting a plurality of hall calls requesting service of the plurality of elevator cars to different floors of a building. A processor in communication with the input interface is configured to determine, for each elevator car, an individual waiting time of accommodating each hall call, if the hall call is the only hall call assigned to the elevator car. Determine, for each pair of hall calls assigned for each elevator car, a pairwise delay over the individual waiting time of each hall call in the pair caused by a joint assignment of the elevator car to accommodate the pair of the hall calls. Approximate a cumulative waiting time of an assignment of the plurality of elevator cars to accommodate the plurality of hall calls as a sum of individual waiting times for accommodating each hall call with the assigned elevator car and a sum of all pairwise delays determined between all pairs of hall calls assigned to the same elevator car. Determine the assignment of the plurality of elevator cars using a greedy optimization algorithm that greedily assigns the plurality of hall calls to the plurality of elevator cars to minimize the approximated cumulative waiting time. Finally, use a controller for controlling the movement of the plurality of elevator cars according to the assignment.
According to another embodiment of the present disclosure, a method for method for scheduling elevator cars of an elevator system. The method including using at least one input interface for accepting a plurality of hall calls requesting the plurality of elevator cars to different floors of a building. Determining independently, using a processor in communication with the input interface, for each elevator car, an independent waiting time of accommodating each hall call, if the hall call is the only hall call assigned to the elevator car. Determine, for each pair of hall calls assigned for each elevator car, a pairwise delay over the individual waiting time of each hall call in the pair caused by a joint assignment of the elevator car to accommodate the pair of the hall calls. Approximating a cumulative waiting time of an assignment of the plurality of elevator cars to accommodate the plurality of hall calls as a sum of individual waiting times for accommodating each hall call with the assigned elevator car, and a sum of all pairwise delays determined for the assigned elevator car between all pairs of hall calls assigned to the same elevator car. Determine the assignment of the plurality of elevator cars using a greedy optimization algorithm that greedily assigns the plurality of hall calls to the plurality of elevator cars to minimize the approximated cumulative waiting time. Finally, using a controller for controlling the movement of the plurality of elevator cars according to the assignment.
According to another embodiment of the present disclosure, a non-transitory computer readable storage medium embodied thereon a program executable by a computer for performing a method. The method for scheduling cars of an elevator system, the elevator system including a plurality of cars, and a plurality of hall calls. The method including using at least one input interface for accepting a plurality of hall calls requesting the plurality of elevator cars to different floors of a building. Determining independently, using a process in communication with the input interface, for each elevator car, an independent waiting time of accommodating each hall call, if the hall call is the only hall call assigned to the elevator car. Determining, for each pair of hall calls assigned for each elevator car, a pairwise delay over the individual waiting time of each hall call in the pair caused by a joint assignment of the elevator car to accommodate the pair of the hall calls. Approximating a cumulative waiting time of an assignment of the plurality of elevator cars to accommodate the plurality of hall calls as a sum of individual waiting times for accommodating each hall call with the assigned elevator car, and a sum of all pairwise delays determined for the assigned elevator car between all pairs of hall calls assigned to the same elevator car. Determining the assignment of the plurality of elevator cars using a greedy optimization algorithm that greedily assigns the plurality of hall calls to the plurality of elevator cars to minimize the approximated cumulative waiting time. Finally, using a controller for controlling the movement of the plurality of elevator cars according to the assignment.
The presently disclosed embodiments will be further explained with reference to the attached drawings. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments.
While the above-identified drawings set forth presently disclosed embodiments, other embodiments are also contemplated, as noted in the discussion. This disclosure presents illustrative embodiments by way of representation and not limitation. Numerous other modifications and embodiments can be devised by those skilled in the art which fall within the scope and spirit of the principles of the presently disclosed embodiments.
The following description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium. A processor(s) may perform the necessary tasks.
Overview
The present disclosure relates to systems and methods for scheduling elevator cars that operate according to a continuous reassignment policy until an actual time of pick up. In particular, controlling a movement of a plurality of elevator cars of the elevator system, wherein the elevator system accepts the plurality of hall calls requesting service of the plurality of elevator cars to different floors of a building.
We realized through experimentation, we needed to solve this combinatorial optimization problem of assigning N multiple passengers to C elevator cars (CN possible assignments) in the shortest time (<1 s).
During our experimentation, we quickly learned that traditional computation methods did not work, because they incorporated an exhaustive search taking a very long time to compute, i.e. computationally long wait times, that made such solutions impractical when put to use. For example, we explored the Branch-and-Bound and Mixed Integer Programming (MIP) methods, which we learned both had problems because of their worst-case complexity that are exponential in the number of elevator cars and halls calls. What we realized is we needed a combinatorial optimization method with favorable complexity (not exponential, but low-order polynomial) that outperforms known sub-optimal solutions such as the nearest-car and immediate assignment algorithms, among other things.
We further realized that greedy optimization can produce a reasonable solution in a reasonable time, if the optimized cost function has a specific structure, e.g., quadratic, and submodular. In those cases, the greedy optimization has a guaranteed performance. However, the conventional cost function of a total waiting time for passengers is neither quadratic nor submodular. Thus, without realizing the optimized cost function structure (i.e. quadratic and submodular), the greedy algorithm is not going to be effective for optimizing AWT, which is demonstrably a non-submodular function. In particular, conventional greedy optimization methods can produce very suboptimal results when operating on general objective functions. The cost function should be related to a total waiting time for passengers, as according to the present disclosure.
The systems and methods of the present disclosure are based on a greedy optimization algorithm of complexity O(CN2), that is, linear in the number of cars c and quadratic in the number of passengers N. We discovered that the success of this greedy optimization algorithm depends critically on the property of submodularity of the objective function. In the current context of optimizing average waiting time (AWT), this property is approximately equivalent to the property that when a group of passengers is picked up by the same elevator car, their cumulative waiting time is larger than the sum of their individual waiting times, if they had been picked up by multiple separate cars starting from the same location, one car per passenger. This property, unfortunately, is not strictly always true for waiting times of passengers in elevator banks, due to the intricate interplay between their positions in the pick up schedule of the car.
In order to ensure the submodular property of the objective function, the first step in our method is to construct an approximation of the cumulative AWT of a group of passengers that does possess the submodularity property. To this end, we use the sum of pairwise delays (SPD).
By using the Pairwise Delay Minimization, this converts the optimization problem from a general combinatorial optimization problem without any structure in the objective function to a Quadratic Binary Optimization (QBO) problem that has an objective function with very specific (quadratic) structure that can be leveraged computationally. Moreover, the objective function of the QBO problem is submodular, which allows the application of fast greedy optimization methods. We note that there is no reason to apply the greedy algorithm to minimize the pairwise approximation, or even think about making such a combination, since this is not known. In fact, without having the knowledge of submodularity, there is no reason to put together the greedy algorithm and our specific disclosed pairwise approximation.
The second step of the algorithm is to optimize the SPD by greedily assigning passengers to cars in a manner that minimizes the SPD at every step. The algorithm starts with an empty set of assignments. At every step, a new passenger is added to the set of assignments, until all passengers are assigned. This results in exactly N steps, one for every passenger. During a given step, all remaining unassigned passengers are considered in turn, and are tentatively added to each car, again in turn. For every combination of a passenger and a car, we compute the SPD of all passengers assigned so far plus the new passenger being assigned at the current step. The passenger/car combination that increases the SPD the least is chosen, the passenger is assigned to this car and removed from the list of unassigned passengers, and the algorithm proceeds with the next step.
Some embodiments of the present disclosure include using an input interface for accepting a plurality of hall calls requesting service of a plurality of elevator cars to different floors of a building. A processor is configured to determine, for each elevator car, an individual waiting time of accommodating each hall call, if the hall call is the only hall call assigned to the elevator car. Along with determining, for each pair of hall calls assigned for each elevator car, a pairwise delay over the individual waiting time of each hall call in the pair caused by a joint assignment of the elevator car to accommodate the pair of the hall calls.
Followed by approximating a cumulative waiting time of an assignment of the plurality of elevator cars to accommodate the plurality of hall calls, as a sum of individual waiting times for accommodating each hall call with the assigned elevator car, and a sum of all pairwise delays determined between all pairs of hall calls assigned to the same elevator car. Then, determine the assignment of the plurality of elevator cars using a greedy optimization algorithm that greedily assigns the plurality of hall calls to the plurality of elevator cars to minimize the approximated cumulative waiting time. Finally, use a controller for controlling the movement of the plurality of elevator cars according to the assignment.
Step 115 of
Step 120 of
Step 125 of
where the indicator variable xic=1 if hall call i is assigned to car c, and xic=0 otherwise.
Step 130 of
As noted above, the greedy optimization algorithm has a complexity O(CN2), that is, linear in the number of cars c and quadratic in the number of passengers N. Such that the success of this greedy optimization algorithm depends critically on the property of submodularity of the objective function. Further, when optimizing average waiting time (AWT), this property is approximately equivalent to the property that when a group of passengers is picked up by the same elevator car, their cumulative waiting time is larger than the sum of their individual waiting times, if they had been picked up by multiple separate cars starting from the same location, one car per passenger.
Step 135 of
The algorithm has two main stages: the first one is the computation of the approximation of AWT based on the sum of pairwise delays (SPD), and the second one is the greedy optimization algorithm for optimizing the SPD in N steps, where N is the number of passengers still waiting to be picked up at the time of reassignment.
Stage 1: Quadratic Boolean Approximation
During the first stage, two sets of coefficients wic and wijc are computed to construct a quadratic Boolean approximation of the cumulative waiting time of the entire set of passengers currently waiting for service at the time when reassignment is performed, in the form:
where xic is an indicator variable which takes on a value of 1 when passenger i is assigned to car c, and 0 otherwise. All N·C indicator variables can be collected in a decision vector x=[x11, x21, . . . , xN1, x12, x22, . . . , xN2, . . . , x1C, x2C, . . . xNC]. The procedure is detailed in U.S. Pat. No. 7,546,905, Nikovski et al., System and method for scheduling elevator cars using pairwise delay minimization, incorporated herein and thereafter in its entirety. The procedure is repeated below using a slightly different notation.
Let H be the set of N passengers {h1, h2, . . . , hN} still waiting. A single passenger hi is described by the tuple (ti, oidi), where ti is the arrival time, oi is the arrival floor, and di is the indicated direction of movement, or the desired destination floor, if known. A full assignment of the N passengers to the C cars in a bank would be a partition of H into C subsets Hc, such that H=H1∪H2∪ . . . ∪HC, and Hi∩Hj=Ø if i≠j. Let also Wc(h|A), where h is a passenger and A is a set of passengers, denote the expected waiting time of passenger h if assigned to car c (as it is in its current position), and also all passengers in the set A are assigned to the same car c , too. Note that this waiting time reflects all constraints that already exist for car c , including stops requested by passengers who are already inside the car, and have indicated their destination floor by pressing one of the buttons on the destination panel inside the car.
The expected waiting time Wc(h|A) can be computed relatively easily by performing a forward simulation of the path of car c until the time it picks up passenger h , while also stopping to unload passengers already in it, or picking up other passeners in the set A that need to picked up before passenger h. Such a simulation supposes that a specific predetermined order of servicing hall and car calls will be followed by the schedule execution system of the elevator bank. The usual order adopted by most actual elevator systems, commonly called the group collective policy, is to service all car and hall calls in the current direction of motion of the car, then reverse its direction, and repeat the procedure in alternating directions indefinitely. However, in practice, any order can be followed, as long as it is known in advance, fixed, and can be simulated in software.
Then, the coefficients in the quadratic Boolean approximation shown in Equation 1 can be computed as follows:
wic=Wc(hi|{hi}) (2)
wijc=[Wc(hi|{hi, hj})−Wc(hi|{hi})]+[Wc(hi|{hi, hj})−Wc(hj|{hj})]. (3)
Per Equation 2, the linear coefficient wic is simply the expected waiting time of passenger hi, if that passenger is picked by car c, and no other passenger is picked up by that car. In order to compute the N·C linear coefficients wic, a total of N·C forward simulations must be performed, from the current position of each car to the floor of each passenger. These simulations are very simple and usually very fast.
Per Equation 3, the bilinear coefficient wijc is equal to the mutual delay between passengers hi and hj. For a specific pick-up order of passengers by car c, only one of the two passengers is causing a delay to the other. (The passenger who will picked up first causes a delay for the passenger who will be picked up second.) In order to compute this delay, we compute the two differences W (hi|{hi, hj})−Wc(hi|{hi}) and Wc(hi|{hi, hj})−Wc(hj|{hj}), only one of which is zero. In practice, the two values W(hi|{hi, hj}) and Wc(hi|{hj}) can be computed by means of only one forward simulation, where car c picks up both passengers hi and hj, and their respective waiting times are calculated. The other two values, Wc(hi|{hi, hj}) and Wc(hj|{hj}), have been computed during the calculation of the linear coefficients, and could be stored during that step for reuse. In total, the computation of the N(N−1)C/2 bilinear coefficients requires an equal number of forward simulations, one for every car and every pair of passengers. These simulations are also relatively simple and very fast.
Stage 2: Greedy Optimization of Approximated Waiting Time
After the coefficients of the approximation Q(x) have been computed, the optimal assignment x* must be computed as x*=argminxQ(x), subject to the constraints that the decision variables are Boolean (i.e., they assume values of only 0 or 1), and exactly one decision variable is equal to 1 for a given passenger (Σc=1Cxic=1).
Equation 1 can be recognized as a quadratic expression in the decision variables xi, which, along with the requirement for these variables to assume Boolean values, turns the minimization task into a Quadratic Boolean Optimization (QBO) problem. Even though the problem possesses a certain mathematical structure, it is well known that it is NP-complete, that is, finding its truly optimal solution will still have exponential complexity O(CN) using any known optimization algorithm. However, the particular version of the problem we are considering has an additional property. Let us define the set function ƒ(S)=−Q(x), whose argument is one of the possible subsets of all assignments (hi→c) of passengers to cars, (including incomplete assignments where not all passengers are assigned), such that xix=1 if (hi→c)∈S, and xic=0, otherwise. Then, it can be proven that the function ƒ(S) is submodular, that is, for two sets of assignments S1⊆S2, and an element (assignment) s∉S2 it is true that
ƒ(S1∪s)−ƒ(S1)≥ƒ(S2∪s)−ƒ(S2).
This is true because the function ƒ is the negative of the function Q, and adding a passenger to a larger set of passengers already assigned to the same car would result in a larger increase in cumulative waiting time in comparison to the case when the same passenger is added to a smaller set of passengers. The latter is true because more mutual delays exist in a larger group of passengers than in a smaller one.
Because the function ƒ is the negative of the function Q, maximizing ƒ is equivalent to minimizing Q, which is our goal. But, when a function is submodular, a type of greedy optimization algorithm can be applied to maximize it, with provable performance guarantees, Nemhauser, G. L.; Wolsey, L. A.; and Fisher, M. L. 1978. An analysis of the approximations for maximizing submodular set functions, Mathematical Programming, pp. 265-294. That is, the algorithm has a very favorable computational complexity (O(N2C)), while the minimal value it returns is guaranteed to be within double the true minimum. (In practice, the suboptimality is often much smaller.)
The algorithm has exactly N steps, and at every step, one passenger is assigned to a car. The algorithm starts with an empty set of assignments. At every step n, n=1, . . . , N, all remaining N−n+1 unassigned passengers in the set Hn− are tentatively assigned to one of the C cars. If passenger hi is being tentatively assigned to car c, the increase ΔQ(i,c) of the total waiting time of all passengers, including the new passenger hi, can be defined and computed as
that is, we tentatively set the value of xic to 1, and compute the increase in Q(x), while keeping all other assignments as they currently are. This increase will include the time wic it would take the car c to pick up passenger hi if it had no other passengers to pick up, plus the marginal increase of waiting times for all passengers already assigned to the same car, caused by the new passenger, or the marginal time those passengers would cause to the new passenger, if only they and the new passengers are being transported by the same car. Clearly, the waiting times of passengers assigned to other cars would not be affected by this tentative assignment.
Then, the algorithm selects the assignment with the smallest increase in cumulative waiting time:
[i, c]=argmini,cΔQ(i,c).
After the last, N-th step of the algorithm, a full assignment of passengers to cars has been constructed.
During the second step, the two remaining passengers, 1 and 3 are tentatively assigned to the two cars A and B. If they are assigned to car B, which has already been determined to transport passenger 2, the mutual delay between the new passenger and passenger 2 needs to be added to the increase in cumulative waiting time, too. In this example, it is concluded 230 that it is actually less expensive to assign passenger 1 to car B, too, even if the mutual delay between passengers 1 and 2 must be added, rather than assign this passenger to car A, or assign passenger 3 to either car. This could be because passengers 2 and 1 are unusually close to car B.
And, in the last step, the remaining passenger 3 is assigned 240 to car A, because it would result in lower waiting time than if the passenger was assigned to car B. This assignment is quite logical, because by this stage, car B is already scheduled to pick up passengers 1 and 2, and if it were to also pick up passenger 3, the entire system would have to incur the mutual delay between each pair of passengers, while car A would be idle; clearly, this is not likely to be the most optimal solution.
Note that the order of assignment of passengers to cars is not fixed, and that is the main difference of the proposed algorithm with respect to the immediate assignment method, where the order of assignment is fixed and identical to the chronological order of arrival of passengers. The computational cost of the proposed method is slightly higher—at each one of the N steps, on the order of N remaining passengers are tentatively assigned to the C cars, for a computational complexity of O (N2C). This is one polynomial degree higher than the complexity of the immediate assignment method (O(NC)), but still very much within the computational power of most modem microcontrollers.
Contemplated is that the memory 312 can store instructions that are executable by the processor, historical data, and any data to that can be utilized by the methods and systems of the present disclosure. The processor 440 can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The processor 340 can be connected through a bus 356 to one or more input and output devices. The memory 312 can include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory systems.
Still referring to
The system can be linked through the bus 356 optionally to a display interface (not shown) adapted to connect the system to a display device (not shown), wherein the display device can include a computer monitor, camera, television, projector, or mobile device, among others.
The computer 311 can include a power source 354, depending upon the application the power source 354 may be optionally located outside of the computer 311. Linked through bus 356 can be a user input interface 357 adapted to connect to a display device 348, wherein the display device 348 can include a computer monitor, camera, television, projector, or mobile device, among others. A printer interface 359 can also be connected through bus 356 and adapted to connect to a printing device 332, wherein the printing device 332 can include a liquid inkjet printer, solid ink printer, large-scale commercial printer, thermal printer, UV printer, or dye-sublimation printer, among others. A network interface controller (NIC) 334 is adapted to connect through the bus 356 to a network 336, wherein measuring data or other data, among other things, can be rendered on a third party display device, third party imaging device, and/or third party printing device outside of the computer 311.
Still referring to
According to aspects of the present disclosure, the greedy optimization algorithm is an algorithmic paradigm that determines at an initial step, an assignment of an unassigned first hall call, based on a locally optimal choice determined at a time of the initial step, then proceeds to the next step or the next successive unassigned hall call. According to aspects of the present disclosure, the locally optimal choice identifies at each step, a combination of an unassigned hall call from all the remaining unassigned hall calls and an elevator car from the plurality of elevator cars, that results in a least increase in a waiting time for all assigned hall calls including the first hall call, while considering all previous assigned hall calls, then the combination is accepted and the hall call is assigned without further consideration and removed from all the remaining unassigned hall calls.
According to aspects of the present disclosure, the greedy optimization algorithm starts with an empty set of assignments of hall calls needing to be assigned, such that at every step including an initial step which starts with a first hall call, is added to the set of assignments of hall calls needing to be assigned, so as to result in a total of N steps, until all unassigned hall calls are assigned. Wherein each step in the total of N steps includes a hall call for every passenger to be moved between floors of the building, such that during each step, an unassigned hall call from a passenger is considered sequentially in time, and is initially added to an elevator car of the plurality of elevator cars successively. Wherein for every combination of the hall call and the elevator car, the greedy optimization algorithm computes a cumulative waiting time of all hall calls assigned at that moment in time, plus the first hall call assigned at the initial step. Wherein the hall call and the elevator car combination having a least increase in the cumulative waiting time for all assigned hall calls including the first hall call of the initial step, the combination is accepted, and the hall call is assigned and removed from all the remaining unassigned hall calls, then continues to the next step or the next successive unassigned hall call.
According to aspects of the present disclosure, wherein the greedy optimization algorithm is based on optimizing the approximated cumulative waiting time in N steps, where N is a number of unassigned hall calls from passengers waiting to be assigned at a time at each step, such that two sets of coefficients are computed to construct a quadratic Boolean approximation of the cumulative waiting time of all the plurality of hall calls from passengers currently waiting to be assigned at the time of that step. Wherein the first set of coefficients of the two sets of coefficients includes wlc, such that wic is a linear coefficient that is an expected waiting time of a hall from a passenger hi, if the hall call is picked by an elevator car c, and no other hall call is picked up by that elevator car.
According to aspects of the present disclosure, wherein the second set of coefficients of the two sets of coefficients includes wijc, such that wijc is a bilinear coefficient that is equal to the pairwise delay between hall calls from passengers hi and hj, based on a specific pick-up order of the two hall calls by the elevator car c, such that only one of the two hall calls is causing a delay to the hall call, and the hall call that is picked-up first causes a delay for the hall call that is picked-up second.
According to aspects of the present disclosure, wherein the cumulative waiting time is determined according to
where xic is an indicator variable which takes on a value of 1 when the hall call from the passenger i is assigned to the elevator car c, and 0 otherwise, and that all N·C indicator variables are collected in a decision vector x=[x11, x21, . . . , xN1, x12, x22, . . . , xN2, . . . , x1C, x2C, . . . , xNC].
According to aspects of the present disclosure, Wherein the greedy optimization algorithm includes a O(CN2), that is, linear in a number of elevator cars C and quadratic in a number of hall calls by passengers N, and includes a property of submodularity of an objective function. Wherein for each step, all remaining unassigned hall calls by passengers are considered sequentially in time, and are initially added to each elevator car successively, and for every combination of a hall call and an elevator car, the SPD of all hall calls assigned, plus the new hall call assigned at the initial step are then calculated, and any combination of the hall call initially added with the elevator car that increases the SPD least, then the hall call is assigned to that elevator car, and removed all the remaining unassigned hall calls, and then continues to the next step.
According to aspects of the present disclosure, historical elevator system data originates from a user, and is stored in a memory in communication with the processor. The historical elevator system data can be data relating to elevator systems including similar elevator systems of the present disclosure, as well as instructional data
According to aspects of the present disclosure, further comprising: initiating to start to implement the method by accepting the hall call data and to be received by the input interface is by a user input provided on a surface of at least one user input interface in communication with the processor and received by the processor
According to aspects of the present disclosure, further comprising: using a user input provided on a surface of at least one user input interface both in communication with the processor and received by the processor via the input interface for controlling movement of the plurality of elevators based upon an abnormal event. The abnormal event can include an event that disrupts operation of the plurality of elevators causing an unsafe environment to cargo and passengers on the elevators
The above-described embodiments of the present disclosure can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. Use of ordinal terms such as “first,” “second,” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements
Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.
Number | Name | Date | Kind |
---|---|---|---|
7484597 | Nikovski et al. | Feb 2009 | B2 |
7546905 | Nikovski et al. | Jun 2009 | B2 |
9834405 | Nikovski | Dec 2017 | B2 |
20030221915 | Brand | Dec 2003 | A1 |
20070221454 | Nikovski | Sep 2007 | A1 |
20070221455 | Nikovski | Sep 2007 | A1 |
20120197868 | Fauser | Aug 2012 | A1 |
20120267201 | Brand | Oct 2012 | A1 |
20160130112 | Nikovski | May 2016 | A1 |
20160289042 | Fang | Oct 2016 | A1 |
20160289043 | Fang | Oct 2016 | A1 |
20170369275 | Saraswat | Dec 2017 | A1 |
Number | Date | Country |
---|---|---|
WO 2014198302 | Dec 2014 | WO |
Number | Date | Country | |
---|---|---|---|
20180251335 A1 | Sep 2018 | US |