为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

算法分析与设计论文

2011-07-06 9页 doc 227KB 137阅读

用户头像

is_328845

暂无简介

举报
算法分析与设计论文题 目:浅析Floyd算法在校车安 排与站点优化中的应用 班 级:计算机科学与技术08-2 姓 名: 学 号: 指导教师: 浅析Floyd算法在校车安排与站点优化中的应用 摘要:本文主要论及了Floyd算法在校车安排与站点优化中的应用问题,该问题中涉及到求解最短距离以及教师及其他工作人员对这种安排的满意度等问题。关于这些问题的解决,可以利用计算机计算求解结果,然后统一实施安排。在具体实施过程中,提出一些假设,分析了每个问题在求解时所使用的算法,并编写了相应的程序代码,而且以表格和图表的形式给出了相关的结果。 一、问题描述 近年...
算法分析与设计论文
题 目:浅析Floyd算法在校车安 排与站点优化中的应用 班 级:计算机科学与技术08-2 姓 名: 学 号: 指导教师: 浅析Floyd算法在校车安排与站点优化中的应用 摘要:本文主要论及了Floyd算法在校车安排与站点优化中的应用问题,该问题中涉及到求解最短距离以及教师及其他工作人员对这种安排的满意度等问题。关于这些问题的解决,可以利用计算机计算求解结果,然后统一实施安排。在具体实施过程中,提出一些假设,分析了每个问题在求解时所使用的算法,并编写了相应的程序代码,而且以#表格#和图表的形式给出了相关的结果。 一、问题描述 近年来,许多高校都建有新校区,但是师资的限制常常使得教师和其他工作人员每天不得不往返于新校区与老校区。由于每天到新校区的教师和工作人员可能会很多,使得往往需要安排多辆校车去服务,校车安排不合理将直接影响学校的开支和工作人员的满意度等。因此,如何合理、有效的设置乘车点安排车辆,让教师和工作人员尽量满意是个十分重要的问题。 现在我们需要考虑如下两个问题: 问题1:如要建立n个停车点,为使住居于各区的人员到最近乘车点的距离最小,应该将校车乘车点建立在哪n个点。建立一般模型,并给n=2,3时的结果。 问题2:若考虑每个区的乘车人数,为使教师和工作人员满意度最大,应将校车乘车点应建立在哪n个点。建立一般模型,并给n=2,3时的结果。 二、问题假设 ​ 假设教师和工作人员的满意度仅与他们到乘车点的距离有关系,并简单 的认为距离近则满意度高,距离原则满意度低。 ​ 假设每辆校车都尽量装满人,不考虑乘车人数等因素对教师和工作人员 满意度的影响。 ​ 不考虑教师及工作人员的等车时间。 ​ 假设每个站点之间的路况都一样,忽略现实中的道路状况不同所带来的 影响。 ​ 假设在乘车点区间内人员的乘车距离为零。 ​ 假设每个区的教师和其他工作人员都选择到距离自己最近的一个固定 的乘车点进行乘车。 三、问题的形式化 在优化选择校车站点的过程中,从实际情况出发,我们可以知道乘车点的距离和小区的人数都会对教师及其他工作人员乘坐校车出行时的满意度有所影响。人数较多的小区代表了更多数人的意见,也就是乘车满意度。因此,对于人数较多的小区而言,如果站点安排不够合理,将会对整体满意度产生极大的影响。因而,在安排站点位置的时候,我们要考虑这些因素。 设置好乘车点之后,每个人走的路程相加所得的和最小时,教师及其他工作人员的乘车总体满意度也就最高。当我们考虑各区人数的差异时,就只需在前一问题的基础上用路程之和乘以各小区人数,所得值越小则表明满意程度越高。 本题主要是解决校车安排和站点优化使得教师及其他工作人员对校车的安排的满意度达到最大,在以上对问题的假设的基础之上,要想使各位的满意度最大,就必须使乘车站点建立在最优的区域之内。在解决第一个问题时运用最短路径的思想求解出最小距离的n个乘车站点。而问题二则是在问题一的基础上计算出所有各区人员乘以各区距离的总距离矩阵,并程序用各区域人员至乘车点的最小距离来表示满意度最大,通过求解出建立站点的区域做进一步处理得出其满意度。各区域之间的连接分布图大致有以下几种: 注:(Ⅰ)线型:两区域间仅一条路径。 (Ⅱ)树型:两区域连接到同一结点。 (Ⅲ)环型:多个区域连接成一个环。 (Ⅳ)星型:多个区域均连接到同一结点。 四、算法分析与问题求解 1、Floyd算法求解最短路 正如前文分析所述,乘车点距离是影响乘车点优化选择的关键因素,教师及其他工作人员乘车时首先考虑选择的是距离自己最近的乘车点进行乘车。因此,我们有必要求出各个小区间的最短距离,对此我们使用Floyd算法进行求解。 Floyd算法是求解每对顶点间最短路的算法,算法的基本思想是直接在图的带权邻接矩阵中用插入顶点的依次构造出n个矩阵D(1)、D(2)、…、D(n),使最后得到的矩阵D(n)成为图的距离矩阵,同时也需要求出插入点矩阵以便得到两点间的最短路径。 Floyd算法求任意两点间的最短路,算法步骤: Step1:把图用邻接矩阵 表示出来,如果从 到 有路可达,则 ,其中 表示该路的长度;否则 NULL。 Step2:定义一个矩阵 用来记录所插入点的信息, 表示从 到 需要经过的点,初始化 。 Step3:把各个顶点插入图中,比较插点后的距离与原来的距离, ,如果 的值变小,则 。 在矩阵 中包含有两点之间最短道路的信息,而在矩阵 中则包含了最短通路的信息。比如,要寻找从 到 的路径,根据 ,假如D(4,1)=2则从 到 经过 ,走过的路径为 、 、 ,如果D(5,2)=2,说明 与 直接相连。 ​ 编写求解最短路代码,部分核心伪代码如下: 注:Floyd算法求最短路径,输入矩阵a为各点的带权邻接矩阵,输出矩阵D为各点间最短距离,矩阵R为最短路径。 n=size(a,1); D=a; for(i=1,i<=n;i++) for(j=1;j<=n;j++) R(i,j)=j; for( k=1,k<=n;i++) for(i=1;i<=n;j++) for(j=1,j<=n;i++) if D(i,k)+D(k,j)方案
。 设计步骤如下: 注:dti表示t区到i区的最短距离,N表示小区总数目,St表示t区教师和工作人员到最近乘车点的距离,ni表示以ni区为乘车点(0标准
。 在第1问中我们已经求得:当N=2时,以n1, n2区为乘车点时,St=min{dn1t,dn2t},以t区人数Pt乘以距离S作为Wt值,即Wt=Pt*St,W总= 。同理我们可以求得:当N=3时,St=min{dn1t,dn2t,dn3t},从而 ,即得:Wt=Pt*St,W总= 。 ​ N=2时,求解乘车点的区域时的核心代码如下: int min(int x,int y) { int z; z=x
/
本文档为【算法分析与设计论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索