Difference between revisions of "Comparing multiple airplane boarding methods"

From Simulace.info
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
=Problem definition=
 
=Problem definition=
  
Based on the video about different boarding methods from GCP Gray, I would like to simulate and compare different airplane boarding methods found in the video and possible other sources. The simulation would offer results about how long it takes for passangers board the plane or how often are the passangers stuck in queue, idling.
+
Based on the video about different boarding methods from GCP Gray[https://www.youtube.com/watch?v=oAHbLRjF0vo], I would like to simulate and compare different airplane boarding methods found in the video and possible other sources. The simulation would offer results about how long it takes for passangers board the plane or how often are the passangers stuck in queue, idling.
  
 
=Method=
 
=Method=
 +
 +
NetLogo, a program for agent based simulations, was used.
  
 
=Model=
 
=Model=
Line 11: Line 13:
 
Model contains multiple boarding methods. Front to back, back to front, steffen, perfect and random. Number of passengers and plane parameters like number of seats or distance between seats can be adjusted.
 
Model contains multiple boarding methods. Front to back, back to front, steffen, perfect and random. Number of passengers and plane parameters like number of seats or distance between seats can be adjusted.
  
==Front to back==
+
==Boarding methods==
 +
 
 +
===Front to back===
  
 
This method is made as ineffective as possible. Passengers have their designated seat as close to the plane entry as possible. This minimizes number of steps each passenger has to take, but it maximuzes idle time, because when passenger is putting their luggage into luggage compartment, they are blocking rest of the passengers that are waiting to go past them. Because seats are assigned isle first and not window first, it also maximizes number of times passengers have to go over another sitting passenger.
 
This method is made as ineffective as possible. Passengers have their designated seat as close to the plane entry as possible. This minimizes number of steps each passenger has to take, but it maximuzes idle time, because when passenger is putting their luggage into luggage compartment, they are blocking rest of the passengers that are waiting to go past them. Because seats are assigned isle first and not window first, it also maximizes number of times passengers have to go over another sitting passenger.
  
[[File:Front-to-back.png]]
+
[[File:Front-to-back.gif]][[File:Front-to-back.png]]
  
==Back to front==
+
===Back to front===
  
 
Back to front method is used by most airlines today. In this simulation, the method is much more strict and passengers are ordered in ideal order in the queue, minimizing number of passenger switching.
 
Back to front method is used by most airlines today. In this simulation, the method is much more strict and passengers are ordered in ideal order in the queue, minimizing number of passenger switching.
  
[[File:Back-to-front.png]]
+
[[File:Back-to-front.gif]][[File:Back-to-front.png]]
  
==Steffen==
+
===Steffen===
  
 
Steffen Boarding Method was proposed in the year 2008 by Jason Steffen.[https://en.wikipedia.org/wiki/Steffen_Boarding_Method] It is supposed to be perfect and most optimal way to board the plane.
 
Steffen Boarding Method was proposed in the year 2008 by Jason Steffen.[https://en.wikipedia.org/wiki/Steffen_Boarding_Method] It is supposed to be perfect and most optimal way to board the plane.
Line 29: Line 33:
 
Passengers board back to front, but each takes one seat in every other row on the one side of the plane. Next row of passengers takes the same seat but on the opposite side of the plane. Then they fill the empty seats, again one side after the other. Now all of the window most seats on both sides of the plane are filled, the process is repeated but with seats closer to the isle.
 
Passengers board back to front, but each takes one seat in every other row on the one side of the plane. Next row of passengers takes the same seat but on the opposite side of the plane. Then they fill the empty seats, again one side after the other. Now all of the window most seats on both sides of the plane are filled, the process is repeated but with seats closer to the isle.
  
[[File:Steffen.png]]
+
[[File:Steffen.gif]][[File:Steffen.png]]
  
==Perfect==
+
===Perfect===
  
 
Perfect method is like Steffen method, but it doesn't skip seats.
 
Perfect method is like Steffen method, but it doesn't skip seats.
  
[[File:Perfect.png]]
+
[[File:Perfect.gif]][[File:Perfect.png]]
  
==Random==
+
===Random===
  
 
As the name suggests, the seats are assigned randomly.
 
As the name suggests, the seats are assigned randomly.
 +
 +
[[File:Random.gif]]
  
 
==Variables==
 
==Variables==
Line 63: Line 69:
 
Sets the initial distance between people in line waiting to board the plane. Has to be greate than zero.
 
Sets the initial distance between people in line waiting to board the plane. Has to be greate than zero.
  
===seats-sapcing===
+
===seats-spacing===
  
 
Sets the spacing between seats. Has to be greate than zero.
 
Sets the spacing between seats. Has to be greate than zero.
 +
 +
==Output==
 +
 +
The model display 3 plots. Idle, busy and done. Each plots represents number of passengers in some state.
 +
 +
'''Idle''' are the red passengers which are waiting in the queue or are stuck behing passenger stoving away their luggage. '''Busy''' are yellow passengers which are either stoving away their luggage or are switching seats with someone else. '''Done''' are green passengers which are sitting on their designated seat.
 +
 +
The model also shows '''total-ticks''' which represent the time it took the model to finish.
  
 
=Results=
 
=Results=
 +
 +
Predictably, the front to back method is the slowest. It is two to three times slower than its opposite, back to front method. The front to back method is also the most affected by the '''person-switch-time''', because almost everyone has to switch with someone else aready sitting in their seat.
 +
 +
Second and third place is split between back to front and the random method. Which one is faster depends on the simulation settings. The biggest affect has '''person-switch-time''' because in the back to front method, person switching is eliminated. But if the '''person-switch-time''' is low enough, random method can outperform back to front method by quite a lot. In the real world the difference would be even greater because in this simulation, back to front is completely without person switching while in real life some switching always take place. The main reason whay back to front can be slower than the random method, is because in the back to front method only one person at time is putting away their luggage while others wait. While in the random method, some person switch takes place which increases the boarding time, it's negated by the natural distance between passanger seats resulting in multiple people putting away their luggage.
 +
 +
Suprisingly, the Steffen method isn't the fastest. It got beaten by small margin by the perfect method. This is most likely due to everyone putting away their luggage the same ammount of time. In the real world, some people would take more time which would cause more queueing in the perfect method. Because Steffen method assigns every second seat, it would decrease this issue because there would be a small buffer between passengers.
  
 
=Conclusion=
 
=Conclusion=
 +
 +
In the end, the simulation results turned out quite as expected. The simulation has few differences from the real world, like strict seat ordering, which causes some methods to be more or less effective than expected.
 +
 +
Even though Steffan/perfect methods are the best, I don't expect airlines switching to it because of organization problems where people would have to arrive at the gate on time and be sorted to the exact order they are seated, which isn't really possible.
  
 
=Code=
 
=Code=
  
 
[[File:Jeda00_boarding.nlogo]]
 
[[File:Jeda00_boarding.nlogo]]

Latest revision as of 20:43, 17 January 2021

Introduction

Problem definition

Based on the video about different boarding methods from GCP Gray[1], I would like to simulate and compare different airplane boarding methods found in the video and possible other sources. The simulation would offer results about how long it takes for passangers board the plane or how often are the passangers stuck in queue, idling.

Method

NetLogo, a program for agent based simulations, was used.

Model

Model contains multiple boarding methods. Front to back, back to front, steffen, perfect and random. Number of passengers and plane parameters like number of seats or distance between seats can be adjusted.

Boarding methods

Front to back

This method is made as ineffective as possible. Passengers have their designated seat as close to the plane entry as possible. This minimizes number of steps each passenger has to take, but it maximuzes idle time, because when passenger is putting their luggage into luggage compartment, they are blocking rest of the passengers that are waiting to go past them. Because seats are assigned isle first and not window first, it also maximizes number of times passengers have to go over another sitting passenger.

Front-to-back.gifFront-to-back.png

Back to front

Back to front method is used by most airlines today. In this simulation, the method is much more strict and passengers are ordered in ideal order in the queue, minimizing number of passenger switching.

Back-to-front.gifBack-to-front.png

Steffen

Steffen Boarding Method was proposed in the year 2008 by Jason Steffen.[2] It is supposed to be perfect and most optimal way to board the plane.

Passengers board back to front, but each takes one seat in every other row on the one side of the plane. Next row of passengers takes the same seat but on the opposite side of the plane. Then they fill the empty seats, again one side after the other. Now all of the window most seats on both sides of the plane are filled, the process is repeated but with seats closer to the isle.

Steffen.gifSteffen.png

Perfect

Perfect method is like Steffen method, but it doesn't skip seats.

Perfect.gifPerfect.png

Random

As the name suggests, the seats are assigned randomly.

Random.gif

Variables

people-count

This variable sets how many people will board the plane. Has to be greater than 0. If too high, NetLogo will throw "outside of the boundaries" exception, which means a person was set outside the world area. Lowering the people-count variable or increasing the size of the world area helps fix the issue.

seats-count

This variable sets the number of seats on both sides of the plane isle. If set to 2, there will be 2 seats on the left and two seats on the right. Has to be greater than 0.

luggage-time

Number of ticks a person spends putting their luggage into a luggage compartment. Every person has to put their luggage to a luggage compartment when they reach their designated row. Has to be zero or greater.

person-switch-time

Number of ticks a person spends switching with already seated person if they have to go over that seated person to reach their designated seat. Has to be zero or greater.

people-spacing

Sets the initial distance between people in line waiting to board the plane. Has to be greate than zero.

seats-spacing

Sets the spacing between seats. Has to be greate than zero.

Output

The model display 3 plots. Idle, busy and done. Each plots represents number of passengers in some state.

Idle are the red passengers which are waiting in the queue or are stuck behing passenger stoving away their luggage. Busy are yellow passengers which are either stoving away their luggage or are switching seats with someone else. Done are green passengers which are sitting on their designated seat.

The model also shows total-ticks which represent the time it took the model to finish.

Results

Predictably, the front to back method is the slowest. It is two to three times slower than its opposite, back to front method. The front to back method is also the most affected by the person-switch-time, because almost everyone has to switch with someone else aready sitting in their seat.

Second and third place is split between back to front and the random method. Which one is faster depends on the simulation settings. The biggest affect has person-switch-time because in the back to front method, person switching is eliminated. But if the person-switch-time is low enough, random method can outperform back to front method by quite a lot. In the real world the difference would be even greater because in this simulation, back to front is completely without person switching while in real life some switching always take place. The main reason whay back to front can be slower than the random method, is because in the back to front method only one person at time is putting away their luggage while others wait. While in the random method, some person switch takes place which increases the boarding time, it's negated by the natural distance between passanger seats resulting in multiple people putting away their luggage.

Suprisingly, the Steffen method isn't the fastest. It got beaten by small margin by the perfect method. This is most likely due to everyone putting away their luggage the same ammount of time. In the real world, some people would take more time which would cause more queueing in the perfect method. Because Steffen method assigns every second seat, it would decrease this issue because there would be a small buffer between passengers.

Conclusion

In the end, the simulation results turned out quite as expected. The simulation has few differences from the real world, like strict seat ordering, which causes some methods to be more or less effective than expected.

Even though Steffan/perfect methods are the best, I don't expect airlines switching to it because of organization problems where people would have to arrive at the gate on time and be sorted to the exact order they are seated, which isn't really possible.

Code

File:Jeda00 boarding.nlogo