Skip to content

MikeHopcroft/route13

Repository files navigation

Route13

Build Status npm version

Route13 is a framework for building simulators and optimizers for transportation networks. Route13 includes a number of naive, brute-force and heuristics based optimizers, but its pluggable architecture allows the use of more sophisticated optimizers, such as linear programming solvers and ML models. Route13 scenarios include forklifts in warehouses, baggage carts at airports, and trucks on highways. Basically anything that involves workers or equipment moving loads over a network while satisfying constraints around delivery times, equipment capacities, and worker schedules.

For information on how Route13 works, please see our design documents.

Try Route13

Route13 is a Node.js project, written in TypeScript. In order to use Route13 you must have Node installed on your machine. Route13 has been tested with Node version 10.15.3.

Route13 is be available as an npm package. To install Route13,

% npm install route13

To run the samples, it is best to build Route13 from sources. First, clone the repo:

% git clone https://github.com/MikeHopcroft/route13.git

Then run the following commands from the root of the repo:

% cd route13
% npm install
% npm run compile

Unit tests are based on Mocha and Chai and can be run with

% npm run test

Running the Samples

Route13 provides a number of sample applications that demonstrate various aspects of configuring and running simulations and optimizers.

  • Hello Route13 - shows how to configure and run a basic simulation.
  • Route Planning - demonstrates how to find the optimal route for a single Cart to perform a set of Jobs.
  • Graph - demonstrates the use of the Floyd-Warshall algorithm to find shortest paths and estimate travel times.
  • Job Assignment - demonstrates use of a brute-force optimizer to assign a of Jobs to a pool of Carts.
  • Staffing Generator - example of a synthetic generator that produces OutOfService events for a hypothetical workforce, consisting of multiple crews, each working a specific shift.
  • Transfer Generator - example of a synthetic generator that produces TransferJob events for a synthetic schedule of random arrivals and departures.
  • Full Route13 - simulates operations during a 24 hour period using 52 synthetic TransferJobs.

Route13 Applications

Section coming soon.

Using Route13

Section coming soon. For now, please see our design documents.

Contributing to Route13.

Section coming soon.

About

A framework for building simulators and optimizers for transportation networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published