matlab求解最小费用最大流算问题的源程序,有没有

君,已阅读到文档的结尾了呢~~
matlab源代码 最小费用流 最小费用最大流 matlab中求最小值 matlab 最小二乘 matlab求最小值 matlab最小二乘拟合 最小费用最大流算法 matlab 最小值 matlab取最小值
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[matlab]最小费用最大流matlab源代码
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口【GreenSim.C原创】最小费用最大流算法通用Matlab程序
[f,MinCost,MaxFlow]=MinimumCostFlow(a,c,V,s,t)
%% MinimumCostFlow.m
%& 最小费用最大流算法通用Matlab函数
%% 此程序为GreenSim团队原创作品,转载请注明
%% 欢迎访问GreenSim团队的主页
%% 基于Floyd最短路算法的Ford和Fulkerson迭加算法
%& 基本思路:把各条弧上单位流量的费用看成某种长度,用Floyd求最短路的方法确定一条
%& 自V1至Vn的最短路;再将这条最短路作为可扩充路,用求解最大流问题的方法将其上的流
%& 量增至最大可能值;而这条最短路上的流量增加后,其上各条弧的单位流量的费用要重新
%& 确定,如此多次迭代,最终得到最小费用最大流.
%% 输入参数列表
单位流量的费用矩阵
链路容量矩阵
最大流的预设值,可为无穷大
%% 输出参数列表
链路流量矩阵
%& MinCost& 最小费用
%& MaxFlow& 最大流量
%% 第一步:初始化
N=size(a,1);%节点数目
f=zeros(N,N);%流量矩阵,初始时为零流
MaxFlow=sum(f(s,:));%最大流量,初始时也为零
flag=zeros(N,N);%真实的前向边应该被记住
if i~=j&&c(i,j)~=0
&&&&&&&&&&&
flag(i,j)=1;%前向边标记
&&&&&&&&&&&
flag(j,i)=-1;%反向边标记
if a(i,j)==inf
&&&&&&&&&&&
a(i,j)=BV;
&&&&&&&&&&&
w(i,j)=BV;%为提高程序的稳健性,以一个有限大数取代无穷大
if L(end)&BV
RE=1;%如果路径长度小于大数,说明路径存在
%% 第二步:迭代过程
RE==1&&MaxFlow&=V%停止条件为达到最大流的预设值或者没有从s到t的最短路
%以下为更新网络结构
MinCost1=sum(sum(f.*a));
MaxFlow1=sum(f(s,:));
TS=length(R)-1;%路径经过的跳数
LY=zeros(1,TS);%流量裕度
LY(i)=c(R(i),R(i+1));
maxLY=min(LY);%流量裕度的最小值,也即最大能够增加的流量
flag(u,v)==1&&maxLY&c(u,v)%当这条边为前向边且是非饱和边时
&&&&&&&&&&&
f(u,v)=f(u,v)+maxLY;%记录流量值
&&&&&&&&&&&
w(u,v)=a(u,v);%更新权重值
&&&&&&&&&&&
c(v,u)=c(v,u)+maxLY;%反向链路的流量裕度更新
flag(u,v)==1&&maxLY==c(u,v)%当这条边为前向边且是饱和边时
&&&&&&&&&&&
w(u,v)=BV;%更新权重值
&&&&&&&&&&&
c(u,v)=c(u,v)-maxLY;%更新流量裕度值
&&&&&&&&&&&
w(v,u)=-a(u,v);%反向链路权重更新
flag(u,v)==-1&&maxLY&c(u,v)%当这条边为反向边且是非饱和边时
&&&&&&&&&&&
w(v,u)=a(v,u);
&&&&&&&&&&&
c(v,u)=c(v,u)+maxLY;
&&&&&&&&&&&
w(u,v)=-a(v,u);
flag(u,v)==-1&&maxLY==c(u,v)%当这条边为反向边且是饱和边时
&&&&&&&&&&&
w(v,u)=a(v,u);
&&&&&&&&&&&
c(u,v)=c(u,v)-maxLY;
&&&&&&&&&&&
w(u,v)=BV;
MaxFlow2=sum(f(s,:));
MinCost2=sum(sum(f.*a));
MaxFlow2&=V
MaxFlow=MaxFlow2;
MinCost=MinCost2;
[L,R]=FLOYD(w,s,t);
f=f1+prop*(f-f1);
MaxFlow=V;
MinCost=MinCost1+prop*(MinCost2-MinCost1);
RE=1;%如果路径长度小于大数,说明路径存在
function [L,R]=FLOYD(w,s,t)
n=size(w,1);
path=zeros(n,n);
%以下是标准floyd算法
if D(i,j)~=inf
&&&&&&&&&&&
path(i,j)=j;
&&&&&&&&&&&
if D(i,k)+D(k,j)&D(i,j)
&&&&&&&&&&&&&&&
D(i,j)=D(i,k)+D(k,j);
&&&&&&&&&&&&&&&
path(i,j)=path(i,k);
&&&&&&&&&&&
L=zeros(0,0);
L=fliplr(L);
L=[L,D(s,t)];
R=[R,path(s,t)];
s=path(s,t);
已投稿到:2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
2013年5月 高性能开发大版内专家分月排行榜第二2013年4月 高性能开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。最小费用最大流matlab程序
最小费用最大流matlab程序
09-08-09 &
 目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是Maple、MATLAB、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。  一、Maple V 系统   Maple V是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple V的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。  二、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。  三、MathCAD 系统 MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。 MathCAD7.0 Professional(专业版)运行在Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。   MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。  四、Mathematica 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。 Mathematica的基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算是在用户和Mathematica互相交换、传递信息数据的过程中完成的。 Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。3.0版本可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。  五、四种软件的比较 选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是 MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能,可以很方便地处理科技文章。  mathematica 值得信赖,国外很多著名的大学都在用它作解析计算和公式的推导,证明,算法的研究,非常好的数学研究软件,我个人认为是No.1。它的数学分析可视化无与伦比。综合性能和另一个著名的软件Maple相比,又过之而无不及,要知道世界上绝大部分的量子物理,天体物理论文中的公式推导都由它完成。绝对高端但又易用,是数学,力学,物理研究人员的好帮手,甚至它的数值计算也完全可以应付学术研究。mathematica 和 Maple 的最新版本在用户公式的输入上都有很大改进,更加方便,随意。 北美不少Top大学的弹性力学,板壳理论,有限元等数学力学理论课的作业和Project都要求用它来完成。 我个人认为, 作为计算力学的工作者,从掌握语言的角度来讲, 只要掌握3种计算语言足够了,mathematica用来作解析法和数学模型的研究,Matlab用来实现数值算法(当然仍然可以还用mathematica), Fortran用来写可执行源代码。没必要把自己陷入众多的语言和计算软件之中,没有意义的。
请登录后再发表评论!
hao&.....................
请登录后再发表评论!MincostMaxflow 计算网络优化技术中的最小费用最大流问题。 matlab 238万源代码下载-
&文件名称: MincostMaxflow
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 1
&&提 供 者:
&详细说明:计算网络优化技术中的最小费用最大流问题。-Computing network optimization technology minimum cost maximum flow problem.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&MincostMaxflow.m
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 通过标号发计算网络优化技术中的最大流问题。
&[] - 图与网络是运筹学(Operations Research)中的一个经典和重要的分支,所研究的
问题涉及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等
诸多领域。下面将要讨论的最短路问题、最大流问题、最小费用流问题和匹配问题等都
是图与网络的基本问题。
我们首先通过一些例

我要回帖

 

随机推荐