This project implements optimization algorithms for solving airline crew scheduling problems using Genetic Algorithms (BGA, IBGA) and Simulated Annealing (SA). The goal is to efficiently allocate flight crew members while minimizing costs and maintaining operational constraints.
- Clone the repository:
git clone https://github.com/lorenzo1285/EC_CA.git cd EC_CA
- Install dependencies:
pip install -r Docs/requirements.txt
Run the Standard BGA optimization:
python Code/StandarBGA_102.py
Run the Improved BGA optimization:
python Code/ImprovedBGA_104.py
Run the Simulated Annealing optimization:
python Code/SA_102.py
Modify the parameters inside each Python script to adjust optimization settings such as:
num_generations = 100
population_size = 50
mutation_rate = 0.1
EC_CA/
│── Code/ # Python implementations of different optimization algorithms
│ ├── ImprovedBGA_104.py
│ ├── SA_102.py
│ ├── StandarBGA_102.py
│── Data/ # Input datasets for the optimization models
│ ├── sppnw41.txt
│ ├── sppnw42.txt
│ ├── sppnw43.txt
│── Docs/ # Documentation and references
│ ├── chu98.pdf
│ ├── Lecture4_StochasticLocalSearch-3.pdf
│ ├── requirements.txt # Lists dependencies for the project
│ ├── Solving Air Crew Scheduling Problems using Simulated Annealing and Genetic Algorithms.pdf
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit changes (
git commit -m "Add new feature"
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.