Flight scheduling optimization using Genetic Algorithm variants and other algorithms.
Project description
Fliscopt
FLight SCheduling OPTimization or fliscopt is an simple optimization library for flight scheduling and related problems in the discrete domain.The library supports plotting,asynchronous multiprocessing and unimodal optimization benchmarks. The following repository contains code for the paper "XYZ" . The experiments were performed in PyPy3.7 and CPython 3.8.10.
Following algorithms have been implemented and test as of date: Algorithms:
- Hill Climbing
- Random Search
- Simulated Annealing
- Genetic Algorithm
- Genetic Algorithm in Reverse Mode
- Genetic Algorithm with Reversals
- Iterated Chaining
Getting Started
Install the library using pip:
pip install fliscopt
For PyPy users
The instructions for setup are mentioned in setup directory. Alternatively, you can setup using this bash script. A requirements file is provided just in case. The script creates and activates an PyPy conda environment with all libraries and dependencies.
cd ./setup.sh
source setup.sh
Testing
After adding any new algorithm, you can run the tests to check if the code is working properly.
./run_tests.sh
Results
Experimental Results
Results were compared by using the same seeds. The following table shows the results for the experiments. (Will be shortly added)
Accessing results
After running the experiments, the results are stored in the results directory. The results are stored in the following format in subdirectories:
.
├── multi_proc
│ ├── ackley_N2
│ │ ├── genetic_algorithm_results.csv
│ │ ├── genetic_algorithm_reversed_results.csv
│ │ ├── genetic_algorithm_with_reversals_results.csv
│ │ ├── hill_climb_results.csv
│ │ ├── random_search_results.csv
│ │ └── simulated_annealing_results.csv
│ ├── booth/....
| |
| |
│ └── zakharov
│ ├── genetic_algorithm_results.csv
│ ├── genetic_algorithm_reversed_results
│ ├── genetic_algorithm_with_reversals_results.csv
│ ├── random_search_results.csv
│ └── simulated_annealing_results.csv
├── plots
│ ├── ackley_N2
│ ├── fitness_function
│ │ ├── hill_climb.png
│ │ └── random_search.png
│ ├── flight_scheduling
│ │ ├── simulated_annealing.png
│ │ ├── sol_chaining.png
│ │ └── sol_chaining_a1.png
│ └── griewank
Contributing Guidelines
Refer Contributing.md and Project Board for mode details.
References
[1] [] [2] []
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fliscopt-0.1.2.tar.gz
.
File metadata
- Download URL: fliscopt-0.1.2.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 693055c3abbcdf6f02b6fd1e55e2bfed3acc9c6dfbabe49ecbe33871e3f0983c |
|
MD5 | 58361675e198daf1a945a7dd5dfa4b83 |
|
BLAKE2b-256 | 6e8eda36767fbe50220637fa050472854047799a689c5445597be55efd774097 |
File details
Details for the file fliscopt-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: fliscopt-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a528b15f0f1169982fc7c9e82afef9e3fcef82dc4bb3b5170a07af84139ce70f |
|
MD5 | b6cbeae235241147a4e15e835311a5a4 |
|
BLAKE2b-256 | 0c81973b9ff729e70e0e78b9fa5b242964092867efd2748a4f4de942374afc70 |