Git Product home page Git Product logo

vroom's Introduction

Vehicle Routing Open-source Optimization Machine

Good solutions, fast.


Overview

What?

VROOM is an optimization engine written in C++14 that aim at providing good solutions to various real-life vehicle routing problems within a small computing time. It is free software, distributed under the terms of the BSD 2-clause license.

How?

VROOM is an optimization layer working on top of virtually any tool handling basic routing queries. The idea is to carefully select and implement strategies derived from academic research, targeting the choices with quality and fast computing times in mind.

Why?

Even if the problems are simple to state, their combinatorial complexity make them very hard to solve. Finding optimal solutions is usually beyond reach for real-life problem instances, hence the need for robust approximation algorithms finding good solutions in reasonable time.

Besides, loads of researches have been carried out in that area but they usually remain academic "theoretical" discussions on the possible strategies. With the current rise of OpenStreetMap and efficient open-source routing tools, it's now time to go one step further with real-life open-source routing optimization!

How fast and how good?

Solving problems is a matter of milliseconds, or seconds when reaching hundreds of locations.

While the NP-hardness of the problem makes it very difficult (or too long) to get the optimal solution, VROOM solutions are shown to be very good approximations (see benchmark results).


Features

  • use actual road topography from OpenStreetMap data (no inadequate beeline distance estimate);

  • benefits from all the routing options of the underlying tool for the profile (car, bicycle, walking...) and for the optimization target (travel time, distance, cost...);

  • return a ready-to-use solution with quality indicators and a detailed route;

  • at the moment, solves problems with one vehicle performing round trips (a.k.a travelling salesman problem) or "open" trips with user-defined start and/or end;

  • can scale to handle very big instances (don't worry about using a few thousand locations);

  • support user-defined matrices for travel costs using TSPLIB format.


Gallery

See animated examples in the optimized trips gallery.

vroom's People

Contributors

frodrigo avatar giraldeau avatar jcoupey avatar

Watchers

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