Recently I released my Vehicle Routing Problem solver project under public license:
repo: https://github.com/reinterpretcat/vrp
user documentation: https://reinterpretcat.github.io/vrp/
Some highlights:
- solves multiple variants: CVRP HFVRP, VRPTW, VRPPD, VRPB, MDVRP, MTVRP, MOVRP, PVRP, etc.
- one unified json format which allows you to define multiple variants in one problem
- can be used as library or via command line interface
- written on Rust
- can be compiled to WebAssembly target which allows you to use it inside the browser
To use it with OSM maps, you would need to provide matrix routing data. By default, the solver uses great-circle distance approximation.