Giter Site home page Giter Site logo

discret-optimization's Introduction

Introduction : Description of the problem

BY

  • CALLARD Baptiste
  • FOSSE Loic
  • TANNE Malo

The shortest path in a directed graph is a very well known problem. Its solution uses dynamic programming and the most known algorithms to solve this kind of problem are of course the dijkstra or Bellman-Ford algorithms. However, what happens if we want to find the shortest path but that this path respects certain constraints, typically you want to make a trip from Pau to Rennes as short as possible in km but with a certain budget in terms of gasoline and/or tolls?

It is this problem that will interest us in the following report. From the integer linear programming associated with this problem via the Pulp modeling language to the graph-based resolution algorithms, we will deal with several aspects of this problem in order to better understand it.

This problem is a NP-difficult problem, i.e. unlike its little brother (shortest path without constraints) its solution cannot be done in polynomial time. The algorithmic complexity associated with this problem will be very important, so we will have to be very careful about our modeling in order to reduce the computation time as much as possible.

Requirement

pip install requirements.txt

Previews results


Theoretical results : CR_OD_CALLARD_TANNE_FOSSE.ipynb

Our algorithm allowed us to solve the problem faster than the famous GCP solver.

image


GPS : gps.ipynb

We then created with our algorithm our own GPS. The GPS minimizes the time under the three following constraints: tolls, gasoline, distance.

The values can be modified and the result is adjusted in real time with our interface.

image

  • The results displayed on the map correspond to our label correction.

This first pricture show the results without pre-processing.

image

This second image shows only the nodes after post-processing. Only useful nodes are retained.

image


Scraping : scrapping_OD_CALLARD_TANNE_FOSSE.ipynb

The data was recovered by scraping with Selenium.

discret-optimization's People

Contributors

b-ptiste 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.