bcgov / ols-router

BC Advanced Route Planner
https://bcgov.github.io/ols-router/
Apache License 2.0
23 stars 11 forks source link

Add support for two types of waypoints: stops and tweaks #186

Closed mraross closed 4 years ago

mraross commented 5 years ago

As a user, I want to be able to tweak the best route to reflect my local knowledge so that I get a best route that I feel more comfortable with.

A stopover point is a location the user intends to stop at on their way to their destination. A tweak point is a location that serves to alter the best route found by the route planner to more accurately reflect the user’s local knowledge. A steiner point is a kind of tweak point.

In optimalRoute resource request, don't reorder tweak points; only stops

Enhance the route planner API to support stops from tweaks. This could take the form of a single, new parameter called tweakPoints which contains a comma-separated list of integers indicating position in points parameter. If there are usually more stops than tweaks in a given route, one could define a stopPoints parameter.

Past routing requests can be used to infer local knowledge and improve the routing algorithm (e.g., through some machine learning algorithm?). MOTI can use past routing requests to to inform the refinement of existing designated truck routes and corridors.

cmhodgson commented 5 years ago

In an optimal route request, the tweak points would have to thrown out; in any other request, they are treated the same as regular stops. This could be handled entirely by the UI.

As far as using routing tweak points to infer local knowledge, that would require some level of permission. Again I think an MOTI-specific user interface could manage recording the tweak points outside of the router itself; with the eventual effect being to modify the cost values on which the router works. I don't think it would happen dynamically/automatically, but a machine learning algorithm could use such data to produce better cost values for the router to use, assuming there was enough of such data.

mraross commented 5 years ago

Of course, just don't give them to the route optimizer.

On the second point, not a problem. We just have a privacy disclaimer describing how we will collect route data for the sole purpose of improving the route planner.

Instead of having an MOTI-specific user interface, how about adding tweak support to the Route Planner Sandbox since it will be the front-end to our router test framework.

mraross commented 4 years ago

Not useful.