graph theory – Implementing the problem of the shortest pair of disjoint paths for multigraphs

I would like to implement the shortest pairs of disjointed Suurballe and Tarjan paths for multigraphs in the interpretation of Banerjee et al. (http://web.cs.iastate.edu/~pavan/papers/short.pdf, relying only on Section 3).

concerning simple graphics, this algorithm can be defined for a G = (V, E) simple graphic having a source s and non-negative onboard costs c (u, v) as following:

(1) Build the tree of the shortest way T rooted in s for g using the Dijkstra algorithm.

(2) reduce the cost on all the edges (a B) as c (a, b) = c (a, b) + d (a) -d (b), or d (a) is the distance from the top a Summit s.

(3) Create an auxiliary graph G = (V,, E) as follows:

(3.1) together V = V and E & # 39; = empty,

(3.2) for each non-ridge edge (a, b) of E T:

(3.2.1) define V * as a set of nodes in the path between a and b in T with the exception of b,

(3.2.2) for each v & # 39; of V *: together E = E & # 39; U {(v & # 39; b)} and it (v,, b) = c (a, b).

(4) Build a shortest path tree T & # 39; rooted in s for G & # 39; weighted by the c & # 39; function, using Dijkstra 's algorithm.

(5) Save the predecessor of each summit X in T & # 39; as q (x) and the tail of the edge not-in g which caused the insertion of the (q (x), x) in G & # 39;.

(6) Create pairs of edge-disjoint paths for each v of V As follows:

(6.1) Mark all the vertices of the shortest path of v at s in g.

(6.2) Generate the paths in two iterations of the step Crossing given below. In each iteration, a path of the shortest pairs is generated.

Traversal: To define x = v, the path must be empty and repeat the following steps until x = s. Yes X is marked then uncheck and add (p (x), x) to the path, or add (y, x) at the path, where there is the parent of X in T.

Could you help me, please, to rephrase the algorithm for multigraphs? I guess G, p (), q () and Crossing of section 3 in Banerjee paper et al. should be changed somehow, but I do not know how.