Obviously it must not, but I’m struggling to understand why.
Obviously it must not, but I’m struggling to understand why.
But your idea is not too far off a technique used in the paper. Instead of adding a weight to each edge, the technique is to add a weight to each vertex (call this phi(v)) and modify each edge (u, v)'s weight to w(u, v) + phi(u) - phi(v). It turns out that modifying each edge's weight in this way preserves the ordering of paths. The tricky part is to find a phi that makes every edge weight positive so you can apply Dijkstra's.
The above technique -- called "price functions" -- has been known from 1977. The main result of this paper is how to discover price functions very quickly (in ~O(m \log W) time). This requires low-diameter graph decomposition and some other clever combinatorial techniques.
Sidenote: just yesterday this algorithm was taught in Berkeley's CS270 class. That's how I know this :). https://www2.eecs.berkeley.edu/Courses/CS270/