【最短路】求最大期望容量路的算法及其matlab实现

内容来源:《图论算法及其matlab实现》(北京航空航天出版社)

P36

 

 

代码:

 1 %最大期望容量路的算法
 2 function [pw,f]=efpathf(P,C)
 3 
 4 f1=0;
 5 f=0;
 6 k=1;
 7 while f1==0&k<100
 8     [pw1 pt f1]=p_pathf(P);%计算一条最大可靠路
 9     if f1==0
10         c1=inf;
11         %计算路的容量
12         for i=1:(length(pw1)-1)
13             c2=C(pw1(i),pw1(i+1));
14             if c1>c2
15                 c1=c2;
16             end
17         end
18         ft=c1*pt;%计算路的期望容量
19         
20         %步骤2
21         C(C<c1)=0;
22         P(C<c1)=0;
23         %步骤3
24         if ft>f
25             f=ft;
26             pw=pw1;
27         end
28         k=k+1;   %在一定循环次数内进行计算,防止发生死循环
29     end
30 end

 

 

检验一下:

P=[1 0.8 0 0 0.2;
    0.4 1 0.7 0 0;
    0 0.8 1 0.5 0;
    0.6 0 0 1 0.4;
    0.3 0 0.7 0.5 1];

C=[inf 2 0 0 10;
    3 inf 4 0 0;
    0 6 inf 3 0;
    8 0 0 inf 5;
    2 inf 8 5 inf];
[pw,f]=efpathf(P,C)

运行结果:

pw =

     1     5


f =

     2

 

转载于:https://www.cnblogs.com/this-is-bbh/p/7501328.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值