• No results found

Constructing a Scheduling Algorithm For Multidirectional Elevators

N/A
N/A
Protected

Academic year: 2022

Share "Constructing a Scheduling Algorithm For Multidirectional Elevators"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

DEGREE PROJECT, IN COMPUTER SCIENCE , FIRST LEVEL STOCKHOLM, SWEDEN 2015

Constructing a Scheduling Algorithm For Multidirectional Elevators

JOAKIM EDLUND, FREDRIK BERNTSSON

(2)
(3)

Constructing a Scheduling Algorithm For Multidirectional Elevators

JOAKIM EDLUND, FREDRIK BERNTSSON

Degree Project in Computer Science, DD143X Supervisor: Danupon Nanongkai

Examiner: Örjan Ekeberg

(4)

Abstract

With this thesis we aim to create an efficient scheduling algorithm for elevators that can move in multiple directions and establish if and when the algorithm is efficient in comparison to algorithms constructed for traditional elevator algorithms.

To measure efficiency, a simulator is constructed to simulate an elevator system implementing different algorithms.

Because of the challenge of constructing a simulator and since we did not find either a simulator nor any algorithms for use in multidirectional elevator systems publicly, we decided to focus on these subjects.

The results in this thesis leads us to the conclusion that a multidirectional elevator algorithm is efficient to use under certain circumstances. If the traffic is concentrated to one floor in the building the multidirectional elevator system performs poorly but when the traffic is spread out it outperforms traditional elevators algorithms.

We hope that this research will inspire to further research in the area of multidirectional elevator systems.

(5)

Referat

Med denna rapport strävar vi efter att skapa en effektiv schemaläggningsalgoritm för hissar som kan åka i flera riktningar och fastslå om och när det är effektiv att använda en sådan, i jämförelse med algoritmer konstruerade för traditionella hissar som endast rör sig i två riktningar.

För att mäta effektivitet konstrueras en simulator för att simulera ett hissystem som använder sig av olika algoritmer.

På grund av utmaningen av att skapa en simulator och eftersom vi inte kunde finna varken en simulator eller någon publik algoritm som kan användas i ett flerriktat hissystem bestämde vi oss för att fokusera på dessa ämnen.

Resultaten i denna rapport leder till slutsatsen att en hiss som kan åka i flera riktningar är effektiv under vissa förhållanden. Om trafiken till hissen är koncentrerad till en våning i byggnaden kommer algoritmen prestera mindre bra men om trafiken är utspridd presterar den bättre än traditionella hissalgoritmer.

Vi hoppas att denna undersökning kommer inspirera fortsatt forskning inom området med flerriktade hissystem.

(6)

Contents

1 Introduction 1

1.1 Problem Definition . . . . 1

1.2 Problem Statement . . . . 2

1.3 Terminology . . . . 2

2 Background 3 2.1 Group Control . . . . 3

2.2 Group Control Examples . . . . 3

2.2.1 Nearest Car (NC) . . . . 3

2.2.2 Fixed Sectoring Common Sector System (FSO) . . . . 4

2.3 Measuring Performance . . . . 5

2.3.1 Average Waiting Time . . . . 5

2.4 Elevator Traffic Simulation . . . . 5

2.5 Existing Simulators . . . . 5

3 Method 6 3.1 Constructing the Simulator . . . . 6

3.1.1 Measuring Waiting Time . . . . 7

3.2 Test Data . . . . 7

3.2.1 Up-peak . . . . 7

3.2.2 Down-peak . . . . 8

3.2.3 Ordinary . . . . 8

3.3 Traditional Control Algorithm Implementation . . . . 8

3.3.1 Pseudo Code NC . . . . 9

3.3.2 Pseudo Code FSO . . . . 9

3.4 Optimisation of the NC Algorithm . . . . 10

3.5 Multidirectional Elevator Algorithm . . . . 10

3.5.1 Modified Nearest Car Calculation . . . . 11

3.5.2 Modified Sector Partitioning . . . . 11

3.5.3 Considerations . . . . 11

4 Results 12

4.1 The Constructed Simulator . . . . 12

(7)

4.2 Multidirectional Elevator Algorithm . . . . 13

4.2.1 Pseudo Code Implementation . . . . 14

4.3 Simulation Results . . . . 15

4.3.1 Traditional Algorithms . . . . 15

4.3.2 Multidirectional Algorithm . . . . 17

4.4 Comparison . . . . 20

5 Discussion 22 5.1 Efficiency . . . . 22

5.2 Algorithm Comparison . . . . 22

5.3 Possible Improvements . . . . 23

6 Conclusion 24

References 25

(8)

Chapter 1

Introduction

A traditional elevator is composed of shafts with elevator cars inside. The cars are connected to wires to make them able to move up and down in the shaft. Today, there mostly exist single shaft elevators with a single car, but systems with multiple shafts and cars are very common in larger buildings. Aside from the structure of the elevator they all share the same purpose to transport people from one floor in the building to another.

For large amounts of traffic the most common solution is to add parallel elevator shafts and use different sorts of group control algorithms to efficiently serve a lot of passengers.

However, recent development in technology has made it possible for future elevators to not only move vertically but also horizontally. As it has earlier been limited to the fact that the elevator cars move with wires, they can only move in two directions. Another downside is that high buildings become problematic due to the weight of the wire, so that there is a maximum height for a traditional elevator.

The new technology use magnetic levitation instead of wires and removes these restrictions. [1]

This will result in the possibility to create modern elevators, that can move in additional directions. This is interesting because the technology required to construct these kind of elevators has not existed very long, which means that there is considerably less research done in this area compared to traditional elevators.

1.1 Problem Definition

The purpose of this thesis is to study existing scheduling algorithms for traditional elevators mostly used today and use that knowledge to create an algorithm for a new kind of elevator capable of moving both vertically and horizontally. With less movement restrictions this will potentially be more efficient than old traditional elevators.

To measure efficiency of an elevator scheduling algorithm this thesis will show

results in average waiting time measured through traffic simulation. The simulation

(9)

CHAPTER 1. INTRODUCTION

will take different elevator traffic patterns in consideration to make the measured results more valuable. The invented algorithm will be compared to traditional scheduling algorithms to determine the efficiency of multidirectional elevators.

1.2 Problem Statement

The problem to be investigated is whether or not it is efficient to use an elevator system that can move in multiple directions instead of only moving upwards and downwards. The focus will be measuring average waiting time to determine the efficiency of the elevator model and different scheduling algorithms. It is expected to establish when it is efficient to use a multidirectional elevator rather than a traditional one. To summarise, the questions this thesis will be trying to answer are:

• Is it efficient to use an elevator that can move in multiple directions instead of traditional elevators?

• When is it more efficient?

1.3 Terminology

Car - The elevator car that transports passengers.

Shaft - The space in which the elevator cars travel.

Terminal floor - The floor where the entrance of the building is located.

General floors - Floors located above the terminal floor.

(10)

Chapter 2

Background

2.1 Group Control

Modern elevator systems are often composed of multiple elevator shafts and cars with the purpose of transporting passengers to their destinations in the building. In order to make the system operate efficiently and safely a group control is implemented.

The basic functionality of an elevator system group control is to appropriately coordinate the group of elevators by assigning cars to the incoming calls, sent by the passengers, and serving them as optimal as possible. [4]

2.2 Group Control Examples

There is a wide range of solutions to the elevator group control problem, however most existing group control algorithms are patented or kept secret by different elevator manufacturer companies. Many algorithms are based on the same principles.

Following are some of the fundamental algorithms mostly used as a starting point.

[5]

2.2.1 Nearest Car (NC)

The perhaps most basic solution used to solve the elevator scheduling problem is

the nearest car approach. It assumes that the person can choose to call for an

elevator to travel upwards and downwards. This means that the elevator will know

if the caller desires to move up or down when it receives the call. When the call

for an elevator is made a value called the figure of suitability (FS) is calculated for

each elevator in the same elevator group. The elevator with the highest FS will be

the elevator assigned to pick the person up. The FS is being calculated depending

on which state the elevator currently is in which results in four different rules. In

these rules d is the distance between the car and the landing floor, d=|car floor -

landing floor| and N is the number of floors. [5]

(11)

CHAPTER 2. BACKGROUND

1. FS = N + 1 - (d - 1) = N + 2 - d

This rule will come into effect if the elevator car is moving towards the landing call and the call is set in the same direction.

2. FS = N + 1 - d

This rule will come into effect if the elevator car is moving towards the landing call but the call is set to the opposite direction.

3. FS = 1

This rule will come into effect if the elevator car is already moving away from the landing call (the elevator is responding to some other call).

4. FS = N + 1 - d

This rule will come into effect if the elevator car is idle.

[5]

2.2.2 Fixed Sectoring Common Sector System (FSO)

FSO is a scheduling algorithm devised for dealing with off peak traffic. It divides the building into equally sized sectors equal to the number of elevator cars, except for the landing floor being its own sector. Every car will then have its responsibility to serve the landing calls in its assigned sector. If a sector above is considered vacant (the car with the responsibility for that sector is answering to a call) and it gets a call the elevator is allowed to serve the person in the sector above. In the special case of an elevator being the lowest occupied sector it will be allowed to answer a landing call in a vacant sector below it. If a lift leaves its sector it will be de-assigned from it and another elevator car can take its place. For an elevator car to be allowed to start or continue its movement it will have to be in response to:

1. Registered car calls.

2. Landing call registered in its sector.

3. Landing call in a vacant sector above and adjacent to the car’s assigned sector.

4. Landing call behind the car, assigned to an adjacent sector above, given the car is traveling upwards.

5. Landing call registered below the car if it is assigned to the lowest occupied sector.

[5]

(12)

CHAPTER 2. BACKGROUND

2.3 Measuring Performance

To determine which solution to the elevator group control problem is performing better the efficiency of it has to be measured. One way of measuring performance of an elevator system is to measure the average waiting time. This is a good metric to use when measuring elevator performance since this effectively reflects a passengers experience. [7]

2.3.1 Average Waiting Time

The waiting time is defined as the time period from the moment a passenger calls an elevator car to the moment when the elevator car arrives at the passenger’s floor.

This is the usual performance criterion when trying to optimise the performance of an elevator group control algorithm. [4]

2.4 Elevator Traffic Simulation

To simulate the traffic in an elevator system some different traffic patterns have to be considered to make the simulation more realistic. The different types of traffic patterns usually used for simulation are the following: Up-peak - The travel demand is focused from the terminal floor up to the general floors. Down-peak - The travel demand is focused from the general floors down to the terminal floor. Ordinary - The demand is random.

Earlier studies of typical office traffic shows that in the beginning of the workday a more up-peak traffic pattern is common and at the end of the workday the more common pattern is the down-peak traffic pattern. In the middle of the workday the ordinary traffic pattern seems to be more usual, except during lunch time where in the beginning of the lunch there is a down-peak traffic pattern and at the end of lunch an up-peak traffic pattern is more common. [2]. To simulate a complete workday the simulation has to combine these different traffic patterns. This will result in a more accurate simulation of a complete workday.

2.5 Existing Simulators

MCESim - An elevator simulator used to simulate an elevator system with multiple cars. [2]

Elevate - Elevator simulation software used to simulate traditional elevator system

with control algorithms and different buildings. [6]

(13)

Chapter 3

Method

To measure the performance of the constructed algorithms we need a simulator that can simulate elevator traffic, since it is not applicable to test new algorithms on real elevator systems. Most simulations done in previous studies are using software for traditional elevators. There is little or no examples of a simulator simulating traffic for elevators traveling in multiple directions. Therefore, to measure the multidirectional elevator algorithm in this thesis, a simulator is constructed. The simulator created during this thesis takes inspiration from the open source simulator MCESim.

3.1 Constructing the Simulator

Although the existing simulator MCESim is open source, the documentation is written in Japanese and the code base is large. It was therefore estimated that the overhead of rewriting MCESim to support two additional directions (left and right) would be heavier than writing our own simple simulator suited for the purposes stated in this thesis. However, the interface and class structure is inspired by MCESim. It is also written in Java.

The downside of using Java compared to a compiled language such as C is the performance. This is the same as with other high level interpreted languages and in this case is due to byte code. However, the run time performance of the simulator does not affect the output simulation results. This is because the measuring does not correlate with the run time of the program, but in simulation ticks. Therefore, the performance only affects the total run time of the simulation but not the outcome of it. Also, since the simulation is not applied to very large test data in this case, the difference in performance will be negligible.

The primary reason for choosing Java is because it is available on a large set

of operating systems which makes it easy to use in further researches and with

sufficient performance requirements. In addition, it is easy to prototype in java

thanks to the garbage collector that allows to avoid memory management.

(14)

CHAPTER 3. METHOD

3.1.1 Measuring Waiting Time

In order to calculate the average waiting time, every call remembers when it was created. When the passenger making the call is picked up, the call also registers the time. To calculate the waiting time for a single passenger the passenger’s pickup time is subtracted from the time of the passenger’s call creation. To get the average waiting time each passenger’s waiting time is summed up and then divided by the number of passengers that have been served by the elevator system during the simulation.

3.2 Test Data

To test the algorithms in this thesis, generated test data are used. The data is generated as passengers placed on floors. They make calls to inform the simulator where they want to go. The position of a passenger is defined by the traffic pattern used. In this thesis three different patterns are used.

Before starting the simulation, the test data is either generated or loaded from a file. It is saved in steps, where each step contains a list of passengers and their source and destination floors. Then, during the simulation the steps are continuously resolved and traffic are put into the elevator system.

By having different traffic patterns it follows that the test data will have more diversity. Therefore, we believe it will be easier to achieve better results and will also know if the algorithms have serious issues on some special type of test data.

3.2.1 Up-peak

As shown in figure 3.1, an example of the up-peak traffic pattern, it is clearly noted that the majority of the traffic occurs during the morning from the bottom floors traveling upwards.

Figure 3.1. Example of the up-peak traffic pattern. [5, p. 90]

Therefore, to generate the up-peak traffic, steps are generated according to the flow

in Figure 3.1. The time during the day is not of interest in this thesis, but to mimic

the different occurring patterns in an elevator system. During the up-peak in the

(15)

CHAPTER 3. METHOD

simulation we have chosen to have 80 percent of the generated people make calls from the terminal floor and have their stop-floor evenly randomised over the floors in the building. The rest will have their start and stop floors randomised. In none of the cases is the start-floor equal to the stop-floor.

3.2.2 Down-peak

The down-peak traffic is generated according to the flow in Figure 3.2. In contrast to up-peak the traffic instead occurs in the evening from the top floors traveling downwards.

Figure 3.2. Example of the down-peak traffic pattern. [5, p. 90]

Thus, the test data for down-peak in this thesis is generated by letting everyone’s start-floor be randomised over the floors in the building. 80 percent of the generated people have their stop-floor set to the terminal floor in the building and the rest will have it randomised. In none of the cases is the start-floor equal to the stop-floor.

3.2.3 Ordinary

The ordinary traffic pattern used as test data is supposed to simulate the traffic in between the peaks in the other patterns. As seen between morning and lunch in figure 3.1 and between lunch and evening in figure 3.2, the ordinary traffic is evenly spread out. The test data we use for this pattern is selected by letting each passenger have their start-floor and stop-floor randomised but can not be the same floor. [2]

3.3 Traditional Control Algorithm Implementation

These are the implementations created based on the studied traditional elevator

algorithm descriptions. The code calculates which elevator should answer a newly

created elevator call.

(16)

CHAPTER 3. METHOD

3.3.1 Pseudo Code NC

Call ← current call F S ← 1

N ← number of f loors

SelectedCar ← f irst car in building for Every car C in building do

d ← abs(C.location − Call.Location) if C is idle then

newF S ← N + 1 − d else if C is going down then

if Call is above then newF s ← 1

else if Call is below and Call direction is same as C then newF s ← N + 2 − d

else if Call is below and Call direction is not same as C then newF s ← N + 1 − d

end if

else if C is going up then if Call is below then

newF s ← 1

else if Call is above and Call direction is same as C then newF s ← N + 2 − d

else if Call is above and Call direction is not same as C then newF s ← N + 1 − d

end if end if

if newF S > F S then SelectedCar ← C F S ← newF S end if

end for

return SelectedCar

3.3.2 Pseudo Code FSO

Call ← current call for Every sector S do

if Call is in S then

SelectedCar ← S.assignedCar end if

end for

LowestSector ← f alse for Every sector S do

if S is not vacant and S is not highest sector then SectorAbove ← sector above S

if SectorAbove is vacant and Call is in SectorAbove then SelectedCar ← S.assignedCar

end if end if

if LowestSector = false and is not vacant then if S is not lowest sector then

SectorBelow ← sector below S

if SectorBelow is vacant and Call is in SectorBelow then

(17)

CHAPTER 3. METHOD

SelectedCar ← S.assignedCar end if

LowestSector ← true end if

end if end for

return SelectedCar

3.4 Optimisation of the NC Algorithm

The NC algorithm can be improved by forcing idle elevators go to floors with high traffic demand. For instance, during up-peak the terminal floor has a high traffic demand rate. If an elevator is idle high up in the building it can start to move downwards to the terminal floor, instead of waiting for a new call. This will reduce the time it takes for an elevator to serve a call coming from the terminal floor if the nearest elevator car is higher up in the building.

During down-peak the traffic demand is concentrated on going down. This means that idle elevators can reposition themselves to the middle of the building to increase the chance of shortening the distance to newly created calls.

These optimisations should probably lower the average waiting time.

3.5 Multidirectional Elevator Algorithm

When constructing the algorithm for a multidirectional elevator we had to define how such an elevator system would look like. To utilize the FSO and NC algorithms we decided it to be best to look at an elevator system that divides the entire building into a grid. For instance, a building with 30 floors could be made up of a grid that is 30 floors high and 5 shafts wide. If every square in the grid is considered a sector it would result in 150 different sectors in the elevator system. To put an elevator car on every single sector would end up in putting out 150 different elevators which would be unrealistically many. We decided to let sectors be divided the same way as in the traditional FSO algorithm, except for the situation of having more elevators than floors. In that case two elevators can share the same sector.

The difference in making a call between the traditional elevators and the multidirectional elevator is that in traditional elevators the caller can specify if it wants to go upwards

or downwards but in the case of multidirectional elevators the caller can also specify

that it wants to go sideways. In the multidirectional elevator system, a caller will

have a three button layout instead of a two button as in the traditional elevator

system. If the call is made to go sideways, the car assigned to that sector will always

handle the call but if the call is going upwards or downwards the nearest car will

be calculated to answer the call. This is the combination between the FSO’s and

the NC’s way of assigning an elevator to a call.

(18)

CHAPTER 3. METHOD

3.5.1 Modified Nearest Car Calculation

Since an elevator in this case can move horizontally the calculation for the nearest car has to take that into consideration. This means that the figure of suitability has to be calculated differently. A new variable for distance has to be introduced called h which is the horizontal distance between the elevator and the call. Also the number of vertical elevator shafts M, has to be taken into consideration.

1. FS = N + 1 + M + 1 - (d - 1) - (h - 1) = N + M + 4 - d - h This rule will come into effect if the elevator car is moving towards the landing call and the call is set in the same direction.

2. FS = N + M + 2 - d - h

This rule will come into effect if the elevator car is moving towards the landing call but the call is set to the opposite direction.

3. FS = 1

This rule will come into effect if the elevator car is already moving away from the landing call (the elevator is responding to some other call).

4. FS = N + M + 2 - d - h

This rule will come into effect if the elevator car is idle.

In contrast to the traditional NC calculations, these alterations are basically adding a new FS for each elevator car in the horizontal plane to the FS for the vertical plane. The sum of these two FS:s will indicate how suitable the elevator car is to be assigned to the current call.

Also, the multidirectional elevator algorithm can be improved by using the same techniques as describes in the optimisation of the traditional nearest car algorithm.

3.5.2 Modified Sector Partitioning

In order to divide the elevator system into sectors a fixed amount must be chosen.

Obviously, the amount of sectors will affect how the elevator performs. Therefore, to not flood the system with elevator cars, the max amount of sectors is set to N, the number of floors in the building.

3.5.3 Considerations

In the scenario where the amount of shafts is larger than the amount of floors (M >

N) the parameters of the algorithm has to be overlooked. To partition the sectors

correctly we transpose the building so that the floors represents shafts and vice

versa.

(19)

Chapter 4

Results

4.1 The Constructed Simulator

The simulator constructed during this study is composed of several components, the following.

• Building - Contains several Shafts and Floors.

• Shaft - Contains cars.

• Floor - Contains Passengers.

• Car - Contains passengers.

• Passenger - Creates calls.

• Call - Assigned to Cars.

• GroupControl - Assigns calls to cars.

• TrafficPattern - Generates traffic

As shown in the diagram below, the classes Building, Shaft, Floor, Car, Passenger and Call are used to simulate how a building with elevators function.

In addition to them, GroupControl and TrafficPattern are interfaces. By creating interfaces, one must implement a class based on the interface in order to use it in the simulator. This is used to implement different elevator control algorithms and traffic patterns in separate classes by implementing the interface in every one of them to customize their functionality. It makes different implementations very loosely coupled, which makes further simulations very easy.

The simulator engine is running in ticks. A tick can be compared to a processor

cycle. It is being used to ensure that the simulator will not be depending on the

speed of the computer running it. We benefit from this since the group control

(20)

CHAPTER 4. RESULTS

by the speed of the processor. Followed by this we have to set different parameters that affects the speed of the simulation.

• Ticks for a car to move between floors and shafts - 10

• Ticks for a car to load/unload passengers - 1

• Ticks in a step, to generate passengers - 50

It is important to note that these numbers will only affect the running time of the simulation and the value of these could easily be optimized for future simulations.

To make sure that we can achieve correct simulation results it is important to make sure that they do not change values during any of our tests, since the performance measurements depend upon the total amount of ticks. Figure 4.1 shows the basic structure of the elevator simulator.

Figure 4.1. Elevator simulator structure

4.2 Multidirectional Elevator Algorithm

The following pseudocode shows the final implementation of the algorithm constructed

during this study. The code calculates which elevator should answer a newly created

landing call.

(21)

CHAPTER 4. RESULTS

4.2.1 Pseudo Code Implementation

Call ← current call F S ← 1

N ← number of f loors M ← number of shaf ts

SelectedCar ← f irst car in building for Every car C in building do

d ← abs(C.f loorLocation − Call.f loorLocation) h ← abs(C.shaf tLocation − Call.shaf tLocation) if C is idle then

if Call is in C:s sector and call direction is horizontal then return C else

newF S ← N + M + 2 − d − h end if

else if C is going down then if Call is above then

newF s ← 1

else if Call is below and Call direction is same as C then newF s ← N + M + 4 − d − h

else if Call is below and Call direction is not same as C then newF s ← N + M + 2 − d − h

end if

else if C is going up then if Call is below then

newF s ← 1

else if Call is above and Call direction is same as C then newF s ← N + M + 4 − d − h

else if Call is above and Call direction is not same as C then newF s ← N + M + 2 − d − h

end if

else if C is going left then if Call is to the right then

newF s ← 1

else if Call is to the left and Call direction is same as C then newF s ← N + M + 4 − d − h

else if Call is to the left and Call direction is same as C then newF s ← N + M + 2 − d − h

end if

else if C is going right then if Call is to the left then

newF s ← 1

else if Call is to the right and Call direction is same as C then newF s ← N + M + 4 − d − h

else if Call is to the right and Call direction is same as C then newF s ← N + M + 2 − d − h

end if end if

if newF S > F S then SelectedCar ← C F S ← newF S end if

end for

(22)

CHAPTER 4. RESULTS

4.3 Simulation Results

A total of 30 different simulations where done for each algorithm and for each traffic pattern. Every simulation simulates the traffic of 10000 people using the elevator system in a building consisting of 30 floors with the first floor set as the terminal floor. The algorithms described in the graphs in this chapter are the following:

• NC - Nearest car algorithm.

• NCOpt - Nearest car algorithm with optimisation.

• FSO - Fixed Sectoring Common Sector System.

• Multi - Multidirectional elevator algorithm.

• MultiOpt - Multidirectional elevator algorithm using NCopt.

4.3.1 Traditional Algorithms

For the traditional algorithms a building with 2 to 10 elevator cars was used in the simulations.

Table 4.1 shows the average waiting time in ticks for the traditional algorithms with different traffic patterns.

Algorithm Down Peak Up Peak Ordinary

NC 109 160 114

NCOpt 88 154 114

FSO 156 245 94

Table 4.1. Simulation for a building with 30 floors, 5 shafts and 5 elevator cars.

The following figures 4.2 - 4.4 show the correlation between the number of elevators

and the average waiting time in ticks. The x-axis represents the number of elements

and the y-axis the average waiting time.

(23)

CHAPTER 4. RESULTS

2 4 6 8 10

150 200 250

Number of elevators

A v erage w aiting time (tic ks)

NC NCOpt

FSO

Figure 4.2. Up-peak pattern in a building with 30 floors

2 4 6 8 10

100 150 200 250

Number of elevators

A v erage w aiting time (tic ks)

NC NCOpt

FSO

Figure 4.3. Down-Peak pattern in a building with 30 floors

(24)

CHAPTER 4. RESULTS

2 4 6 8 10

50 100 150 200

Number of elevators

A v erage w aiting time (tic ks)

NC NCOpt

FSO

Figure 4.4. Ordinary pattern in a building with 30 floors

4.3.2 Multidirectional Algorithm

For the constructed multidirectional algorithm, a building with 10 to 50 elevator cars was used in the simulations. The building is 30 floors tall and 5 elevator shafts wide. The reason for choosing this building structure is to give a fair comparison in efficiency between traditional and multidirectional elevator systems. Having too few elevator shafts would result in a system too similar to a traditional elevator system. Furthermore, with too many elevator shafts it would result in a very wide building not representing a real world traditional elevator system.

Table 4.2 shows the average waiting time in ticks for the different versions of the multidirectional algorithm, with different traffic patterns.

Algorithm Down Peak Up Peak Ordinary

Multi 136 189 69

Multi Opt 115 184 69

Table 4.2. Simulation for a building with 30 floors, 5 elevator shafts and 25 elevator cars.

To make a fair comparison between the multidirectional and traditional elevator

system, the multidirectional system needs to use more elevator cars because it

contains many more possible pickup points. The traditional system has 30 floors

which gives 30 possible pickup points and the multidirectional elevator system has

30 floors and 5 shafts which gives 150 possible pickup points. Therefore, every added

(25)

CHAPTER 4. RESULTS

car to the traditional elevator system adds another 5 cars to the multidirectional elevator system. This is done in order to achieve the same relation between the number of pickup points and the number elevator cars, hence the higher number of elevators in Figure 4.5 - 4.7.

10 20 30 40 50

175 180 185 190 195

Number of elevators

A v erage w aiti n g time (tic ks)

Multi MultiOpt

Figure 4.5. Up-peak pattern in a building with 30 floors

(26)

CHAPTER 4. RESULTS

10 20 30 40 50

120 125 130 135

Number of elevators

A v erage w aiti n g time (tic ks)

Multi MultiOpt

Figure 4.6. Down-peak pattern in a building with 30 floors

10 20 30 40 50

60 80 100

Number of elevators

A v erage w aiti n g time (tic ks)

Multi MultiOpt

Figure 4.7. Ordinary pattern in a building with 30 floors

(27)

CHAPTER 4. RESULTS

4.4 Comparison

The following diagrams show a comparison between the multidirectional algorithms and the traditional algorithms. To fairly compare the different types of algorithms the axis showing the number of elevators has been altered to show a ratio of pickup points per elevator car. It results in flipping the diagram horizontally. This means that the lower the number the more elevators has been used and the higher the number less elevators has been used.

2 4 6 8 10 12 14 16

100 150 200 250

Pickup points per elevator car

A v erage w aiti n g time (tic ks)

Multi MultiOpt

NC NCOpt

FSO

Figure 4.8. Down-peak pattern in a building with 30 floors

(28)

CHAPTER 4. RESULTS

2 4 6 8 10 12 14 16

150 200 250

Pickup points per elevator car

A v erage w aiti n g time (tic ks)

Multi MultiOpt

NC NCOpt

FSO

Figure 4.9. Up-peak pattern in a building with 30 floors

2 4 6 8 10 12 14 16

50 100 150 200

Pickup points per elevator car

A v erage w aiti n g time (tic ks)

Multi MultiOpt

NC NCOpt

FSO

Figure 4.10. Ordinary pattern in a building with 30 floors

(29)

Chapter 5

Discussion

5.1 Efficiency

The efficiency is as noted earlier measured in average waiting time. Comparing other different multidirectional elevator algorithms is hard since there are no available in the public. The solution chosen is to compare to traditional elevators to determine how to design the multidirectional algorithm to make it efficient. In addition to this the simulator does not account for human factors. For example, normally a person that has to wait very long for an elevator to arrive may take the stairs instead.

Also, a person may not always want to enter an elevator if it is almost full. It follows that events will always end the way the simulator expects and may not be realistic for a real elevator system where human factors apply. Although, this does not matter since every algorithm compared use the same simulator and parameters and the only interesting result is the performance correlation between the studied algorithms.

5.2 Algorithm Comparison

The results for the comparison of the traditional algorithms in average waiting time for NC and FSO show that they perform differently depending on the traffic patterns, as shown in Table 4.1.

It shows that NC converges with the number of elevators during all traffic

patterns and performs well for the down peak and up peak pattern. The FSO

implementation does not perform equally during up peak and down peak, due to

the spread of elevator sectors. It is however more effective than NC during the

ordinary pattern but overall worse than NC during the others. An implication of

this might be that solely using FSO as a group control algorithm could result in

bad performance on average, but could have benefits when the traffic flow does not

origin from a concentrated source (ordinary pattern). Though, this depends on the

number of elevators as seen in figure 4.2 - 4.4, but may also depend on the building

(30)

CHAPTER 5. DISCUSSION

When comparing the results of the traditional algorithms with our constructed multidirectional algorithm it shows that it performs poorly against NC and NCOpt in the case of up-peak and down-peak performance, as shown in figure 4.8 and figure 4.9. However, from looking at the ordinary traffic pattern in figure 4.10, it outperforms all the other traditional elevator algorithms.

In the case of an up-peak pattern, the passengers mostly start out from the terminal floor. The difference between the traditional elevator system and the multidirectional elevator system is that a passenger in the multidirectional elevator system has a lot more elevator cars. This might explain why the multidirectional algorithm performs more poorly because the terminal floor might create a bottleneck effect since most calls come from the same floor. This would probably also apply for the down-peak pattern, but with the destination as the bottleneck instead. The results of the ordinary pattern can probably be explained due to the multidirectional elevator’s ability to distribute its elevator cars more freely and frequently than the traditional elevators. This could result in a higher chance of a car to be near a newly created landing call.

5.3 Possible Improvements

We see two areas in this study that can possibly be improved. Firstly, the constructed

simulator could be improved in a way to enable a larger variety of metrics and

thus enable to discuss efficiency further from different perspectives. Secondly,

the multidimensional algorithm could always be better optimised. It would be

interesting to see how existing genetic algorithms for traditional elevators systems

would be implemented in this environment and how it would affect the performance

of a group control system over time. Also, we believe further studies would benefit

from studying simulations using different building structures.

(31)

Chapter 6

Conclusion

Returning to the problem statements, we now can state that the constructed algorithm for multidirectional elevator systems is efficient in comparison to traditional algorithms.

It is subjective what is efficient, but in terms of average waiting time we believe it is. This is because the algorithm we construct performs well in comparison to the traditional algorithms.

What motivates our conclusion is that it outperforms the other algorithms during an ordinary pattern, the most common pattern. During the up-peak and down-peak pattern it does not, but the differences in performance are small. Also, the multidirectional elevator algorithm has the ability to transport a passenger between shafts in contrast to the traditional elevator algorithms. The implication of this possibility to travel horizontally in a building would reduce the walking distance for the passenger, increasing the total travel time.

To summarise, the multidirectional elevator algorithm is efficient if the traffic is

spread out over the floors in the building, but it performs worse than traditional

elevator algorithms when the traffic is concentrated to one floor.

(32)

References

[1] ThyssenKrupp Elevator. Rope-free elevator system [webpage on the internet].

[updated 2014 November 27; cited 2015 March 20]. Available from: http:

//www.thyssenkrupp-elevator.com/Show-article.104.0.html?&L=1&

cHash=08b38cb686f00ec874ad82c44c737427&tx_ttnews%5Btt_news%5D=546 [2] Miyamoto Toshiyuki; Yamaguchi Shingo. MCESim: A multi-car elevator

simulator, IEICE transactions on fundamentals of electronics, communications and computer sciences, 2008.

[3] Lee Yutae, et al. Performance analysis of an elevator system during up-peak.

Mathematical and Computer Modelling, 2009.

[4] Rong Aiying; Hakonen Henri; Lahdelma Risto. Estimated time of arrival (ETA) based elevator group control algorithm with more accurate estimation, Turku Centre for Computer Science, 2003.

[5] Barney Gina Carol. Elevator traffic handbook: theory and practice, Routledge, 2003.

[6] Elevate. About Elevate [Webpage on the internet]. [cited 2015 March 30].

Availabel from: https://www.peters-research.com/index.php/elevate [7] Richard Peters; Smith, Rory. Analysis of Elevator Performance and Passenger

Demand with Destination Control, IAEE book "Elevator Technology 17", 2008

References

Related documents

Elevator control problems are stochastic, since there is uncertainty in the pas- senger patterns [2], when it comes to the passengers time of arrival, floor of arrival and

The test result as displayed in figure 4.5 shows that a control strategy that continuously assigns landing calls such as Continuous Allocation can reduce the destination time

Table F.2: The total number of memory accesses for a worst case lookup in HyperCuts (spf ac = 1, 4) when tested on core router databases. One memory access is

I think the reason for that is that I’m not really writing different characters, I’m only showing different fragments of myself and the things that have stuck to me and become

compositional structure, dramaturgy, ethics, hierarchy in collective creation, immanent collective creation, instant collective composition, multiplicity, music theater,

[r]

People who make their own clothes make a statement – “I go my own way.“ This can be grounded in political views, a lack of economical funds or simply for loving the craft.Because

Min uppfattning är att motståndshandlingar genom våld och våldsamhet, som jag uttolkat som motståndsmetoder i ”From Protest to Resistance” samt ”Setting Fire