Efficient Protocols for Computing the Optimal Swap Edges of a Shortest Path Tree