Giter VIP home page Giter VIP logo

quantumjsp's Introduction

Quantum Job Shop Scheduling Problem Solver

A heuristic approach on how to optimally schedule jobs using a quantum computer.

Publication can be found here.

NOTE: for a more efficient solution check out the "pyqubo" branch.
(works extremely slowly while using simulation instead of real qpu.)

Table of Contents

About The Project

Note: Numbers in bars represent jobs

Given a set of jobs and a finite number of machines, how should we schedule our jobs on those machines such that all our jobs are completed at the earliest possible time? This question is the job shop scheduling problem!

Getting Started

Prerequisites

  • python 3.5 or later
  • matplotlib (for results visualisation in charts.py)
pip3 install matplotlib

Installation

NOTE: If you are okay with using a simulator instead of a real QPU, jump to part 3.

  1. Get free API Key at https://www.dwavesys.com/take-leap
  2. Configure a solver at https://docs.ocean.dwavesys.com/en/latest/overview/dwavesys.html#dwavesys
  3. Clone the repo
git clone https://github.com/mareksubocz/QuantumJSP

Quick Start

python3 demo.py data/ft06.txt

How to cite our work

Kurowski K., Wȩglarz J., Subocz M., Różycki R., Waligóra G. (2020) Hybrid Quantum Annealing Heuristic Method for Solving Job Shop Scheduling Problem. In: Krzhizhanovskaya V. et al. (eds) Computational Science – ICCS 2020. ICCS 2020. Lecture Notes in Computer Science, vol 12142. Springer, Cham. https://doi.org/10.1007/978-3-030-50433-5_39

quantumjsp's People

Contributors

bellert avatar mareksubocz avatar m3ller avatar arcondello avatar vgoliber avatar randomir avatar joelpasvolsky avatar mziele1 avatar yanboxue avatar fionahanington avatar tleungdwave 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.