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

Alternative route #281

Open
drspam1991 opened this issue Sep 11, 2019 · 9 comments
Open

Alternative route #281

drspam1991 opened this issue Sep 11, 2019 · 9 comments

Comments

@drspam1991
Copy link

drspam1991 commented Sep 11, 2019

Hi, is it possible to get alternative route (or routes) path from one src and dst point? (multiple route)

@juliusfriedman
Copy link

juliusfriedman commented Mar 9, 2020

You can try to use a contraction, I am not yet sure if it's intentional but I see differences in the route when using a Contraction vs not.

What I have done is use 2 separate router db's one with a contraction and one without to compare routes.

routerDb.AddContracted(profile, true);

I am not sure if this is intended by the author or not but it seems to be the case in certain routes.

@xivk , is there any intention that contracted routes are different than non contracted routes?

@xivk
Copy link
Contributor

xivk commented Mar 9, 2020

This is definitely not intentional, routes are supposed to be identical when the same profile is used.

Alternative routes are not supported by using the same profile, the only thing you can do is define 2 profiles that are slightly different. Those should generate alternative routes from some cases.

@juliusfriedman
Copy link

juliusfriedman commented Mar 9, 2020

Thank you for the clarification! I will open a new issue or add to this issue some examples of contracted vs non-contracted routes differing.

@juliusfriedman
Copy link

juliusfriedman commented Mar 9, 2020

See this zip file: @xivk

trip_62768674-62823414_Trowse-Elstow_short-noncontracted is totally different from trip_62768674-62823414_Trowse-Elstow_short-contracted
tripComparison.zip

Although they end up at the same place.

if you need other information to help debug this please let me know as I don't know where to look yet.

@juliusfriedman
Copy link

It seems the differences in my case were due to the multi threading issues I was experiencing, after #302 it seems there are less differences.

We are processing the results now and will keep you updated.

@juliusfriedman
Copy link

Unfortunately it seems there are LESS differences but not all are gone, there seem to be more differences on Fastest rather than shortest for some reason....

I am going to compile the most different results and post that zip also.

@juliusfriedman
Copy link

juliusfriedman commented Mar 9, 2020

Unfortunately it seems there are LESS differences but not all are gone, there seem to be more differences on Fastest rather than shortest for some reason....

I am going to compile the most different results and post that zip also.

So it turns out we compared some old files trying to do some things to quickly... it appears that the differences ARE gone after #302 with the lock on the db...

We are double confirmed but will triple confirm now.

@juliusfriedman
Copy link

In looking at some debug logs we have it seems that the main reason for this was due to multi threading, what seemed to happen when we had the issue is that the router would not be able to find the same exact point on certain attempts and ended up using a different point within the thresholds given to TryResolve. With the issue fixed it seems that the same point is always used and we no longer see the anomalous routes.

We have about 2k more files to compare and test but will let you know today or tomorrow what the final review reveals.

@juliusfriedman
Copy link

Just realized this is the wrong thread to be commenting on since this one is about Alternate routes. Sorry for hijacking.

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

No branches or pull requests

3 participants