Modulito (archivo.py) que resolverá el shortest-path con un formato similar al que se utilizó en MATLAB. A continuación contextualización proveída por @kennycp06
Creación de Nodos
function [FuncionObj, Rutas] = Traduccion(vector, D, contenedor, Vehiculos);
%Lista de nodos productores
m = [];
n = [];
w = [];
%Recorrer el contenedor
for i = 1:length(contenedor)
viaje = contenedor(i).Ruta;%Guardar e viaje
nviaje = length(contenedor(i).Ruta);
LonViaje = nviaje-2;
%Guardar nodos productores
posReceptor = find(vector == viaje(nviaje-1));
if (posReceptor-LonViaje) > 0
%Guardar nodos productor
m = [m vector(posReceptor-LonViaje)];
%Guardar nodos receptor
n = [n vector(posReceptor)];
%Guardar el peso
w = [w D(m(i),n(i))];
else
%Guardar nodos productor
m = [m viaje(1)];
%Guardar nodos receptor
n = [n vector(posReceptor)];
%Guardar el peso
w = [w D(m(i),n(i))];
end
end
[FuncionObj,Rutas] = BellFordMan(vector, D, w,m,n,Vehiculos);
end
Generación del Grafo (Input de este componente)
function [FOBJ, PathO] = BellFordMan(vector, D, w,m,n,Vehiculos)
N=length(vector); %Numero de nodos
s=N+1; % Deposito
e_num= length(m);%Numero de aristas
%names={'1','2','3','4','5','6'};
GPrins=digraph(m,n,w); %Digrafo de cobertura de Prins