This repository contains a comprehensive analysis and implementation of various algorithms to optimize airplane boarding strategies. The project compares traditional boarding methods with advanced optimization algorithms to reduce boarding times and improve passenger experience.
AirplaneSeating.R
: Main R script containing the implementation of various optimization algorithms.boarding_results.csv
: Summary of the boarding time results for different strategies and algorithms.boarding_optimization_results.csv
: Detailed output of the optimization runs.boarding_comparison.png
: Visualization comparing boarding times across strategies.boarding_times_comparison.png
: Chart highlighting the performance of optimization methods.
To run the code and reproduce the results, ensure you have the following installed:
- R (version 4.0 or newer)
- The following R libraries:
dplyr
ggplot2
genalg
DEoptim
pso
tabuSearch
tidyr
scales
You can install the required R packages with:
install.packages(c("dplyr", "ggplot2", "genalg", "DEoptim", "pso", "tabuSearch", "tidyr", "scales"))
-
Clone the repository:
git clone https://github.com/DanteSc03/Optimization-of-Airplane-Seating.git
-
Open the R script
AirplaneSeating.R
in your preferred R IDE (e.g., RStudio). -
Run the script to simulate and compare various boarding strategies and optimization algorithms.
- A CSV file summarizing the results (
boarding_results.csv
). - Visualization plots (
boarding_comparison.png
,boarding_times_comparison.png
) highlighting the performance of boarding methods.
The project addresses the following:
-
Aircraft Configuration:
- A single-aisle aircraft with 30 rows and 6 seats per row (total: 180 passengers).
- Passengers have varying luggage quantities, affecting boarding times.
-
Optimization Algorithms:
- Genetic Algorithms (GA)
- Simulated Annealing (SA)
- Differential Evolution (DE)
- Particle Swarm Optimization (PSO)
- Tabu Search
- Hill Climbing
- Blind Search
- Monte Carlo Search
-
Objective:
- Minimize total boarding time.
- Compare traditional boarding methods (e.g., front-to-back, random) with algorithm-optimized strategies.
-
Seatmap
- This project was based on the seating configuration of an all economy class Airbus A320
- This plane has 30 rows in a 3 x 3 configuration
- This code can be adapted to all types of aircraft
The traditional boarding methods such as front-to-back and random boarding were evaluated. The results show significant variation in boarding times.
Optimization algorithms significantly outperformed traditional methods, with the best results achieved by methods like Genetic Algorithms and Simulated Annealing.
Contributions and suggestions are welcome! Feel free to fork this repository, open issues, or submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Authored by Dante Schranz.
Feel free to modify this README.md to better fit your project or add any additional details!