Fliscopt
FLIght SCheduling OPTimization 🛫 or fliscopt is a 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
- Genetic Algorithm with Random Search as a Reversal/Reverse Process
- Iterated Chaining
Getting Started
Install the library using pip:
pip install fliscopt
Or for unreleased versions:
pip install 'git+https://github.com/Agrover112/fliscopt/fliscopt@branchname
Or for development:
git clone https://github.com/Agrover112/fliscopt.git
cd fliscopt
pip install .
Download the flights.txt file from the following link and add it to a data/ directory within your parent directory.
Checkout out the examples in the examples directory or run in Google Collab
For PyPy users
The instructions for setup are mentioned in the setup directory. Alternatively, you can set up using this bash script. A requirements file is provided just in case. The script creates and activates a PyPy Conda environment with all libraries and dependencies.
cd ./setup.sh
source setup.sh
Then install using:
pypy -mpip install fliscopt
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 of 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
References
Read the following for detailed understanding of our project.
Contributing Guidelines
Refer Contributing.md and Project Board for mode details. This repository follows conventional commits!
Metadata
Release files for fliscopt 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fliscopt-0.3.0.tar.gz | 19.2 kB | Without provenance | Details for fliscopt-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fliscopt-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for fliscopt-0.3.0-py3-none-any.whl |
Total release size: 43.5 kB
Release files / fliscopt-0.3.0.tar.gz
| Download URL | fliscopt-0.3.0.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a0ef76b3fd1762c79721fb420c4673ac0b93ded3955255fd78f00d69698595e
|
|
BLAKE2b-256 checksum How to use checksums |
5d5887006fea43318052b7b96e58117482656315415c2a9ac8ecce64148c3979
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / fliscopt-0.3.0-py3-none-any.whl
| Download URL | fliscopt-0.3.0-py3-none-any.whl |
|---|---|
| Size | 24.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d85b9152ec4bada14b1442a33d2b0bf19431d2da7c4ed15bae9b5d6cf0bfea67
|
|
BLAKE2b-256 checksum How to use checksums |
3b92b12bc09689410495ab57f01404e392b158f4b26124b4aff7ce42c80327fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for fliscopt 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.