数学建模论文基于贪婪算法的公园内道路设计模型.doc
《数学建模论文基于贪婪算法的公园内道路设计模型.doc》由会员分享,可在线阅读,更多相关《数学建模论文基于贪婪算法的公园内道路设计模型.doc(36页珍藏版)》请在三一办公上搜索。
1、 编程 编程 建模 建模 组别: 7 建模 组员:公 园 道 路 设 计 问 题组别:_ 建模 目录基于贪婪算法的公园内道路设计模型1摘要11 问题重述22 问题分析22.1问题1的分析32.2问题2的分析32.3问题3的分析33 模型假设34 符号说明35 模型的建立与求解45.1问题1模型建立与求解45.1.1问题1模型的建立45.1.2问题1模型的求解65.2问题2模型的建立与求解85.2.1问题2模型的建立85.2.2问题2模型的求解95.2.3问题2模型的结果对比115.3问题3模型的建立与求解145.3.1问题3模型的建立145.3.2问题3模型的求解145.3.3问题3模型结果分
2、析186模型评价196.1模型的优点206.2模型的缺点207模型推广208参考文献219附录21基于贪婪算法的公园内道路设计模型摘要本题通过公园内部规划设计道路,在已有的边界条件下,找出相应的最短路径最优解,可利用贪婪算法,通过局部优化逐步逼近最优解。对问题1,以给定的四个交叉点的情况下,寻找公园内的最短道路最优解,并满足约束条件。根据贪婪算法的基本原理,可以先用经典算法prim或kruskal对组成的点集构造最小生成树,再用floyd算法逐个筛选在最小生成树下的解,通过边和点集的不断更换,求得任意两点间的最短路径矩阵,进而求解最短道路的最优集。对问题2,考虑到交叉点的位置选取与交叉点数目对
3、问题的双重影响,通过列举0,1,2,3四个情况下可能存在的交叉点进行建模。特别考虑到,任意两点间的最短路径要满足小于1.4两点间直线距离,可以利用椭圆的相关性质,在矩形区域相做交叉点的交点点集,简化问题2对交点位置的穷举过程。利用局部优化,在矩形区域内分别建立H型交叉点模型和双Y型交叉点模型,再通过交叉点数目的变化,求解得两种模型下的最优解,并进行对比,分析此两种模型下的最优程度,做出评判标准和相应交叉点坐标。对问题3,利用公园内增加矩形湖这一约束条件,对问题2中的不用交叉点模型进行验证,通过合理假设湖边道路存在并不计入总道路长,简化模型的操作,通过交替迭代法,建立在H型交叉点模型和双Y型交叉
4、点模型基础上的局部最优解。再根据穷举法,对矩形区域内所有的点进行最优求解。并通过交替迭代法与穷举法的多次使用,逐步逼近全局最优解。对3个问题的综合分析后,贪婪算法下的最短路径最优解还可以在城市规划中,利用不同交叉点模型的局部优化程度的不同性,按功能和价值等对城市进行合理规划。关键词:贪婪算法局部最优解最小生成树Floydprim逐次逼近1 问题重述现计划建一个形状为矩形公园,公园计划有若干个入口,需要建立一个模型去设计道路让任意两个入口相连,使总的道路长度和最小(公园四周不计入总长),前提要求是任意的两个入口之间的最短道路长不大于两点连线的1.4倍。设计对象可为如图1所示,长200米,宽100
5、米的矩形公园。要求公园内新修的道路与四周的连接只能与8个路口相通,而不能连到四周的其它点,现要完成以下问题:1、假定公园内确定要使用4个道路交叉点为:A(50,75),B(40,40),C(120,40),D(115,70)。通过建立模型并给出算法使公园内道路的总路程最短,画出道路设计,计算新修路的总路程。2、现在公园内可以任意修建道路,如何在满足条件下使总路程最少。建立模型并给出算法。给出道路交叉点的坐标,画出道路设计,计算新修路的总路程。3、若公园内有一条矩形的湖,新修的道路不能通过,但可以到达湖四周的边,示意图见图2,重复完成问题2的任务。图1公园入口坐标2 问题分析本题是一个道路设计的
6、最优化的问题,即是如何利用已有的边界,使公园内部新修路总长最小,同时满足以下两个约束条件:K1:任两个入口连通;K2:任两个入口的最短路径不超过其直线距离的1.4倍。2.1问题1的分析找出四个交叉点下的最小路问题,可以根据prim算法,可以求得公园内四个交叉点下的最小生成树,在此条件下利用Floyd算法计算出任意两点之间的最短路径,做出最短路径矩阵并进行校对。2.2问题2的分析在问题1的基础上,解决问题2的关键在于交叉点的数目与位置的分析与求解,利用本题中对最小路径的1.4倍约束,容易发现若以其中任意两点为焦点利用椭圆的几何性质就可以求得交叉点大致范围,同时在交叉点数目m为1,2,3.时,再次
7、利用问题1求解此条件下的最小路径问题。2.3问题3的分析利用问题2中的不同交叉点模型下的最短路径最优解,主要分析此条件下的路径与湖的交叉问题,通过合理的假设令湖边的路长不计入总路长,利用穷举法,对最优路径逐步逼近得到最优解。3 模型假设1、忽略道路宽度,交叉点的不影响道路长度;2、问题3中的沿湖道路长度不计入总道路长度;3、所有的道路均为直线,门与交叉点均为点参与计算;4、任意两点间最短路径不构成环路。4 符号说明在模型构建过程中,为简化说明,将主要参与模型中计算的量用符号表示,如表1所示:表1运算符号说明符号说明PiAimdijDDssijSxijX公园入口数(i=1,2,3.8)公园内的点
8、数(i=1,2,3n)公园内的交叉点数(m=n-8)从i点到j点的距离dij所构成的距离矩阵D矩阵的控制矩阵Ds=1.4D从i点到j点的最短路径距离从i点到j点的最短距离矩阵01决策变量xij所构成的决策变量矩阵根据上述说明,符号间还满足下列关系:其中,同时 其中xij满足0-1决策变量5 模型的建立与求解5.1问题1模型建立与求解5.1.1问题1模型的建立问题一中已假定4个交叉点,故可构造公园内点集为:为尽可能地简化模型,则应使通过公园边界的道路长度尽可能地长,通过matlab计算任意两点间的边界距离和直线1.4倍距离(仅在18个点),并制成表格(仅制成下三角,下同)(见附录1):表2门口点
9、与点间的边界距离P1P2P3P4P5P6P7P8P103014023024015513045P2011020027018516075P3090220295270185P40130215240275P5085110195P6025110P7085P80利用matlab对Ds求解,可以得到表3的八个入口的1.4倍直线距离。表3八个入口的1.4倍直线距离P1P2P3P4P5P6P7P8P1042196261.5197.9141.5140.644.8P20154221.3170.8141.5150.778.2P3089.6150.7224.1252.3226.7P40132.0241.3275.028
10、2.1P50119154198.1P6035115.8P70105.9P80将上表与边界上的点间距和1.4倍直线距离进行对比可以发现,15,16,18,25,26,27,34,35,36,37这10个距离不满足小于两点间1.4倍直线距离的要求,则在以后的讨论中将视为重点讨论。考虑此问题的高计算度,通过对每个点和边权值在0-1决策变量下的所有情况,可以得到最短路方程:目标函数: 约束条件:s.t. D-DsS,则所求的最短路矩阵满足要求,是此情况下的最优解,否之则否,其中差值表如下:表4最短路矩阵S与控制条件矩阵Ds的01差值表P1P2P3P4P5P6P7P8P101000101P2000011
11、1P3011110P400010P50010P6010P700P80从上表中可以发现,01差值表中含有的项有16项,其中有14项可以通过边界直接连接,这是因为模型建立在不含无连接边界的基础上,故将边界加入考虑可以得到上表中,只有15,25不满足条件。3)考虑公园边界可以节约道路总长,则可以利用穷举法,对不满足的点进行替换,容易知道此情况下的替换次数是有限的,从而接近满足K1条件的最优解。从图1中可以得到八条可替换路线:59,510,52,129,1210,122,1110,112,再次求解各个情况下的最短路径距离S,并判断是否满足条件K2从而,筛选出最优解。其中最优解如下图:图44个交叉点的最
12、优道路设计图在此条件下,利用目标函数求解得,公园内道路总长最优解为:5.2问题2模型的建立与求解5.2.1问题2模型的建立在问题1模型的基础上,问题2允许公园内可修建任意道路,为简化模型,寻求最优解,通过控制交叉点数m(0,1,2,3,),找到局部最优解。再利用交替迭代法,在matlab条件下,通过控制局部最优解,迭代接近全局最优解。5.2.2问题2模型的求解m=0根据表2,在公园内交叉点数为0时,有10个点间不能满足控制条件K2。所以,必须在公园内添加交叉点。m=1从题目的控制条件K2可以发现,若公园内只有一个交叉点,则任意两两选择入口,则分别以两个入口点做为椭圆的焦点,以两点间1.4倍焦距
13、距离做半长轴画椭圆,则这两个椭圆必有一个交点(见附录4、5、6、7)。根据上述原理,分别选取P1、P7和P3、P5为两个椭圆的焦点,利用matlab可以绘制如下的椭圆交点图:图5m=1椭圆交点图分析上图,发现两个椭圆并无交点,故公园内的交叉点数。m=2利用上述方法,对8个入口点分别做椭圆,为求解最短路径解,则椭圆须在矩形内部,将不在矩阵内部或是与一个边有两个交点的椭圆删去。由此可知,椭圆包围的最密集的地区出现交点的可能性最大,可以利用交替迭代法,在这个范围内逐步逼近最优解。椭圆交点图如下:图6m=2椭圆交点图(a)H型算法:为简化模型,可预先设定P1与P8、P3与P4间存在直接连线。根据图6所
14、示的大致区域分别在两个区域内选定两个点,记为First step:将两个点的搜索半径定为4,并选定两个区域内的一个角点,利用matlab的计算能力,穷举两个区域内的任意点,利用问题1中的floyd算法计算最短路径,与控制条件相比对,若满足则进行记录。Second step:在第一步的基础上,将搜索半径定为0.1,重新运行步骤一的过程,并再新结果重新记录。Third step:得到在搜索半径4和搜索半径0.1条件下的结果进行比对,根据结果,考虑是否进行新一轮的穷举(见附录8)。(b)双Y型算法:在H型算法中,对两条道路进行设定,考虑到设定的道路对最优解的影响,通过减少设定路线从而逼近最优解(此外
15、仅减少P3与P4间的连线)。根据H型算法中的基本思想,对双Y型算法中存在的最优解的点,同样利用穷举法在两个椭圆包含密集区域搜索(见附录9、10)。m=3考察中m=2的两种情况,两个交叉点的相对位置偏离十分明显,考虑椭圆包含的密集程度,在双Y型算法的基础上,增设交叉点。令交叉点的坐标为并让F点与P5、H、I三个点相连接,通过固定H、I逐步逼近F的最优解,再通过固定P5、H逐步逼近I的最优解,以此类推,穷举出区域范围内满足条件的最短道路的最优解(见附录11、12)。5.2.3问题2模型的结果对比通过问题2对交叉点的数目与位置对最短路径距离的分析,可以得到在2个交叉点下,H型交叉点与双Y型交叉点的最
16、优解,如下图7、图8:图7H型交叉点的最优解图8双Y型交叉点的最优解利用最短路径的目标函数,可以计算得到,H型算法下的两个交叉点的最优解为:H(66,55)I(107,63)相应的最短路径为:其中,制作Ds与Sij的差值表,可得如表5所示,H型交叉点满足控制条件K2。表5H型交叉点下的Ds与Sij的差值表P1P2P3P4P5P6P7P8P10.012.056.057.529.70.423.712.8P20.044.047.332.629.613.916.2P30.025.629.245.448.654.7P40.02.126.435.146.1P50.034.044.03.1P60.010.0
17、5.9P70.020.9P80.0同理,可以取得双Y型算法下的两个交叉点的最优解为:H(59.7,77.6)I(173.1,43.6)相应的最短路径为:在交叉点数目为3的情况下,利用穷举法绘制出最优解,如图9所示:图9m=3时的最短道路最优解同时,获得双Y型交叉点中Ds与Sij的差值表,如表6所示,双Y型交叉点满足控制条件K2。表6双Y型交叉点的Ds与Sij的差值表P1P2P3P4P5P6P7P8P10.012.056.047.326.70.323.712.8P20.044.037.129.630.314.516.2P30.015.428.817.120.454.7P40.027.051.36
18、0.035.9P50.034.044.03.1P60.010.05.9P70.020.9P80.0可以得到三个交叉点的最优解为:H(62,70)I(169,40)F(117,87)相应的最短道路长度为:通过上述对比发现,在交叉点数目=2时,双Y型交叉点相较H型交叉点最短道路长度更短,故选取双Y型交叉点为交点数目为2时的最优解,而在交叉点数选为3时,与交叉点为2时的双Y型交叉点对应的最短道路长度之差,相距甚微,从而类推不必再求解四个交叉点的最短道路长度。最优解可以估算为m=2时的最短道路长度。即S=358.52985.3问题3模型的建立与求解5.3.1问题3模型的建立该问题在是建立在问题2的基础
19、上加入了一个矩形湖(如图2所示),湖的四个点坐标分别 R1(140,70) , R2(140,45) , R3(165,45) , R4(165,70) ,并且湖边的道路长度不计入总长度,新建路径不能直接穿过。若原来道路通过湖则考虑如下两种情况:情况一:对于问题2中所求得的交叉点向矩形湖引垂线,并连接最近入口形成新的路径;情况二:重新确定新的范围,利用问题2的方法确定新的交叉点和路径;最后比较一、二两种情况,得出最优解。5.3.2问题3模型的求解(1)在问题2模型的基础上,首先利用双Y型算法中交叉点的位置的连线可以得到交叉点的位置图,如图10所示(见附录13):图10双Y型交叉点位置图情况一:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 论文 基于 贪婪 算法 公园 道路 设计 模型
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3944419.html