Optimizing passengers routes is crucial to design efficient transportation networks. Recent results show that optimal transport provides an efficient alternative to standard optimization methods. However, it is not yet clear if this formalism has empirical validity on engineering networks. We address this issue by considering different response functions — quantities determining the interaction between passengers — in the dynamics implementing the optimal transport formulation. Particularly, we couple passengers’ fluxes by taking their sum or the sum of their squares. The first choice naturally reflects edges occupancy in transportation networks, however the second guarantees convergence to an optimal configuration of flows. Both modeling choices are applied to the Paris metro. We measure the extent of traffic bottlenecks and infrastructure resilience to node removal, showing that the two settings are equivalent in the congested transport regime, but different in the branched one. In the latter, the two formulations differ on how fluxes are distributed, with one function favoring routes consolidation, thus potentially being prone to generate traffic overload. Additionally, we compare our method to Dijkstra’s algorithm to show its capacity to efficiently recover shortest-path-like graphs. Finally, we observe that optimal transport networks lie in the Pareto front drawn by the energy dissipated by passengers, and the cost to build the infrastructure.