node-or-tools - Node.js bindings for or-tools vehicle routing problems

  •        268

NodeJS bindings for or-tools Travelling Salesman Problem (TSP) and Vehicle Routing Problem (VRP) solvers.See for documentation.


nan : ^2.6
node-pre-gyp : ^0.6.34



Related Projects

jsprit - Toolkit for solving rich vehicle routing problems

  •    Java

jsprit is a java based, open source toolkit for solving rich traveling salesman (TSP) and vehicle routing problems (VRP). It is lightweight, flexible and easy-to-use. jsprit can solve problems with pickups and deliveries, back hauls, heterogeneous fleets, finite and infinite fleets, multiple depots, time windows, open routes, different start and end locations, multiple capacity dimensions, initial loads etc.

node-gyp - Node.js native addon build tool

  •    Python

node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It bundles the gyp project used by the Chromium team and takes away the pain of dealing with the various differences in build platforms. It is the replacement to the node-waf program which is removed for node v0.8. If you have a native addon for node that still has a wscript file, then you should definitely add a binding.gyp file to support the latest versions of node.Multiple target versions of node are supported (i.e. 0.8, ..., 4, 5, 6, etc.), regardless of what version of node is actually installed on your system (node-gyp downloads the necessary development files or headers for the target version).


  •    Java

A modeling and simulation tool for Routing problems on Graphs, tccrouter is a java desktop application that provides a 2d map for building graphs and simulating a variety of real world routing solutions: Shortest path, TSP, VRP, VRP-TW.

mapbox-gl-native - Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node

  •    C++

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

Open Door Logistics Studio - Intelligient software for Vechile routing and Territory mangement

  •    Java

Open Door Logistics Studio is an easy-to-use standalone open source desktop application for performing (a) analysis of your customer locations, (b) sales territory design and mapping and (c) vehicle fleet routing & scheduling - all using an Excel spreadsheet. It supports Territory design, Territory mapping, Vehicle routing & scheduling.


  •    DotNet

OsmSharp is a routing and OSM data processing library.

react-native-mapbox-gl - A Mapbox GL react native module for creating custom maps

  •    Java

Mapbox is the location data platform for mobile and web applications. We provide building blocks to add location features like maps, search, and navigation into any experience you create. Use our simple and powerful APIs & SDKs and our open source libraries for interactivity and control.Not a Mapbox user yet? Sign up for an account here. Once you’re signed in, all you need to start building is a Mapbox access token. Use this same short code with all of our interactive mapping libraries, Python and JavaScript SDKs, and directly against our REST APIs. You can create and manage your access tokens on your Mapbox Account page.

nbind - :sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket:

  •    C++

nbind is a set of headers that make your C++11 library accessible from JavaScript. With a single #include statement, your C++ compiler generates the necessary bindings without any additional tools. Your library is then usable as a Node.js addon or, if compiled to asm.js with Emscripten, directly in web pages without any plugins. nbind works with the autogypi dependency management tool, which sets up node-gyp to compile your library without needing any configuration (other than listing your source code file names).

Open-VRP - Open-source framework for modeling Vehicle Routing Problems.

  •    Common

The Problem object (e.g. VRP) and the Algorithm object (e.g. Genetic Algorithm) are modelled seperately and combined with the generic method (solve-prob problem algo). Different solution algorithms can be tested and compared against each other on the same problem (which you only model once). Too often have I found myself having to build a VRP model from scratch, just to experiment with some meta-heuristics for a school paper. Academics/students with a background/interest in Mathematics/Operations Research without the skills/patience for die-hard coding (in C++/Java), have no choice but to spend their valuable time stuck in the debug/test/debug cycle. Here is why those in OR should consider Common Lisp as an option.

mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

  •    Javascript

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.Mapbox GL JS is part of the cross-platform Mapbox GL ecosystem, which also includes compatible native SDKs for applications on Android, iOS, macOS, Qt, and React Native. Mapbox provides building blocks to add location features like maps, search, and navigation into any experience you create. To get started with GL JS or any of our other building blocks, sign up for a Mapbox account.

node-pre-gyp - Node.js tool for easy binary deployment of C++ addons

  •    Javascript

node-pre-gyp stands between npm and node-gyp and offers a cross-platform method of binary deployment.For a hello world example of a module packaged with node-pre-gyp see and the wiki for real world examples.

mapbox-navigation-ios - Turn-by-turn navigation logic and UI in Swift or Objective-C on iOS

  •    Swift

Mapbox Navigation gives you all the tools you need to add turn-by-turn navigation to your apps.Get up and running in a few minutes with our drop-in turn-by-turn navigation NavigationViewController, or build a completely custom turn-by-turn navigation app with our core components for routing and navigation.

windows-build-tools - :package: Install C++ Build Tools for Windows using npm

  •    TypeScript

After installation, npm will automatically execute this module, which downloads and installs Visual C++ Build Tools, provided free of charge by Microsoft. These tools are required to compile popular native modules. If not already installed, it will also install Python 2.7, configuring your machine and npm appropriately. Both installations are conflict-free, meaning that they do not mess with existing installations of Visual Studio, C++ Build Tools, or Python. If you see anything that indicates otherwise, please file a bug.

swagger-node - Swagger module for node.js

  •    Javascript

The swagger module provides tools for designing and building Swagger-compliant APIs entirely in Node.js. It integrates with popular Node.js servers, including Express, Hapi, Restify, and Sails, as well as any Connect-based middleware. With swagger, you can specify, build, and test your API from the very beginning, on your laptop. It allows you to change and iterate your design without rewriting the logic of your implementation. Remember, one great thing about this approach is that all of the Swagger validation logic is handled for you, and all of the routing logic is managed through the Swagger configuration. You don't have to code (or recode!) any of that stuff yourself.


  •    C++

QtVlm is a routing software for virtual and real sailing boats. QtVlm can be used in two modes: - Virtual Racing designed to manage and pilot virtual boats from Virtual loup de mer VLM virtual races. - Real Boats connected (or not) to a GPS device. QtVlm uses boat polar diagrams and grib weather files, and includes Routing module (isochrons method), Route module respectively allowing route optimization and waypoints management.

tileserver-gl - Vector and raster maps with GL styles

  •    Javascript

Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. Make sure you have Node.js version 6 installed (running node -v it should output something like v6.11.3).

node-gdal - Node.js bindings for GDAL (Geospatial Data Abstraction Library)

  •    C++

Read and write raster and vector geospatial datasets straight from Node.js with this native GDAL binding. GDAL 2.0.1 (GEOS 3.4.2, Proj.4 4.8.0) comes bundled, so node-gdal will work straight out of the box. To get started, browse the API Documentation or examples. This binding is a collaboration between Natural Atlas and Mapbox. Its contributors are Brandon Reavis, Brian Reavis, Dane Springmeyer, Zac McCormick, and others.


  •    C++

Render Mapbox styles in mobile, desktop, and node applications using C++ and OpenGL

valhalla - Open Source Routing Engine for OpenStreetMap

  •    C++

Valhalla is an open source routing engine and accompanying libraries for use with OpenStreetMap data. Valhalla also includes tools like time+distance matrix computation, isochrones, elevation sampling, map matching and tour optimization (Travelling Salesman). Technical documentation for the various components of the library can be found here: docs. Service API documentation as well as links to a variety of technical descriptions are provided within the valhalla-docs repository.

node-msgpack - A space-efficient object serialization library for NodeJS

  •    Javascript

node-msgpack is an addon for NodeJS that provides an API for serializing and de-serializing JavaScript objects using the MessagePack library. The performance of this addon compared to the native JSON object isn't too bad, and the space required for serialized data is far less than JSON. node-msgpack is currently slower than the built-in JSON.stringify() and JSON.parse() methods. In recent versions of node.js, the JSON functions have been heavily optimized. node-msgpack is still more compact, and we are currently working performance improvements. Testing shows that, over 500k iterations, msgpack.pack() is about 5x slower than JSON.stringify(), and msgpack.unpack() is about 3.5x slower than JSON.parse().