Skip to main content

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

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.

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

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 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

fliscopt-0.1.5.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

fliscopt-0.1.5-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file fliscopt-0.1.5.tar.gz.

File metadata

  • Download URL: fliscopt-0.1.5.tar.gz
  • Upload date:
  • Size: 14.3 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

Hashes for fliscopt-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ce678a7c649400e71c4a71a32ec8c723af23072efd6fccb4b7f554387d4006c1
MD5 81416e6462da84eaee24006655e46848
BLAKE2b-256 e3469b99b4ac2992a381f9c26135dc9bb911ebfe61adb3f898778901c3e113f6

See more details on using hashes here.

File details

Details for the file fliscopt-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: fliscopt-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 18.8 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

Hashes for fliscopt-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 42dccbe671d7dc2a34fd306485f147d4acc3b5a537aa727541a52c398c731bce
MD5 a3934e1c1b2d84cd0064d4a0bfaaccbd
BLAKE2b-256 4f6d69e83fd43c59a7fa776201eccd3f915243e3c41930f1f3b8c960f7042bc1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page