配流08—基于有效路径的Dial算法改进

《基于有效路径的Dial算法改进》

[1]刘志祥,陈明明,顾金伟. 基于有效路径的Dial算法改进[J]. 徐州工程学院学报(自然科学版),2017,(01):49-53.

说明:此文为《基于有效路径的Dial算法改进》的程序实现过程,参照原文请按以下连接下载。

下载地址:点击此处


1 经典Dial算法程序及算例

fprintf('                                     《经典Dial算法》\n');
disp('=========================================================================================');
%% 数据输入
T=[   0    20    18    19   Inf
    Inf     0     5   Inf    20
    Inf   Inf     0     5    20
    Inf   Inf   Inf     0    27
    Inf   Inf   Inf   Inf     0];
Q=1;thita=1;r=1;s=5;
n=size(T,1);
fprintf('起点: r=%2d\n终点: s=%2d\n',r,s);
%% 初始化
L=zeros(n,n);
W=zeros(n,n);
X=zeros(n,n);
%% 求最短距离矩阵
disp('step1->:求最短距离,其中');
disp('------------------------------------------------------------------------------------------');
disp('   R—起点r到其他点的最短距离');
disp('   S—其他点到终点s的最短距离');
for i=1:n
    for j=1:n
        if T(i,j)==inf
            T(i,j)=0;
        end
    end
end
T=sparse(T);
Tmin=graphallshortestpaths(T);
[dist,path]=graphshortestpath(T,r,s);
disp('------------------------------------------------------------------------------------------');
R=Tmin(r,:)
S=Tmin(:,s)'
%% 求上下游节点矩阵
for i=1:n
    for j=1:n
        if T(i,j)~=0&&T(i,j)~=inf
            down(i,j)=1;
            up(j,i)=1;
        else
            down(i,j)=0;
            up
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值