Giter Site home page Giter Site logo

tawhidkhn63 / fliscopt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from agrover112/fliscopt

1.0 1.0 0.0 647 KB

Algorithms for flight scheduling optimization.

Home Page: https://pypi.org/project/fliscopt/

License: MIT License

Python 97.78% Shell 2.22%

fliscopt's Introduction

Fliscopt

Stars Forks License Issues made-with-python Open Source Love png1 Maintenance PRs Welcome PyPI Tweet Say Thanks!

image

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

Contributing Guidelines

Refer Contributing.md and Project Board for mode details. This repository follows conventional commits!

References

[1] [] [2] []

fliscopt's People

Contributors

agrover112 avatar anik-bardhan avatar kkhitesh avatar qwel-exe avatar charlesaverill avatar

Stargazers

Wadeed Madni avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.