A fork of MATSIM's DVRP module  for rebalancing of self-driving vehicles in an Autonomous Mobility on Demand (AMoD) framework. Implements the rebalancing algorithms presented in  and . The framework was used for simulations in .
Citing this work
F. Rossi, R. Zhang, Y. Hindy, and M. Pavone, “Routing Autonomous Vehicles in Congested Transportation Networks: Structural Properties and Coordination Algorithms,” Autonomous Robots, vol. 42, no. 7, pp. 1427–1442, 2018.
JRE (for MATSim), MATLAB (for the rebalancing algorithms in  and ), a MATLAB LP solver. The current LP solver is IBM ILOG CPLEX: a different LP solver (e.g. Gurobi or MATLAB's
linprog) can be used by modifying the file
Prepare a configuration file to specify the problem parameters. Sample configuration files are provided in
src/main/resources/configs - the relevant sample problem inputs are also provided in this repository, but you may have to specify absolute paths to them.
Specify the location of the configuration file in
Configure the location of the road map in the MATLAB optimizer by editing the file
MATLAB_utils/runOptimization.m (line ~52). A sample road map of New York City is provided in
LoadRoadGraphNYOSM.m . Note that the capacity of the roads in
LoadRoadGraphNYOSM do not necessarily match the capacity of the roads in the MATSim configuration file (which are reduced to account for exogenous traffic). To ensure that MATLAB and MATSim employ the same road capacities, edit line ~89 in
Ensure that 1. the road maps used by MATLAB and by MATSim are identical (use networkwriter.py to generate a MATSim map from the MATLAB map - see the User Guide for further information) and 2. the path of the optimization output in MATLAB is correctly specified in the configuration file.
src/main/java/RunAMoDExample.java to start the simulation.
The User Guide in the root folder provides a more detailed introduction to the matsim-AMoD package.
 M. Maciejewski, J. Bischoff, S. Hörl, K. Nagel (2017) Towards a testbed for dynamic vehicle routing algorithms; submitted to PAAMS-TAAPT.
 Zhang R, Pavone M (2016) Control of robotic Mobility-on-Demand systems: A queueing-theoretical perspective. Int. Journal of Robotics Research 35(1-3):186--203
 Zhang R*, Rossi F*, Pavone M (2016) Routing Autonomous Vehicles in congested transportation networks: structural properties and coordination algorithms. In Robotics: Science and Systems. Ann Arbor, MI, July, 2016.
 Rossi F, Zhang R, Hindy Y, Pavone M (2017) Routing Autonomous Vehicles in congested transportation networks: structural properties and coordination algorithms. Autonomous Robots, vol. 42, no. 7, pp. 1427–1442.