inoltre l'algoritmo in pseudocodice che ho sviluppato è questo... pensate che vada bene?
Fastest-Way(a,t,e,x,n)
f1[1] ← e1+a1,1
f2[1] ← e2+a2,1
fk[1] ← ek+ak,1
for i ← 1 to k // per ogni catena inizializzo i tempi della prima stazione
do f[i,1] ← ei+ai,1
for j ← 2 to L // Per ogni stazione
for i ← 1 to k // di ogni catena
for n ← 1 to k // calcolo f[i,j]
do if n=i // non controlliamo la stessa stazione sulla stessa catena
then break;
if fi[j - 1] + a1,j ≤ fn[j - 1] + tn,j-1 + ai,j
then fi[j] ← fi[j - 1] + ai, j
li[j] ← i // arrivo alla stazione j-esima di i attraverso i
else fi[j] ← fn[j - 1] + tn,j-1 + ai,j
li[j] ← n // arrivo alla stazione j-esima di i attraverso n
if f2[j - 1] + a2,j ≤ f1[j - 1] + t1,j-1 + a2,j
then f2[j] ← f2[j - 1] + a2,j
l2[j] ← 2
else f2[j] ← f1[j - 1] + t1,j-1 + a2,j
l2[j] ← 1
f* ← f1[L] + x1
l* ← 1
do if fi[L] + xi < f*
then f*← fi[L]+xi
l* = i