最短路径问题实验报告RsPT_gKF.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最短路径问题实验报告RsPT_gKF

徐州工程学院 管理学院实验报告 实验课程名称 : 最短路径问题 实验地点: 南主楼七楼机房经济管理实验中心 2015 年 5 月至 2015 年 6 月 实验报告 实验项目:实验学时: 8 学时 实验日期:2015/5---2015/6 实验要求:通过对求最短路径方法的梳理,运用其中一种方法解决一个实际问题 实验内容:案例分析最短路径 几种算法的比较 蚁群算法 蚁群算法的基本原理可大致描述如下。蚂蚁属于群居昆虫,个体行为极其简单,而群体行为却相当复杂。相互协作的一群蚂蚁很容易找到从蚁穴到食物源的最短路径,而单个蚂蚁则不能。人们通过大量的研究发现,蚂蚁之所以可以做到这一点,是因为蚂蚁个体之间是通过在其所经过的路径上留下一种可称之为信息素的物质来进行信息传递。蚂蚁可以嗅到这种信息素,而且可以根据信息素的浓度来指导自己对前进方向的选择。同时,该信息素会随着时间的推移逐渐挥发掉,于是路径的长短及该路径上通过的蚂蚁的多少就对残余信息素的强度产生影响。反过来信息素的强弱又指导着其它蚂蚁的行动方向。因此,某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。这就构成了蚂蚁群体行为表现出的一种信息正反馈现象。蚂蚁个体之间就是通过这种信息交流达到快速找到食物源或蚁穴的。蚁群算法就是受这种行为启发,以人工蚂蚁模拟真实蚂蚁行为来求解组合优化问题,到目前为止,人们已经用它成功地解决了、等许多组合优化问题。 用基本蚁群算法(基于模型)求解最短路径问题的过程就是:将只蚂蚁放到起点处,每只蚂蚁将根据一定的概率选择下一个与此交叉点直接相邻的交叉点。蚂蚁从点出发,按照选择策略,从与相关联的边的集合中,选择一条边。然后,按照一定的方式更新这条边上的信息素浓度。接着再从这条边的另一节点开始,从与相关联的边的集合中,选择另一条边。以此类推,直到搜索到终点。于是,蚂蚁得到一个从到的解。直到所有的只蚂蚁都搜索完毕后,得到个解(包括重复的)。继续迭代直到满足停止条件,停止条件为最大迭代次数。在所求得的所有解中,值最小的解为所求的全局最优解,即最短路径的长度。 遗传算法 遗传算法抽象于生物体的进化过程,是一种通过全面模拟自然选择和遗传机制,形成具有“生成+检验”特征的搜索算法.遗传算法以编码空间代替问题的参数空间,以适应度函数为评价依据,以编码群体为进化基础,以对群体中个体位串的遗传操作实现选择和遗传机制,建立起一个迭代过程。在这一过程中,通过随机重组编码位串中重要的基因,使新一代的位串集合优于老一代的位串集合,群体的个体不断进化,逐渐接近最优解,最终达到求解问题的目的。遗传算法的运行过程为一个典型的迭代过程,其必须完成的工作内容和基本步骤如下: (1)选择编码策略,把参数集合和域转换为位串结构空间; (2)定义适应值函数; (3)确定遗传策略,包括选择群体大小,选择、交叉、变异方法,以及确定交叉概率、变异概率 等遗传参数; (4)随机初始化生成群体; (5)计算群体中个体位串解码后的适应值; (6)按照遗传策略,运用选择、交叉和变异算子作用于群体,形成下一代群体; (7)判断群体性能是否满足某一指标,或者已完成预定迭代次数,不满足则返回步骤6,或者修改遗传策略再返回步骤6。 通过比较遗传算法属于智能算法能切合实际的解决选址问题。因此下面对遗传算法进行详细说明、应用。 算法 算法主要用于计算所有节点对之间的最短路算法是通过权矩阵计算来实现的一种方法,其主要思想是从代表任意两个节点到距离的带权邻接矩阵开始,首先计算,即计算到经过一次经转的所有可能路径,经过比较后选出最短路,代替中对应的路径,迭代列出距离矩阵,中各元素表示通过一次迭代后网络中任意两点间最短路,也即网络中任意两点之间直接到达或只经过一个中间点时的最短路.在此基础上依次计算中对应的元素表示任意两点间不经过中间点或最多允许经过个中间点时的最短路。当时,表明得到的带权邻接矩阵就反映了所有顶点对之间的最短距离信息,成为最短距离矩阵.其算法(记为算法1)如下: 第一步,作初始距离矩阵,其中: ; 第二步,构造迭代矩阵,其中: ; 第三步,若,迭代终止.否则,返回第二步。 对算法进行分析,不难发现在不含负回路的网络中存在以下问题: (1)在计算两点和之间最短路时,每次都要计算次加法,且插入的中间节点很明显不能使路长变短,降低了计算效; (2)若要找出点、间的最短路,则要回头去查是如何计算出的,不妨设,同样再去查、是如何算出的,…,一直查到中的元素为止,才能找出所求最短路.显然上述寻找最短路径的方法不

文档评论(0)

beoes + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档