I have N
number of nodes at start and end where they can be paired as N
number of sets (1 to 1, .., n to n, .., N to N
). However, I have M
stages (can be assumed as parallel stages) in between the start and end, and each stage has R
number of nodes where R>=N
.
If I consider start n
node to end n
node (i.e., n to n
pair), I have to pass (M+1)
hops to reach end node, and there are R^M
possible paths. Thus, all possible paths for all pairs are N*R^M
.
I weight each link as : the link between node i
at stage m
and node j
at stage m+1
as w_{i,j}^{m,m+1}
.
I want to write a MATLAB code to generate all possible paths each pair, i.e., N number of pairs. Can someone please help me?
I tried it only using exhaustive search just for 2 start and end nodes with 2 stages that have 3 nodes. But I don't know how to write this for a general network with effective way. Please help me !!!
Added: For example: N = M = 2, R = 3
I have R^M=2^3=9
possible paths for each pair. For both pairs, I have 18
. For 1 to 1
pair, possible paths set is:
{1-1-1-1, 1-1-2-1,1-1-3-1
1-2-1-1, 1-2-2-1,1-2-3-1
1-3-1-1, 1-3-2-1,1-3-3-1}
and corresponding weights set is (0
represents start) :
{w_{1,1}^{0,1}-w_{1,1}^{1,2}-w_{1,1}^{2,3}; w_{1,1}^{0,1}-w_{1,2}^{1,2}-w_{2,1}^{2,3}; w_{1,1}^{0,1}-w_{1,3}^{1,2}-w_{3,1}^{2,3}, ........., w_{1,3}^{0,1}-w_{3,3}^{1,2}-w_{3,1}^{2,3}}
Same follows for the 2 to 2
pair.
Actually, my exhaustive search I generate each hop as matrix with randomly generated weights. From start to 1st hop: A=rand(2,3)
, then 1st hop to 2nd hop: B=rand(3,3)
, and 2nd to end: C=rand(3,2)