乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何用<em>excel</em>求解网络最大流问题,求高手解答

如何用<em>excel</em>求解网络最大流问题,求高手解答

作者:乔山办公网日期:

返回目录:excel表格制作


function [f,wf,No]=MaxFlowMinCut_Me(n,C)
% 利用Ford--Fulkerson 标号法求最大流算法的MATLAB 程序代码
% f %显示7a64e59b9ee7ad94333最大流
% wf %显示最大流量
% No %显示标号, 由此可得最小割
% n 节点个数
% C %弧容量
% Example:
% n=8;
% C=[0 5 4 3 0 0 0 0
% 0 0 0 0 5 3 0 0
% 0 0 0 0 0 3 2 0
% 0 0 0 0 0 0 2 0
% 0 0 0 0 0 0 0 4
% 0 0 0 0 0 0 0 3
% 0 0 0 0 0 0 0 5
% 0 0 0 0 0 0 0 0];
% [f,wf,No]=MaxFlowMinCut_Me(n,C)

for(i=1:n)for(j=1:n)f(i,j)=0;end;end %取初始可行流f 为零流
for(i=1:n)No(i)=0;d(i)=0;end %No,d 记录标号
while(1)
No(1)=n+1;d(1)=Inf; %给发点vs 标号
while(1)pd=1; %标号过程
for(i=1:n)if(No(i)) %选择一个已标号的点vi
for(j=1:n)if(No(j)==0&f(i,j)<C(i,j)) %对于未给标号的点vj, 当vivj 为非饱和弧时
No(j)=i;d(j)=C(i,j)-f(i,j);pd=0;
if(d(j)>d(i))d(j)=d(i);end
elseif(No(j)==0&f(j,i)>0) %对于未给标号的点vj, 当vjvi 为非零流弧时
No(j)=-i;d(j)=f(j,i);pd=0;
if(d(j)>d(i))d(j)=d(i);end;end;end;end;end
if(No(n)|pd)break;end;end %若收点vt 得到标号或者无法标号, 终止标号过程
if(pd)break;end %vt 未得到标号, f 已是最大流, 算法终止
dvt=d(n);t=n; %进入调整过程, dvt 表示调整量
while(1)
if(No(t)>0)f(No(t),t)=f(No(t),t)+dvt; %前向弧调整
elseif(No(t)<0)f(No(t),t)=f(No(t),t)-dvt;end %后向弧调整
if(No(t)==1)for(i=1:n)No(i)=0;d(i)=0; end;break;end %当t 的标号为vs 时, 终止调整过程
t=No(t);end;end; %继续调整前一段弧上的流f
wf=0;for(j=1:n)wf=wf+f(1,j);end

end

应该是使用线性回归算法

让人讨厌的绕口描述,若是改用一个图就很简单的一个公式!!!

同一行首行是怎么一个概念,真没太懂呀!!!

如上图,估计是要求A列的对应数据吧?zd??

公式为:

=VLOOKUP(MAX(D3:D13),IF({1,0},D3:D13,A3:A13),2,0)

是否?



网络最大流有很多很杂的讨论和研究,动不动就会搞上矩阵算法。而且有些情况复杂,算法无法证明其正确。这摊子水很深哇。如果是简单拓扑,那么Excel的规划求解应该可以帮到你。
譬如,下图连接中的案例,Excel 应该可以求解。如果你是类似的简单拓扑,我们继续讨论下,纯理论研究我就不要继续了。
http://wendang.baidu.com/view/55c62e4569eae009581becc8.html
谈谈你的具体案子吧,说明白了才好有人帮你,否则可能像我这样冒了风险,白白降低了答题采纳率

相关阅读

  • <em>excel</em>公式栏怎么显示出来

  • 乔山办公网excel表格制作
  • 想要在同1个单元格里实现输入数字 显示文字是不行的,但是可以做到 在A1格输入数字,在A2格显示文字。比如在 A1 单元格中输入 “1”,输入完成后,A1 单元格的来内容立刻变成一种类
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网