Shortest-Path-Preserving Rounding

Various applications of graphs, in particular applications related to finding shortest paths, naturally get inputs with real weights on the edges. However, for algorithmic or visualization reasons, inputs with integer weights would often be preferable or even required. This raises the following question: given an undirected graph with non-negative real weights on the edges and an error threshold \(\varepsilon \), how efficiently can we decide whether we can round all weights such that shortest paths are maintained, and the change of weight of each shortest path is less than \(\varepsilon \)? So far, only for path-shaped graphs a polynomial-time algorithm was known. In this paper we prove, by reduction from 3-SAT, that, in general, the problem is NP-hard. However, if the graph is a tree with n vertices, the problem can be solved in \(O(n^2)\) time.