Dynamizing Dijkstra: A solution to dynamic shortest path problem through retroactive priority queue | Synapse