shootingstar (#18) - Strange end of my route (#190) - Message List

Strange end of my route

Hi

I'm trying to create some routes, but I've found one problem.

Suppose that I have 3 edges a(A,B), b(B,C), c(C,D) where A,B,C and D are vertex. I have only one target edge t(X,Y).

When I execute the shootstar for 'a' to 't' I have something like: a->b->c->d->j->k->l->t.

When I execute the shootstar for 'c' to 't' I have something like: c->d->j->k->l->t.

But, when I execute the shootstar for 'b' to 't' I have something like: b->c->d->k->x->y->t. When I change the source edge, the end of my route is changing!

Somebody know what is the problem?

  • Message #670

    It is difficult to tell anything without knowing your data. If you post it here or somewhere else, I can try to find the reason.

    • Message #748

      Anton,

      thanks for your reply. I investigated the source code, inserted debug lines and (I guess) I found the problem. The shooting star algorithm calculates paths of edges to edges, then, in relax, it compare (and combine) the weight of the predecessor edge.

      I changed the code to compare the weight of the current edge, simulating paths of nodes to nodes.

      Example: If original code I try to calculate the path of an edge to itself, the result is 0, ok? With my changes, the result is the weight of this edge, or the cost of from the first to the last node of this edge.

      It works for me... make sense for you? I'm doing something wrong?

      Thanks!

      Ps: I changed the file shooting_star_relax.hpp, lines 142 and 144.