It4innovations / ruth

GNU General Public License v3.0
2 stars 1 forks source link

Remove dependency on Rust and introduce alternatives and route selection interfaces #31

Closed Kobzol closed 1 year ago

Kobzol commented 1 year ago

This PR changes and simplifies the structure of the simulator. Both alternatives and route selection implementations are now provided via interfaces, and it's thus easily possible to implement various implementations of these algorithms. PTDR is not implemented yet, it would need to be adapted to match the new interfaces.

The movement of a vehicle (advance_vehicle) has now also been rewritten from Rust to Python. If PTDR is not needed, the Rust binding can now be completely removed from the simulator.

To start the simulator, you can run this command:

python3 -m ruth.tools.simulator run <path-to-vehicles> [--alternatives <alternatives impl>] [--route-selection <route selection impl>]