Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for finding best route with overrides #301

Open
mraross opened this issue Oct 4, 2020 · 1 comment
Open

Add support for finding best route with overrides #301

mraross opened this issue Oct 4, 2020 · 1 comment

Comments

@mraross
Copy link

mraross commented Oct 4, 2020

Find the best truck route in a way that allows a user to override some restrictions. These overrides will result in a best route that goes through violated restrictions. The RDM API will have sufficient data to allow the Route Planner to determine if a given restriction may be overridden, whether or not manual approval of an override by a permit authority is required. If manual approval is not required, the RDM API must provide driving instructions that mitigate the violation. These instructions must be included in the turn-by-turn directions.

In addition to best route, return a list of all overriden restrictions including any predefined mitigation.

Could add an &allowOverrides parameter to truck/directions resource to enable this mode.

Here's how this might work:

  1. In the app, the user defines waypoints then asks the app to make a truck/directions request with &allowOverrides=true.

  2. The Route Planner finds the best route by applying hard restrictions and allowing soft restrictions to be violated. If a soft restriction has a predefined mitigation strategy such as a counterflow maneuver, that maneuver is added to the driving instructions. Best route and a list of violated restrictions are returned to the app.

  3. In the app, the user defines driving instructions to mitigate each violated restriction The app attaches driving instructions to the appropriate violated restriction.

  4. In the app, the user asks the app to make another truck/directions request with &allowSoftViolations=true and provides the list of mitigatedViolations (restrictionId,instruction).

  5. The Route Planner finds the best route and a list of all violated soft restrictions and adds supplied migitation instructions to turn-by-turn directions for each violated restriction. Unmitigated restriction violations, if any, are returned along with best route and directions.

  6. In the app, if any unmitigated restriction violations are returned by geocoder, the user may continue to migitate restrictions, change route waypoints and ask the app to submit a new truck/directions request , or give up.

[LS001 - piii, LS002 - pii]

@mraross mraross self-assigned this Oct 4, 2020
@mraross mraross changed the title Add support for finding best route by applying hard restrictions and allowing soft restrictions to be violated. Add support for finding best route by applying hard restrictions and allowing soft restrictions to be violated Oct 4, 2020
@mraross mraross added truck routing and removed P3 labels Oct 4, 2020
@mraross mraross changed the title Add support for finding best route by applying hard restrictions and allowing soft restrictions to be violated Add support for finding best route with overrides Oct 8, 2020
@mraross mraross added P3 and removed P2 labels Oct 8, 2020
@alixcote
Copy link

alixcote commented Dec 29, 2022

Review additional details from ticket #161

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants