In this paper, we study the relay selection problem in multi-user, multi-hop relay networks with the objective of minimizing the maximum outage probability across all users. When only one user is present, it is well known that the optimal relay selection problem can be solved efficiently via dynamic programming. This solution breaks down in the multi-user scenario due to dependence between users. We resolve this challenge using a novel relay aggregation approach. On the expanded trellis, dynamic programming can be used to solve the optimal relay selection problem with computational complexity linear in the number of hops. Numerical examples illustrate the efficient use of this algorithm for relay networks.