基于网络图资源分配问题算法研究及实现.docVIP

基于网络图资源分配问题算法研究及实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于网络图资源分配问题算法研究及实现

基于网络图资源分配问题算法研究及实现   摘要:图论是应用十分广泛的运筹学分支,用网络图来解决资源分配的问题不仅可以简化求解过程而且丰富了求解方法。在深入分析Dijkstra算法的基础上,实现了基于网络图的资源分配问题的求解和图形表示。   关键词:资源分配;网络图;Dijkstra算法;最短路径   中图分类号:TP301文献标识码:A文章编号:1009-3044(2007)05-11255-02      1 引言   图论是运筹学中有着广泛应用的一个分支,借助于图与网络模型及其分析技术可以成功解决很多管理问题。用网络图来解决资源分配的问题不仅可以简化求解过程而且丰富了求解方法,本文根据网络图的资源分配问题的算法分析,用计算机语言(Delphi 7.0)实现了基于网络图的资源分配问题的求解和图形表示。      2 网络图的基本概念   一个图是由一些点及一些点之间的连线组成,它可以反映一些对象之间的关系。边是两点之间不带箭头的连线。弧是两点之间带箭头的连线。   无向图是由点及边构成的图,记为G=(V,E),V、E分别是G的点集合和边集合。一条连接点Vi和Vj的边记为[Vi,Vj](或[Vj,Vi])。   有向图是由点及弧所构成的图,记为D=[V,A],V、A分别是D的点集合和弧集合。一个方向是从Vi指向Vj的弧记为(Vi,Vj)。   现实生活中的许多问题用图形来描述可能更方便。例如,点可表示城市,连线表示一条铁路,或者用点表示通信站,而连线表示通信线路。图1表示了各作战阵地之间是否可通及之间距离的关系。   图1 作战阵地之间的网络图      3 基本算法分析   3.1 最短路问题   已知一个网络图D=(V,E),最短路问题就是寻求一条从起点S到终点T的路,使路上的总权和最小。Dijkstra算法是解决这类资源分配问题的一种算法。   3.2 Dijkstra算法的基本思想   求最短路的标号算法是1959年由E.W.Dijkstra首先提出来的,故称为Dijkstra算法。它是目前公认的较成熟的算法,但仅适用弧权C(E)≥0的情况。此算法不仅求出了由始点S到终点T的最短路(S,T),而且也给出了从S到T的所有其他顶点的最短路。   Dijkstra算法的基本思想是:   若(vs,v1,v2,…,vk)是从vs到vk的最短路,则{(vs,v1,v2,…,vi)}是从vs到vi的最短路。   3.3 Dijkstrs算法的步骤   (1)求出从nr至所有后续节点nk的全部路径,并计算每条路径的长度Crk。   (2)设P1和 P2为从nr至nk的两条不同路径l(P1) ≠l(P2), 是否成立?若是,则转入第三步;若否,则转入第四步。   (3)求L(pg ):=max{l(P1);l(P2)}, 令M:=M∪{pg}。   (4)求 l(Pp):=min{l(Pt)|Pt?埸M}。   (5) l(Pp)是否成立?若是,则转入第六步;若否,则停止计算,从nr至nk无最少费用路径。   (6)设P1和P2为从nr至nk的两条不同路径,l(P1) ≠l(P2)是否成立?若是,则转入第三步;若否,则转入第四步。设l(Pp)为最短路径Pp的长nj=ns,是否成立?若是,则停止计算,从nr至nk的最少费用路径由l(Pp)为路径Pp的长度给定;若否,则转入第七步。   (7)求从nj到不在路径Pp上的后续节点njq的所有路径,同时计算路径的长度l(nr,…,nj,njq):=l(Pp)+Cijq,令M:=M∪{Pp},转至第二步。   其中:l(Pp)、l(P2)表示nr至nk的两条不同路径的长度,M表示原有节点的集合,nj、ns分别表示原有节点和最终节点。      4 程序设计   4.1 程序设计思想   在给定资源、阶段数及指标函数值之后,通过计算得出最优分配方案及最优值,同时用网络图的形式表示出所有分配方案及最优方案。   4.2 程序流程图分析   流程图如图2所示。   4.3 程序关键模块分析   4.3.1 将输入的指标函数矩阵转化为网络图的矩阵的模块   该模块是将输入的指标函数矩阵转化为网络图的矩阵。例如:有一个3阶段1个资源的问题,其指标函数矩阵(如图1),将形成一个节点为(资源+1)*(阶段-1)+2的网络图(如图3)。   图2 程序设计流程图   图3 3阶段1个资源的网络图   有向图的矩阵表示如下:   其中,程序算法规定:节点到本身节点用0表示,不通路用一个很大的数M来表示。   4.3.2 最短路问题两顶点间路径计算模块   a. 假设   给定一单连通图N,其中非负权C表示弧的长度或费用

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档