Transitive Reduction is simply the reverse of Transitive Closure.
Assuming a DAG, For each edge (u,v), if there exists a node w, with edges (u,w) and (w,v), such that |(u,w)| + |(w,v)| == |(u,v)| then delete the edge (u,v).
This can be solved easily in O(n^3) where n is the number of nodes using Floyd-Warshall.