Fair and Effective Elevator Car Dispatching Method in Elevator Group Control System using Cameras

Fair and Effective Elevator Car Dispatching Method in Elevator Group Control System using Cameras

Available online at www.sciencedirect.com Available online at www.sciencedirect.com Available online at www.sciencedirect.com ScienceDirect Procedi...

557KB Sizes 0 Downloads 58 Views

Available online at www.sciencedirect.com Available online at www.sciencedirect.com

Available online at www.sciencedirect.com

ScienceDirect

Procedia Computer Science 00 (2019) 000–000 Procedia Computer Science (2019) 000–000 Procedia Computer Science 15900 (2019) 455–464

www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia

23rd International Conference on Knowledge-Based and Intelligent Information & Engineering 23rd International Conference on Knowledge-Based Systems and Intelligent Information & Engineering Systems

Fair Fair and and Effective Effective Elevator Elevator Car Car Dispatching Dispatching Method Method in in Elevator Elevator Group Control System using Cameras Group Control System using Cameras Tomoki Yamauchiaa , Rina Ideaa , Toshiharu Sugawaraa,∗ Tomoki Yamauchi , Rina Ide , Toshiharu Sugawaraa,∗ a

Department of Computer Science and Communications Engineering, Waseda University of Computer Science and Communications Engineering, Waseda University

a Department

Abstract Abstract We propose a control method for an elevator group control system to allocate elevator cars for all types of passengers, including We propose a control an elevator control system to allocate elevator for allwheelchairs, types of passengers, general passengers andmethod specialfor passengers whogroup are likely to be unfairly treated (e.g., withcars strollers, or bulky including luggage), general passengers and special passengers who are likely to be unfairly treated (e.g., with strollers, wheelchairs, or move bulky vertically luggage), in order to achieve fair waiting times as well as efficient transportation. Elevators are necessary for people to in orderhigh-rise to achieve fair waiting as wellofaselevator efficientcars transportation. arecarefully necessary for people move vertically within buildings. Since times the number is fixed, theyElevators have to be controlled for to effective dispatch. within high-rise Since the number of elevator fixed, they have towho be carefully controlled foroften effective dispatch. Furthermore, duebuildings. to the limited capacities of elevator cars,cars someisspecial passengers require more space are forced to wait Furthermore, due to the limited capacities of elevator cars, some special passengers who require more space are often forced to wait much longer than general passengers for cars with sufficient empty space to arrive. These days, as cameras and other sensors that much longer than generalhave passengers carscommon, with sufficient emptytospace to arrive. Theseindays, as cameras other sensors monitor the environment becomefor more and thanks the recent advances computer visionand technologies, we that can monitor have become moreand common, thanks to the recent advanceshalls. in computer technologies,gathered we can estimate the the environment number of waiting passengers the sizeand of their belongings in elevator By usingvision such information estimate the number of waiting and the size ofelevator their belongings in elevator halls. enables By using such information from muliple agents that monitorpassengers a specific elevator car or hall, the proposed control effective dispatch forgathered shorter from muliple agentstimes. that monitor a specific elevator elevator hall, the proposed control that enables dispatch for waiting shorter and fairer waiting Experimental results usingcar theorsimulated elevator control showed our effective method could make and times. total Experimental using the simulated elevator that our method could waiting timesfairer fairerwaiting and achieved efficiencyresults to carry passengers. We discuss the control reasons showed for the improvement as well as make the limitation times and achieved total efficiency to carry passengers. We discuss the reasons for the improvement as well as the limitation of ourfairer method. of our method. c 2019 ⃝ 2019 The The Authors. Author(s). Published ElsevierB.V. B.V. © Published byby Elsevier c 2019 ⃝ The Author(s). Published Elsevier B.V. This is an open access article underbythe CC BY-NC-ND BY-NC-ND license license (https://creativecommons.org/licenses/by-nc-nd/4.0/) (https://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access article under the CC BY-NC-ND Peer-review under under responsibility responsibility of of KES KES International. International. license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of KES International. Keywords: Multi-agent systems; Elevator group control system; Fairness; Cameras; Sensors Keywords: Multi-agent systems; Elevator group control system; Fairness; Cameras; Sensors

1. Introduction 1. Introduction With the increase of high-rise buildings, elevators have become indispensable as a means of vertical transportation. With the increase high-rise buildings, elevators have become means of vertical transportation. Multiple elevators areofusually installed but they are limited in termsindispensable of the numberasofa people who use them, especially Multiple elevators are usually installed but they are limited in terms of the number of people who use them, during peak times, so intelligent elevator car dispatch by an elevator group control system (EGCS), which isespecially a control during times, so intelligent elevator carbasis dispatch by calls an elevator group control system (EGCS), which is aand control system peak for transporting passengers on the of car (i.e., pushing destination buttons inside cars) hall system for transporting passengers on the basis of car calls (i.e., pushing destination buttons inside cars) and hall calls (i.e., pushing the direction buttons generated upon arrival of passengers in elevator halls), is required for efficient calls (i.e., pushing the direction buttons generated upon arrival of passengers in elevator halls), is required for efficient ∗ ∗

Corresponding author. Email: [email protected] ; fax: +81-3-5286-2596. Corresponding Email: [email protected] ; fax: +81-3-5286-2596. E-mail address:author. [email protected], [email protected] E-mail address: [email protected], [email protected] c 2019 The Author(s). Published by Elsevier B.V. 1877-0509 ⃝ c 2019 1877-0509 ⃝ The Author(s). Published by Elsevierlicense B.V. (https://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access under the CC BY-NC-ND 1877-0509 © 2019 Thearticle Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of KES International. This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under of KES International. Peer-review underresponsibility responsibility of KES International. 10.1016/j.procs.2019.09.200

456

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

transportation. Unfortunately, it is quite difficult to calculate optimal solutions for the hall call assignment problem in elevator systems, because the EGCS must deal with many uncertain factors, such as the number of passengers waiting in the halls, and their destination floors, and the number of passengers arriving in the future [5]. This is thus considered an NP-hard problem to obtain the optimal solutions [6]. At the same time, with the recent rise of image recognition technology, the accuracy of estimating the number of people by cameras has been improved. Therefore, we can assume that using the estimated number of people at halls and inside cars captured by cameras can be helpful for the EGCS to reduce the uncertainty. In addition, because the cost of installing and maintaining cameras is currently not so expensive, the assignments of cars to respond to hall/car calls by using the camera information is definitely feasible. In fact, Patel [10] and Chou et al. [3] proposed methods of controlling elevators by taking into account the occupation amount or the number of passengers acquired from cameras. An additional problem that the EGCS should consider is special passengers (or unfairly treated passengers) who require more space than other general passengers to get on elevators and so need special attention, such as persons using wheelchairs and families with strollers. These special passengers often have to wait a very long time, especially when things are crowded, due to insufficient space in elevators. Furthermore, such special passengers also have difficulty using stairs and escalators. As a result, unfairness of the waiting time, which begins when they arrive at the elevator halls and ends when they can get on the elevator cars for the destination floors, arises between general and special passengers. Of course, it is possible that other passengers will defer to these special passengers and make space, but as the number of special passengers waiting on different floors is uncertain, such a problem cannot be solved by conscientious behavior alone. In the light of the above, we propose a multi-agent control method that uses the number of passengers and occupancy estimated by cameras in order to improve both efficiency and fairness in elevator waiting time for both general and special passengers. First, we model the passengers with consideration of the required spaces by assuming that special passengers will have big belongings such as strollers and baggage but other general passengers will not. Then, we propose an EGCS based on our passenger models to shorten and achieve fairness of the average waiting time (AWT) of all passengers. The EGCS consists of a number of agents that monitor the cars and halls continuously and calculate the necessary information. Note that we aim at fair riding rather than treating special passengers preferentially. Next, we experimentally evaluate our method using simulated environments by comparing it with the conventional method proposed by Chou et al. [3]. The results show that our method can achieve the same or shorter AWT than the conventional method in any traffic pattern of elevators, even if we assume that only general passengers appear. Furthermore, with the mixed passenger models, our method can achieve the fairer as well as shorter AWT even in crowded situations. 2. Related Work There have been many studies on EGCS conducted so far, but most of them focus on the installation and maintenance costs and the trade-off between energy efficiency and carrying capacity. For example, Zhang and Zong [11] proposed scheduling methods to reduce energy consumption during peak times such as the morning rush hour. Chen et al. [2] analyzed acceleration and deceleration methods to reduce energy consumption based on a mathematical model in a simulated environment. However, those are system- and machine-oriented methods, while the focus of ours is passenger convenience. Of course, there are some studies that have discussed way of reducing passengers’ mental stress, waiting time, riding time, and degree of congestion [6, 4, 9, 5]. For example, Munoz et al. [9] introduced five dispatching algorithms and proposed a method to adaptively use one of these algorithms for improving efficiency. Crites and Barto [5] discussed the control of multiple elevator cars using a multi-agent system like ours, but their system tried to individually learn the car dispatch strategy based on the patterns of cars and hall calls by using multi-agent reinforcement learning with artificial neural networks. Due to uncertainty in terms of the number of passengers, the improvements in such studies have been limited. Thanks to the advances in image and face recognition technologies, we can now estimate the number of passengers in elevator cars and halls [8]. Kim and Moon [7] proposed a dispatching method based on the estimated number of passengers and the arrival distribution observed in the past. However, their method used the information from cameras only when hall calls were activated, and thus it could not take full advantage of the real-time nature of the cameras.



Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

457

Recently, Chou et al. [3] proposed an implementation of EGCS that considers the occupied space in elevator cars and the number of passengers in elevator halls acquired from cameras. However, they did not discuss the fairness and efficiency between general and special passengers. 3. Model and Problem Setting 3.1. Elevator System Model Our model to control elevators in a high-rise building consists of a building, several elevators, elevator halls on all floors, and cameras that are installed in the halls and cars. The building has N(≥ 2) floors and M(≥ 1) elevators that are denoted by E = {e1 , . . . , e M }, where em is the m-th elevator car. The building has a building control agent (BC agent) that manages other agents working for individual elevator operations. The elevator hall on the n-th floor, which is denoted by Hn , has a hall control agent (HC agent) that controls and analyzes data from the camera on Hn . We identify the HC agent for the n-th floor with Hn unless otherwise stated. We assume that cameras can distinguish general and special passengers who have extra belongings and can estimate the number of passengers and the required occupancies for them. We define the main floor HNg (where 1 ≤ Ng ≤ N) that corresponds to the floor with the (main) entrance. Note that because the building may have basement floors, the lowest floor H1 may not be the main floor. We introduce the discrete time t ∈ Z+ (time unit: tick), where Z+ is the set of positive integers; then, we assume that all activities, such as movements of elevators, appearance of passengers, and getting on and off elevators, proceed by every unit time. Elevator hall Hn has up and down buttons and by pushing them, hall calls that request moving up or down for the destination floors are generated and the light of the pushed buttons turns on. Because there may be multiple passengers in the hall, it is probable that both up and down buttons will be lit up but their destination floors may differ. The states down of the hall calls on the n-th floor at time t are denoted by hup n,t and hn,t , with values of 1 if they are pushed and 0 otherwise. Note that H1 has only an up button and HN has only a down button. After a hall call h∗n,t0 turns to 1 at t0 , it returns to 0 only when an elevator car moving to the requested direction arrives at floor Hn at t1 (t0 ≤ t1 ), where * indicates up or down. The m-th elevator car em has an elevator car control agent (EC agent) that manages the information on the m-th elevator, so we also identify the EC agent with em . This agent can estimate the number of passengers and the size of the empty space (or the occupancy of passengers) inside the car by using the visual information from the camera(s) (and weight sensor(s) if possible). EC agent em receives signals from the buttons in the car, called car calls, with which passengers inside specify their destination floors. The state of the car call to the n-th floor at time t is denoted by cnm,t and it turns to 1 by pushing the relevant button. Then, em identifies the request to move to and stop at Hn . It will return to off (turns to 0) when em arrives at Hn . The specification of em is expressed by (Cm , Vm , S m ), where Cm is the maximum occupancy determined by the combination of total weight and space, Vm is the speed [tick/floor], and S m is the stop time from the time the doors open to the close. Of course, Vm and S m vary depending on factors such as the number of floors that are not stopped at and the numbers of passengers getting on/off, but we assume a constant value for approximation to simplify our experiments. The EC agent for em also has the route lists R1m and R2m , whose elements are the assigned hall calls h∗n,t or the car calls cnm,t pushed in car em . The details of Rlm are described later. 3.2. Patterns of Passenger Flow Passengers are assumed to arrive at halls based on a certain distribution, such as a Poisson or Pareto distribution. We consider four typical patterns of passenger flow: up-peak, down-peak, lunch-peak, and inter-floor [1]. The up-peak flow pattern is usually observed when people are going to work and almost all people get on at the main floor and go up to their offices/rooms. Conversely, the down-peak flow pattern appears when people are leaving the office and many people go from all floors to the main floor. The lunch-peak pattern is a mixture of up-peak and down-peak flows. Finally, in the inter-floor flow pattern, almost all people move from floor to floor randomly. Let p ∈ N be the average number of passengers appearing per unit time. Then, we define the ratio of the number of special passengers to that of all passengers by 0 ≤ θ s ≤ 1.

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

458

4. Proposed Method 4.1. Model of Passengers with Occupancy First, we assume that the waiting passengers ride on a first come, first served basis, i.e., in the order of arriving time at each elevator hall, regardless of passenger type. When overloading occurs, the head passenger of the waiting queue generates a hall call right after the current full elevator car has departed if it is not lit up. We denote the waiting queue in the elevator hall on the n-th floor as Qn . A passenger is modeled with its occupancy required to ride, which is denoted by ok for passenger k. The size of occupancy consists of the average size of the passenger o p and his or her belongings obk , ok = o p + obk ,

(1) p

where the required space for o is assumed to be identical for all passengers. The sizes of general passengers’ belongings can be ignored (obk = 0), but those of special passengers are often larger than the sizes of o p . Although we mentioned that passengers ride on an elevator car according to the order of the waiting queue, when the remaining free capacity is not enough for the next special passenger k ∈ Qn , general passengers after k in Qn will ride ahead. 4.2. Estimation of Occupancy using Camera We assume that agents with recent vision/face recognition technologies can estimate the number of people and the sizes of their personal belongings in a certain area. Therefore, HC agent Hn knows the approximate number of passengers with their belongings and EC agent em estimates the size of its empty space by combining the estimated number of passengers in its car with the information about the weights. Let Ptem be the set of passengers in elevator car em at time t. Then, the EC agent calculates the current occupied ∑ space at time t as Otem = k∈Ptem ok . Note that if Ptem = ∅, then Otem = 0. The EC agent calculates Otem right after its door is closed. The elevator’s free space size is the number of further passengers allowed to get on, which is determined by the number of riding passengers and/or the maximal weight capacity. Therefore, the free space size at t, Fet m , is given by Fet m = Cm − Otem ,

(2)

where Cm is the maximum occupancy of elevator em . HC agent Hn periodically checks the number of passengers waiting in the elevator hall of the n-th floor to maintain the required space to ride. We denote the set of passengers waiting in the elevator hall of the n-th floor by PtHn . Then, ∑ when PtHn  ∅, Hn calculates the required spaces for waiting passengers OHn ,t = k∈PtH ok . The value of OHn ,t is n maintained when new passengers arrive at Hn . When and after the hall call turns to 1, the HC agent estimates the up down down turns occupancies required by passengers who are willing to go up or down, Oup Hn ,t and OHn ,t . When only hn,t or hn,t to 1, HC agent Hn becomes active and sets down Oup Hn ,t = OHn ,t and OHn ,t = 0 down OHn ,t = OHn ,t and Oup Hn ,t = 0

down [if hup = 0] n,t = 1 and hn,t up [if hn,t = 0 and hdown = 1]. n,t

Suppose that a number of new passengers who arrive until t1 = t0 + b after Oup Hn (where t0 is the time when Hn down ∗ reported Ohn to the BC agent last time and b is the interval of recalculation ) and still only one of hup n,t1 and hn,t1 is 1. up t0 ,t1 down Let PHn be the set of passengers arrived during [t0 t1 ]. Then, OHn ,t1 or OHn ,t1 is updated, as ∑ ∑ up down down ok (if hup ok (if hdown Oup n,t1 = 1). n,t1 = 1) or OHn ,t1 = OHn ,t0 + Hn ,t1 = OHn ,t0 + t ,t

k∈PH0n 1

t ,t

k∈PH0n 1

up In contrast, when both hup n,t and hn,t turn to 1 almost simultaneously, since the HC agent cannot decide the directions of passengers, it divides the passengers evenly, as down Oup Hn ,t = 1/2 × OHn ,t and OHn ,t = 1/2 × OHn ,t .

(3)



Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

459

up t0 ,t1 When hup n,t0 and hn,t0 are both 1 and passengers PHn arrive at the hall during [t0 , t1 ], the HC agent updates up Oup Hn ,t1 = OHn ,t0 + 1/2



t ,t k∈PH0n 1

down ok and Odown Hn ,t1 = OHn ,t0 + 1/2



ok .

t ,t k∈PH0n 1

up down Note that Oup Hn ,t and OHn ,t may be non-integers; if so, the ceiling function is applied, i.e., the EC agent uses ⌈OHn ,t ⌉ and ∗ ⌈Odown Hn ,t ⌉, instead. The HC agent Hn also updates OHn ,t right after the dispatched car leaves.

4.3. Flows of Information and Control When the hall call h∗n,t turns to 1 at time t, the HC agent on the n-th floor sends h∗n,t with the estimated occupancy to the BC agent. Then, the BC agent sends h∗n,t to all EC agents and requests the data to calculate the values of the elevator car dispatching priority (described in Section 4.5). On the basis of the calculated priority values, the BC agent decides the elevator car(s) that should be dispatched for h∗n,t . When multiple hall calls occur simultaneously, the BC agent performs the dispatching processes one by one in accordance with the descending order of O∗Hn ,t . After the hall call h∗n,t0 that was sent to the BC agent at t0 , O∗Hn ,t may increase over time if new passengers arrive at the n-th floor. When at a certain time t1 (> t0 ) the condition O∗Hn ,t

O∗Hn ,t1 ≥ O∗Hn ,t0 + Oα

(4)

is satisfied, HC agent Hn sends h∗n,t1 and O∗Hn ,t1 to the BC agent again to decide whether or not more cars should be dispatched for h∗n,t1 , where Oα is the threshold for requesting the revisit by HC agents. The BC agent investigates the increased amount of occupancy, O∗Hn ,t1 − O∗Hn ,t0 , and the remaining empty space of the elevator car that was previously assigned for h∗n,t0 . Then, the BC agent dispatches another elevator car for h∗n,t1 , if necessary. The details are described in Section 4.6. Hn also reports them to the BC agent when the dispatched car leaves. 4.4. Route Lists of Elevator Cars The route lists Rlm (l = 1 and 2) for elevator car em determine the order of stopping floors and are maintained by each EC agent. We use the same-direction-first-serve (SDFS) policy for the route decision, as follows. Initially, Rlm = ∅ and em remains at rest. When a car call cnm,t0 occurs at t0 , the EC agent em adds it to R1m = {cnm,t0 } and moves up or down depending on the requested floor n. If a car call cnm,t0 occurs when em is moving, we can consider two cases: if the floor n is in the current direction, cnm,t0 is added to R1m and this list is sorted by the order of the moving direction; otherwise, cnm,t0 is added to R2m and it is sorted by the reverse order of the moving direction. When the dispatch for hall call h∗n,t1 is requested by the BC agent, em also attempts to add it to R1m or R2m depending on the current moving direction in the same way if h∗n,t1 does not exist in this route list. If it exists, em ignores the hall call. If the same floor is also already requested by car call cnm,t0 , h∗n,t1 is added right after cnm,t0 (so, t0 < t1 ) in R1m or R2m . Conversely, when cnm,t0 occurs and h∗n,t1 is already in R1m or R2m , cnm,t1 is added right before h∗n,t1 (t0 > t1 ). When em arrives at the n-th floor, cnm,t0 and/or h∗n,t1 are removed from R1m . In addition, if h∗n,t1 is in R1m , em notifies the BC agent that it is arriving at the n-th floor with the required direction. Then, if R1m becomes empty and R2m  ∅, R1m is immediately set to R2m and R2m is set to be empty; then, em moves to the floor specified by the head element of R1m . If R1m = R2m = ∅, em stops at the current floor. Note that when em arrives at the highest or lowest floor, R1m becomes empty, and then, em changes the direction by setting R1m = R2m and R2m = ∅, or stops at the current floor (so R1m = R2m = ∅). 4.5. Elevator Car Dispatching Priority The BC agent decides which elevator car(s) should be dispatched for the current hall call on the basis of the values of dispatching priority using the data sent from all elevator cars. We propose the combination of two priority values for this decision: priority based on the estimated waiting time (PWT) and priority based on the remaining empty capacity (PEC).

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

460

4.5.1. Priority Based on Estimated Waiting Time Immediately after the BC agent receives the new hall call h∗n,t0 , it sends the call to em (for 1 ≤ ∀m ≤ M) and requests the calculation of the estimated waiting time Wm (h∗n,t0 ) if it would be assigned to em . The EC agent em calculates it as follows. If R1m is empty (so em stops now at the current floor fc ), it calculates the number of moving floors dm , which is the difference between the current floor fc and the requested floor n; dm = | fc − n|. Then, the number of stop floors T m is set to 0. When route list R1m is not empty, em temporarily adds a virtual car call; if the current direction based on R1m is up (or N (or c1m,t ) is temporarily added into the tail of R1m (unless it is not already in R1m ) to calculate the estimated down), cm,t time for the worst case due to late car calls to the highest (lowest) floor. We consider two cases. First, if the floor n is on the way to the final floor in R1m , em also temporarily add the h∗n,t0 . Then, it calculates the number of moving floors dm as | fc − n|. The EC agent em also counts the number of stop floors from the current floor fc to the n-th floor based on R1m and sets the result to T m . If the floor n is not on the way to the current direction, em temporarily adds the h∗n,t0 to R2m and sorts it in accordance with the reverse order of the current moving direction. Then, dm is set as the distance from the current floor to the destination floor n via the final floor specified by R1m : dm = | fc − Km | + |Km − n|, where Km (= 1 or N) is the highest (lowest) floor specified by the tail element in R1m and the head elements in R2m . The number of stop floors T m is set to the number of stop floors specified by R1m plus the number of stop floors from Km to n specified by R2m . Then, em calculates the estimated waiting time W m (h∗n,t0 ) by W m (h∗n,t0 ) = dm · Vm + T m · S m and sends it to the BC agent. Then, the temporarily added car and hall calls are removed from the route lists. Note that if the route lists of em already contain h∗n,t′ (for ∃t′ < t0 ), em notifies the BC agent that it will ignore this hall call. After receiving the estimated waiting time from all EC agents, the BC agent calculates the priority values based on estimated waiting time for ∀em by m ∗ (hn,t0 ) = 1 − IW

W m (h∗n,t0 ) − minel ∈E W l (h∗n,t0 )

maxel ∈E W l (h∗n,t0 ) − minel ∈E W l (h∗n,t0 )

.

m ∗ m Note that IW (hn,t0 ) is normalized so that 0 ≤ IW ≤ 1.

4.5.2. Priority Based on Remaining Empty Capacity The BC agent also requests the estimated current empty space Fet m , which is obtained using Formula (2), and calculates the priority values based on the remaining empty capacity for ∀em by IFm (h∗n,t0 ) =

Fet0m − minel ∈E Fet0l

maxel ∈E Fet0l − minel ∈E Fet0l

.

m Note that IFm (h∗n,t0 ) is also normalized so that 0 ≤ FW ≤ 1.

4.6. Elevator Car Dispatch Control The BC agent attempts to assign elevator car(s) when a new hall call is notified or the number of waiting passengers increases using Condition (4). First, suppose that the new hall call at time h∗n,t is notified at t. The BC agent assigns car(s) by the following steps. Step 1: First, after requesting the necessary data from all EC agents, the BC agent calculates the priority of dispatch of em by m ∗ (hn,t ) + w2 IFm (h∗n,t ), I m (h∗n,t ) = w1 IW

where w1 and w2 (0 ≤ w1 , w2 ≤ 1) are the weights of two priority values such that w1 + w2 = 1.



Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

461

Step 2: If the elevator car em has more empty space than is required, i.e. 1 ≤ ∃m ≤ M s.t., O∗Hn ,t ≤ Fet m ,

(5)

then the BC agent chooses em0 that satisfies Condition (5) and whose I m0 (h∗n,t ) is the highest. Step 3: Otherwise, the BC agent chooses em0 whose I m0 (h∗n,t ) is the highest. The BC agent requests em0 to add h∗n,t to its route list and stores (em h∗n,t Fem O∗Hn ,t ), which will be removed when em arrives at the floor for h∗n,t . If em is chosen in Step 3, the BC agent checks whether O∗Hn ,t − Fet m − Oβ ≥ 0 (where Oβ (≥ 0) is the buffer value to avoid frequent calculation) and if so, it repeats the dispatch control from Step 1 for h∗n,t by changing the required occupancy to O∗Hn ,t ← O∗Hn ,t − Fet m in order to assign an additional elevator car. However, we introduce the upper limit D, which is a positive integer, and the BC agent does not assign more than D cars for a single hall call. This additional assignment is also done during waiting at the hall on the n-th floor when Condition (4) is satisfied, i.e., if O∗Hn ,t1 ← O∗Hn ,t1 − Fet m − Oβ and O∗Hn ,t1 > 0, the BC agent assigns another car by executing dispatch control from Step 1 unless D cars are already assigned. if O∗Hn ,t1 − Fet m − Oα ≥ 0 holds, O∗Hn ,t1 ← O∗Hn ,t1 − Fet m and Hn sends O∗Hn ,t1 to the BC agent. Then, the BC agent assigns another car by executing dispatch control from Step 1 unless D cars are already assigned. 5. Experiments and Discussion 5.1. Experimental Setting We conducted two experiments to evaluate our proposed control by comparing it with the one proposed Table 1. Parameter values used in experiments. in Chou [3], called the nearest car algorithm (NC alDescription Parameter Value gorithm), in which the EGCS dispatches the elevator No. of floors N 15 car with the highest priority if it has sufficient empty No. of elevator cars M 5 space by using information from cameras; otherwise, 20 Maximal capacity Cm the EGCS dispatches the nearest car. Therefore, an el2 Speed (tick/floor) Vm evator car will arrive earlier but may have less space. Time for stop (tick) Sm 8 In the first experiment, we assumed that all passen4 Main floor H Ng gers were general (θ s = 0), with the four passenger 1 Threshold for revisit Oα flow patterns described in Section 3.2, in order to ob10 Buffer value for recalculation Oβ serve the fundamental performance of the proposed No. of car dispatch D 1 method. Next, using the flows mixed with general and b 1 Interval of updating O∗Hn ,t special passengers with various ratios θ s , we evaluated the fairness in AWT for all passengers, where we set obk = 4 · o p . This definition seems slightly larger than the actual size of the belongings if we consider strollers or wheelchairs. However, we also have to consider the psychological oppressive feeling, i.e., extra space seems necessary for special passengers to ride on the elevator cars so as to avoid stress and/or inconvenience. We also set the weight w1 = w2 = 0.5 for priority calculation to investigate the basic features of our method. Other parameters used in the experiments are listed in Table 1. We also examined the average service time, which is the AWT plus the average riding time, but show only the AWT because the results are quite similar because we focus more on the fairness to get on cars for all types of passengers. More importantly, the mental burden of waiting time seems larger than the riding time. Note that we set D = 1, so only one car is assigned to each hall call (discussed later). The experimental results discussed below are the average values of 100 independent trials using different random seeds. We assumed that passengers arrive at halls on the basis of Poisson distributions P(X = k) = pk e−p /k!, where p is the passenger arrival rate. Thus, its average value and variance is p.

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

Average waiting time (AWT)

462



(a) Up-peak



(b) Down-peak



    



  













 







    Passenger arrival rate (p)





    Passenger arrival rate (p)







   



 

(d) Inter-floor









(c) Lunch-peak





 

   

 



   Passenger arrival rate (p)





    Passenger arrival rate (p)



Fig. 1. Average waiting times (θ s = 0).

5.2. Performance Evaluation for Pure Flow Figure 1 plots the AWTs for pure flows (i.e., all general passengers) of four flow patterns when passenger arrival rate p was varied from 0 to 1. This figure indicates that the AWTs by the proposed method were almost always smaller than those by the conventional method. In the conventional method using the NC algorithm, the nearest elevator cars were likely to be assigned when crowded, so many passengers were forced to wait a long time because the primary target direction was one way (Fig. 1(a) and (b)). However, with the lunch-peak and inter-floor flows (Fig. 1(c) and (d)), AWTs were almost identical due to the randomness and uncertainty in passenger destinations. 5.3. Fairness between General and Special Passengers The experimental results in the second experiment exhibited quite a different phenomenon. In the mixed flows, whose ratio of special passengers θ s was 0.1, the AWTs using the proposed method were much smaller than those using the conventional method in all flow patterns. The AWTs of all passengers when using the conventional and proposed methods are plotted in Fig. 2(a)–(d), where we set θ s = 0.1 and varied p between 0 and 1. We can understand the reason for this phenomenon from Fig. 2(e)–(h), which plots the difference of the AWT between general and special passengers appearing with the four patterns of mixed flows in the same experiment. In the conventional method, the special passengers were forced to wait for a long time because the NC algorithm allocated the nearest car to arrive at the floor of the hall call and did not take into account the empty space when it was crowded even if it used the information from cameras. Therefore, the differences of AWTs rapidly increased in accordance with the increase of p. In addition, the differences of AWTs in the conventional method fluctuated even though the results were the average values of 100 trials; this means that the waiting time of special passengers depended heavily on chance. In contrast, the EGCS with the proposed method attempted to dispatch the cars that had sufficient empty spaces for the estimated required occupancies of the requested hall calls. Even if it was impossible, it gave a higher priority based on the combination of estimated amount of empty space (PEC) and estimated arrival time (PWT). This improved the fairness in terms of waiting time. The difference of the AWTs in the inter-floor flows was significantly larger than those in other flows both in the conventional and proposed methods. For example, as most of all passengers moved up in the up-peak flow, the cars arriving at the main floor were almost all empty, so all types of passengers could ride on them except in situations where several passengers rode on the floors lower than the main floor. On the other hand, in the inter-floor flow, especially when it was crowded, the available space in cars was usually not enough. Even when the EGCS dispatched a car that had enough space, it was possible that it became full of passengers entering on other floors before arriving at the floor where special passengers were waiting. In this situation, the proposed method could considerably reduce the AWT for all types of Table 2. Average waiting times (θ s = 0.1, p = 0.9, inter-floor). passengers, as it considers extra space for the beDispatch method AWT Difference in AWTs longings of special passengers while the convenProposed method 97.4 15.7 tional method does not. To clarify the effect of Proposed method (obk = 0) 122.0 17.7 the inclusion of extra space in the car dispatch Conventional method 597.6 78.9 decision, we investigated the AWTs when omitting the size of belongings, i.e., obk = 0 in our

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

Average waiting time (AWT)



(a) Up-peak 

 (b) Down-peak





   

















     Passenger arrival rate (p)



  

   



(d) Inter-floor 



   

 

(f) Down-peak







   

 



   Passenger arrival rate (p)



(g) Lunch-peak



   

    Passenger arrival rate (p)



(h) Inter-floor 



   













 











    Passenger arrival rate (p)



     Passenger arrival rate (p)



 

   

    



(e) Up-peak Difference of AWT (tick)

   

 

(c) Lunch-peak 

 





463



 



 

    Passenger arrival rate (p)



 



   Passenger arrival rate (p)





    Passenger arrival rate (p)



Fig. 2. Average waiting times and differences (θ s = 0.1).

method. The results are listed in Table 2, where θ s = 0.1, p = 0.9, and the flow pattern is inter-floor, which was the worse case from the viewpoint of the fairness of AWT, where p = 0.9 corresponds to a very busy situation. This table suggests that although the dispatching using the estimated sizes of belongings was effective, the use of camera information was more important. Even if we could use the estimated size of belongings, we could not control the behaviors of passengers entering from other floors, and therefore we were often not able to retain sufficient space. A possible solution is to allocate elevator cars with as much empty space as possible as we do in our method.

Finally, we examined how the difference of AWT changes in accordance with the ratio of special passengers θ s . Figure 3 plots the difference when θ s was varied from 0 to 0.5 using our method (when p = 2/3), which corresponds to a moderately crowded situation. This figure indicates that the difference in AWTs between special and general passengers was kept low when θ s ≤ 0.2. We believe that a situation where θ s > 0.2 would almost never occur, but we confirmed that the difference in AWT would be kept low compared with when using the conventional method. 5.5. Discussion

Difference of AWT (tick)

5.4. Robustness of Fairness

  

 

   

    

    Ratio of special passenger (θs )



Fig. 3. Differences in average waiting times (0 ≤ θ s ≤ 0.5).

We have experimentally demonstrated that our proposed elevator control method could improve both the efficiency and fairness of elevator passenger transportation by taking advantage of information from cameras. Although systems that attempt to improve transportation using cameras already exist, because our method fully utilizes the information in the images, it can achieve more desirable dispatch for elevator cars. One important finding in our experiments is that giving higher priority to an elevator car that has more empty space increases both efficiency and fairness in terms of the waiting time. On the other hand, we did uncover a number of issues that should be tackled in the future. First, we have to decide whether PWT or PEC should be given more weight by balancing w1 and w2 , which should be determined adaptively, e.g., by taking into account the flow patterns and passenger arrival rate. To achieve this, we should provide heuristics or learning methods to determine the weight values through actual operation.

464

Tomoki Yamauchi et al. / Procedia Computer Science 159 (2019) 455–464

Second, we should devise a method to determine how many cars should be dispatched, which is specified by D in our model. Although not mentioned in the previous sections, we examined the efficiency when multiple cars were assigned by setting D > 1 only when many passengers waited in an elevator hall. However, the improvement was quite small and often even lowered. We feel this is due to uncertainty about the directions in which the passengers wanted to move. To really improve the efficiency, we have to consider an adaptive calculation of the estimated required space, O∗hn , tailored to other information such as the flow patterns of passengers, the passenger arrival rate p, and the ratios of special passengers to general passengers in each hall. The EGCS with our proposed method can be applied in almost any building, especially high-rise buildings that have multiple elevator cars. It is applicable to another realistic situation as well: we can integrate it into the navigation system for large-scale shopping malls/centers by operating elevators in accordance with the planned movements of customers, especially for families with strollers or customers with bulky purchased items. 6. Conclusion We have described a multi-agent system with a proposed elevator control method to achieve efficiency and fairness for both general and special passengers who are often unfairly treated due to the extra space required for their belongings. Elevator cars and elevator halls are managed individually by agents that process camera images to estimate the number of passengers, the size of empty spaces, and the number of passengers who are going to upper or lower floors. Then, we introduced a priority to dispatch car(s) to the hall calls that is based on the combination of estimated empty space and the estimated waiting time for arriving at the requested floor. By comparing the AWTs of the proposed method with those of a conventional method, we found that our method could achieve a fairer AWT for different types of passengers. If we compare the AWTs of general and special passengers, the special passengers still have to wait for a slightly longer time, but we believe such small inconvenience can be eliminated by general passengers acting with deference. To improve the efficiency and fairness even more, we will investigate the learning methods to determine the weights w1 and w2 used in the priority calculation. We also plan to adaptively decide the estimated number of passengers in elevator halls depending on the flow patterns. References [1] Barney, G., Al-Sharif, L., 2015. Elevator Traffic Handbook: Theory and Practice. 2 ed., Taylor & Francis. [2] Chen, K.Y., Huang, M.S., Fung, R.F., 2014. Dynamic modelling and input-energy comparison for the elevator system. Applied Mathematical Modelling 38, 2037–2050. [3] Chou, S.Y., Budhi, D.A., Dewabharata, A., Zulvia, F.E., 2018. Improving elevator dynamic control policies based on energy and demand visibility, in: 2018 3rd International Conference on Intelligent Green Building and Smart Grid (IGBSG), IEEE. pp. 1–4. [4] Cort´es, P., Onieva, L., Mu˜nuzuri, J., Guadix, J., 2013. A viral system algorithm to optimize the car dispatching in elevator group control systems of tall buildings. Computers & Industrial Engineering 64, 403–411. [5] Crites, R.H., Barto, A.G., 1998. Elevator group control using multiple reinforcement learning agents. Machine learning 33, 235–262. [6] Fernandez, J.R., Cortes, P., 2015. A survey of elevator group control systems for vertical transportation: A look at recent literature. IEEE Control Systems 35, 38–55. doi:10.1109/MCS.2015.2427045. [7] Kim, J.H., Moon, B.R., 2001. Adaptive elevator group control with cameras, in: IEEE Transactions on Industrial Electronics, IEEE. pp. 377–382. [8] Liu, H., Qian, Y.L., Liu, Q., Li, J.T., 2008. Count passengers based on haar-like feature in elevator application, in: Proceedings ofthe Seventh International Conference on Machine Learning and Cybernetics, IEEE. pp. 1202–1206. [9] Munoz, D.M., Llanos, C.H., Ayala-Rincon, M., van Els, R.H., 2008. Distributed approach to group control of elevator systems using fuzzy logic and fpga implementation of dispatching algorithms. Engineering Applications of Artificial Intelligence 21, 1309–1320. [10] Patel, B., 2018. Smart elevator movement. US Patent App. 15/332,617. [11] Zhang, J., Zong, Q., 2013. Energy-saving scheduling optimization under up-peak traffic for group elevator system in building. Energy and Buildings 66, 495–504.