Code Monkey home page Code Monkey logo

q-zee.github.io's Introduction

Github Sponsorship

Welcome to Quzzi

This repository hosts experimental code which uses Quantum Annealing (QA) to solve np-hard optimization problems. The author is using the DWave Quantum Hybrid Solver as well as Simulated Annealing (SA) for this purpose.

The main interest is with solving real-world use cases within the airline industry. Code for the original functional prototype for solving Crew Trip problems is included in the code repository.

Also included in the code repository are various side problems that can help understand how to use this new technology. Solvers are implemented using Quadratic Unconstrained Binary Optimization (QUBO) using the DWave BQM and CQM.

The code is provided as an Apache 2 Open Source license.

Blog

You can find the Quzzi blog here.

Quick Start

Overview

Examples overview

Jump to specific solvers

Airline Crew Trips: Quzzi library

Strategy Problem: Solving Goat/Wolf/Cabbage riddle

Viable Configurations: Solving 8 Queens problem with BQM and CQM

Load code in Leap IDE

Load models in your D-Wave Leap Account

Sponsors!

Github Sponsorship

Catalyst ✈

The author's initial drive behind this work was to prove that Quantum Annealing could be used to solve certain hard problems that airlines of various sizes are confronted with on a daily basis. Despite using powerful classical computing solvers used by the larger airlines, these systems continue to struggle to find optimum results within operational deadlines, especially in a world where strategies are in constant increasing flux.

Classical computing challenges

Having personally written and deployed classical solvers for some of these problems, the author's experience with the constant battle to work around the inpractibility of brute force solvers and "right sizing" heuristic algorithms to obtain viable operational results for np-hard problems made him wish for a "chip" that would handle the combinatorics and solution landscape exploration.

Experimental code

Discovering the existance of the DWave Quantum Annealing technology in 2018, it appeared as a wish come true and he engaged in learning about and experimenting with Quantum computing in general, but more specifically how to use the DWave Quantum Computer to attempt solving the Airline Crew Trip use case.

Why consider a Quantum Annealer for optimization?

Quantum Annealing allows finding solutions to large combination problems that are hard to solve with classical computing and offers opportunities for breakthoughs in both speed and solution quality. Furthermore, to code solvers using such a Quantum computer does not require knowledge of physics (although it helps understand why it works).

Problems where there are countless "choices" to be made with consequences on cost/time as these choices interact with each other to form even greater combinations, there is an opportunity to use QA to find the best fit solutions where Classical computing can fail rooted in problem magnitude and time to solution constraints.

What is the difference between Classical and Quantum Annealing solvers?

Here is a simplistic analogy from the author's point of view:

  • πŸšΆβ€β™€οΈ One tells a classical computer "how" to solve a problem by telling it the steps (code) needed to construct a solution. It is like walking through a labyrinth until the exit is found. You might get exhausted before the end and never find the exit.

  • πŸ’₯ The Quantum Annealer "knows" how to solve the problem by using a quality rating function one gives it (code) to compare its solutions. The paths to the labyrinth "manifest" themselves and the ones leading to exits rank at the top of the list of possible solutions.

What to expect from the Quzzi site

Quzzi aims at making Quantum Annealing solvers more accessible and as simple as possible to anyone by sharing its own experience, through code, examples and training on methodologies.

Quzzi will be listening to anyone interested in this work and more specifically what they wish to learn from it.

Github Sponsorship

Sponsor Quzzi today and get involved to get it to work for you!

q-zee.github.io's People

Contributors

q-zee avatar

Watchers

 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.