Solves Vehicle Routing Problems
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
node_modules
public
test
views
package.json
readme.md
router.js
stork.js

readme.md

Stork

Solves Vehicle Routing Problems

Given a depot location and a set of customer locations, Stork will tell you an optimized route for your vehicles to take.

Stork uses the Google Maps API to get a distance matrix from the locations, and uses Simulated Annealing to determine the routes for your vehicles to take.

Install

npm install stork

Run the server:

var Stork = require('stork')

var stork = new Stork({ port: 8000 }).start()

Now you can go to 127.0.0.1:8000 in your browser, and use the web app.

You can also query the REST API.

Stork exposes one REST resource:

POST /solve

Send the solution options as JSON. It can look like this:

{ numWorkers: 3,
  customers: [ 0, 1, 2, 3, 4, 5, 6, 7, 8 ],
  depotLoc: 'Waterloo, ON',
  maxRouteLength: 20000,
  lengthPenalty: 10,
  stability: 1000,
  verbose: false,
  distances: 
   [ [ 0, 3084, 2024, 1950, 2128, 799, 1541, 1260, 2103 ],
     [ 5639, 0, 1060, 3777, 3956, 2626, 3369, 3087, 4088 ],
     [ 3063, 1060, 0, 3336, 3514, 2185, 2927, 2646, 4394 ],
     [ 1318, 4402, 3342, 0, 476, 1151, 409, 1241, 3289 ],
     [ 1496, 4580, 3520, 476, 0, 1329, 587, 1420, 2813 ],
     [ 167, 3251, 2191, 1151, 1329, 0, 742, 461, 2270 ],
     [ 909, 3993, 2933, 409, 587, 742, 0, 833, 3012 ],
     [ 628, 3712, 2652, 1241, 1700, 461, 833, 0, 1807 ],
     [ 2009, 4532, 3472, 3273, 2797, 1882, 2625, 1790, 0 ] ],
  depot: [ 3314, 3360, 2300, 1420, 1840, 2515, 1773, 2606, 4035 ] }