- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络计划流程图运用MATLAB确定关键线路的方法
运用Floyd算法及MATLAB编程确定网络计划图关键线路的方法古雨鑫(西南科技大学 四川 绵阳 621000)摘要:关键线路的确定对工程有着重要的意义,同时也是目前常用的一种工程项目进度控制的计划方法,本文通过运用Floyd算法,以及MATLAB编程对矩阵的处理能力,本文给出了两种确定关键线路的方法,可以简单方便的确定网络图中的关键线路。关键词:MATLAB,网络流程图,Floyd算法,关键线路1 基本理论1.1基本概念工程中一项工作从开始到完成需要的时间和资源,在网络图中一般用箭线表示,箭尾表示工作的开始,而箭头表示工作的结束,工作的代号(或名称)一般写在箭线的上方,工作的所需要消耗的时间(资源)一般写在箭线的下方,除此以外,还有不消耗资源和时间的虚工作(一般用虚线表示,只与工作有逻辑关系),紧接着前一项的工作称为紧前工作,紧接着后一项的工作称为紧后工作。节点指紧前工作和紧后工作的交点,并附有数码(工程中箭头的数码必须大于箭尾的数码)。关键线路指的是工程中从起始节点到最后节点的所要经过的最长线路。1.2 确定关键线路的意义 现代工程的特点是规模巨大,对时间,资源,资源都有严格的要求,而关键线路更是直接决定工程的总工期,对工程的控制起到了重要的作用,找出关键线路在工程中有着重要的实际意义,对工程的控制有着决定的影响。2 确定工程项目的MATLAB算法方法2.1采用Floyd算法对关键线路的确定 Floyd算法的基本思想是递推产生一个矩阵序列 其中矩阵 的第 行第 列元素表示是从顶点 到顶点 的路径上所经过的顶点序号不大于k的最短路径长度。 计算时用的迭代公式 K是迭代次数,。 最后,当k=n时,就是个顶点之间的最短路径。最后将最短路径的信息储存在path矩阵中。2.1.1将关键线路转换为最短线路的方法及MATLAB对算法的程序实现在此我们需要将最短线路转换成关键线路进行计算,步骤如下: 设网络图B,将网络图的结构不变,使 (其中 为转换后的新矩阵,为B的各边权的最大值),这样就将最短路径的计算转换成关键路径的计算。证明如下:设 中从起点到终点的链为 ,中的节点的标号为 ,链的总长度为 : 其中 为G中的长度, 根据以上步骤和信息,编写MATLAB程序,可以实现网络图中任意两个节点关键线路的确定和工期的天数,基本步骤如下(附程序) 输入: a为根据网络图绘制的邻接矩阵 输出: Path为包含关键线路信息的矩阵MATLAB代码如下b=0;for i=1:n for j=1:n if a(i,j)~=inf b=max(b,a(i,j)); %求矩阵所有边的最大权 end endendfor i=1:n for j=1:n if a(i,j)~=inf D(i,j)=(j-i)*b-a(i,j); %将关键路径转换成最短路径 end endend path=zeros(n);D(D0 )=inf;for i=1:n for j=1:n if D(i,j)~=inf path(i,j)=j; end endendDfor k=1:n for j=1:n for i=1:n if D(i,j)D(i,k)+D(k,j) %算法中矩阵的迭代计算过程 D(i,j)=D(i,k)+D(k,j); path(i,j)=path(i,k); end end endendpath 这里以一副网络图为例:通过程序计算出的path矩阵我们可以通过path矩阵看出最短路线为线路为1-2-4-5-8-9-10。根据上述的转换原则,就有关键线路为1-2-4-5-8-9-10。2.3利用MATLAB对矩阵处理的能力找关键线路 MATLAB的强项主要是对矩阵的处理能力,这里看到用Floyd的算法计算关键线路时,要先将最短路径转换成关键路径,这里通过MATLAB编程直接计算关键线路的方法。这里我们通过编写程序记录最早开始时间和最迟开始时间,关键线路就是最早开始时间与最迟开始时间相等的线路。(附程序)输入:startnode:起始节点endnode:终止节点povertime:工作的持续时间输出:ET:最早开始时间FT:自由时间route:关键线路worktime:总工期LT:最迟开始时间程序如下:a=sparse(startnode,endnode,povertime);n=length(a);ET=zeros(1,n);LT=zeros(1,n)+inf;for j=2:n omg=0; for i=1:j-1 if a(i,j)0 omg=[omg,a(i,j)+ET(i)]; end endET(j)=max(omg); %记录每个工作的最早开始时间 endLT(n)=ET(length(ET));for i=n-1:-1:1 b=
您可能关注的文档
- 网络与生活方式的革命.doc
- 网络互联实验报告.doc
- 网络交换知识培训试题v10.docx
- 网络会计及其核算.doc
- 网络人远程控制软件一次性安装教程.doc
- 网络传播复习资料.doc
- 网络传播在现代公共关系学中的应用.docx
- 网络伴我健康成长.doc
- 网络信息检索论文.doc
- 网络与网络嗅探工具的使用.doc
- XX T 1149.11-2010 内燃机 活塞环 第11部分:楔形铸铁环正式版.doc
- XX T 1149.13-2008 内燃机 活塞环 第13部分:油环正式版.doc
- XX T 1149.12-2013 活塞环楔形钢环正式版.doc
- 人教版高中生物必修2全册教学课件.pptx
- 2025年春新北师大版8年级物理下册全册课件.pptx
- 2024年新人教版8年级上册物理全册课件.pptx
- (新统编版)语文三年级下册 第一单元 大单元教学 课件(共9课时).pptx
- 八年级语文下册第六单元24醉翁亭记课件省公开课一等奖新课获奖课件.pptx
- 八年级物理上册第六章质量与密度章末整理与复习习题省公开课一等奖新课获奖课件.pptx
- 外研版三年级英语下册期末复习单词专项.pptx
文档评论(0)