Skip to main content
. 2024 Mar 7;24(6):1738. doi: 10.3390/s24061738
Algorithm 1 FRER-EDPPS Algorithm

Input: Network topology G, Link failure rate pi,j, Node failure rate pk, (i,j)E,kV. Source node s, Destination node d.

Output: Working path Pw, Redundant path P, Replication node Nr, Eliminate node Ne

1: FOR (i=1; i<=N; i++)

2: FOR (j=1; j<=N; j++)

3: Ri,jL(1pi,j)·(1Bi,jU/Bi,jT);//Calculate link status and attribute information

4: RkN(1pk)·(1CkU/CkT);//Calculate node status and attribute information

5: RPRi,jL·RkN;//Calculating path reliability model

6: Wi,jln(Ri,jP);//Process path reliability model

7: END FOR

8: END FOR

9: Ps={Ps1,Ps2,,Psk}Dijkstra(s,G,d);//Calculate the shortest path set

10: PwPs{(Wi,j)max};//Select the path with the highest reliability as the working path

11: G1GE(Pw);//Delete all edges of the working path in G

12: Ps={Ps1,Ps2,,Psk}Dijkstra(s,G1,d);//Calculate the shortest path set

13: IF (Ps)//There exist a shortest path

14: PrPs{(Wi,j)max};//Filter out the path with the highest reliability as a redundant path

15: ELSE

16: G2G1+E(Pw(ds));//Add the reverse edge set of the work path to the disconnected graph G1

17: IF Dijkstra(s,G2,d)Ps//There are two paths that do not intersect

18: Pwnew,PrnewPs;

19: Pw,PrPwnew,Prnew;//Calculate two disjoint paths and update them with new working and redundant paths

20: END IF

21: Nr,NeNode(PwPr);//Filter common nodes for working and redundant paths

22: RETURN Pw,Pr,Nr,Ne;//Output working path, redundant path, copy nodes, eliminate nodes