逢山开路问题(修改版)1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北科技学院
课程设计说明书
班级: 计算B101 姓名:顾亚楠(201009014110)成绩:______ 班级: 计算B101 姓名:孔维文(201009014119)成绩:______班级: 计算B102 姓名:陈灏(201009014214)成绩:______ 设计题目: 逢山开路问题
设计时间: 十九周周四至二十周周一
指导教师: 李慧
评语:______________________________________ _______________________________________________ _______________________________________________ _______________________________________________ _______________________________________________
评阅教师: _______________
逢山开路问题
摘要:本文是逢山开路问题的研究,主要研究特定两点之间的最短路,以及使得总成本最小。主要采用的方法是Dijkstra算法求两点间的最短路径,从而得到一条最优的路线,再对其进行细化获得更加精确的路线。最后再进行逐步定线,以局部最优为准则,逐步逼近目标点,得到较优解。
由于在开路期间会遇到湖泊,山脉,山谷等问题,所以要进行桥梁,隧道,一般路段的各种搭建与组合,在对这三种不同形式的选择是,仔细划分了三种形式在不同情况下应该满足的坡度条件,从而确定路径的权值。
本问题保留了工程实际背景的一些基本特征,涉及到地貌环境等自然条件以及施工能力,费用系数等人为因素,这些在实际的工程设计上必须考虑的重要因素我们在解决本题时则须注意取舍,在用数学模型解题时,除了从数学角度上思考之外,适当的考虑有关实际因素,从总体上设计,这对于我们建立合理的数学模型提供了重要的依据,也会使我们得到的方案行之有效,本题在这方面表现得很明显通过分析我们得出比较满意的结果,桥长:73米,位置为:(2900,1800)至(3000,1900)之间的一段,隧道长:300米,位置为(4000,2800)至(4000,3100)之间的一段,公路长:12083米,得出最优的解价格:375.8万。
关键词:Dijkstra算法目标最优化模型逐步逼近动态规划
一、问题重述
公路的修建是近几年我们国家不断进行实施的工程,尤其在某些偏远地区,由于地理条件的影响,实施起来难度可能会很大,并且花费大量的资金。就目前的情况来看,我国路段形式主要有三种:一般公路,隧道,桥梁。当我们要为某地区修路时,可能会遇到湖泊,山脉,山谷,在这种情况下,显然用一种形式是不能解决的,要对其进行组合。这时实施人员不仅仅要考虑资金问题,而且还要联系实际。
我们通常会有一种想法:遇到湖泊绕道而走,遇到山谷搭建桥梁,遇到山峰就挖隧道。但实际情况不是这样的,根据实际情况要考虑坡度的问题,由于三种形式所用到的资金差距较大,因此要进行计算得出最优路线,从而使所用到的资金最小。也就是用最少的资金,达到实际的目标。
本问题要求是:要在一山区修建公路,首先测得一些地点的高程,数据见附录
B(平面区域0≤x ≤5600,0≤y ≤4800表中数据为坐标点的高程,单位:米). 数据显示:在y=3200处有一东西走向的山峰;从坐标(2400,2400)到(4800,0)有一西北——东南走向的山谷;在(2000,2800)附近有一山口湖,其最高水位略高于1350米,雨季在山谷中形成一溪流,经调查知,雨量最大时溪流最高水面宽度W 与(溪流最深处的)x 坐标的关系可近似表示为
5)2
2400x ()x (W 4/3+-= (2400≤x ≤4000) 公路从山脚(0,800)处开始,经居民点(4000,2000)至矿区(2000,4000),已知路段工程成本及对路段坡度(上升高程与水平距离之比)的限制见附录B
本文将研究下列问题:
(1) 给出特定两点之间的最短路线。
(2) 进一步给出精确的路线,包括隧道,桥梁,一般路段,再进行总成本的
计算,找出最优解。
(3) 当两点之间改变为点到面之间时,我们进一步给出解法,求取最短路和
总成本。
(4) 对于给出的模型,我们将进行评价与改进。
二、问题分析
首先我们看到题目中给出了好多的数据,面对这么多的数据,我们首先就要做出地形的三维图形(matlab 软件)。但是我们要精确的测量,这些数据只能粗疏表现,因此可能要对这些数据进行插值,拟合。
其次我们看到山脚到矿区要经过居民区,这样我们寻求最短路方可割裂成两部分,从山脚到居民区建立一个动态规划,再从居民区到矿区建立一个动态规划,这样就形成了一个双阶段的动态规划。当建立好动态模型时,我们需要细化两个阶段,分别对两个阶段不同的地形进行三种道路形式的选择。
最后我们要进行最短路的寻求,利用Dijkstra 算法。进一步设计出第二种方案:逐步逼近方法寻求最优解。
以上的分析我们可以看出Dijkstra 算法,逐步逼近,绘制三维图等都需要对其进行编程,因此编程在此问题中占得比重很大。
三、 基本假设
(1)地貌假设:山区各处高度变化是连续的,不存在断崖,断层;
(2)路段假设:忽略公路、桥梁、隧道的宽度,路段按几何线来处理;(3)设计假设:不考虑修建分岔路,不考虑急转弯,缓急的限制;
(4)几何假设:除溪流处外,四个相邻的测量点近似构成矩形,因为相邻两点的高度差远小于它们的水平距离,实测点数据准确无误。
(5)环境假设:该地区工程地质条件满足工程建设的要求,不存在对工程建设有害因素,如地震带、溶岩地区等因素,并且该地区无原公路可用;
四、基本符号说明
A 起始点(0,800)
B 居民点(4000,2000)
X 矿区(2000,4000)
διϕ 网格中ς ι点和ς ϕ点间的径向距离;
Ωιϕ ς ι点和ς ϕ点连线的边的权值;
dist 两点间的最短路;
α 坡度
控制点 线路必须经过的点A,B, X
五、模型的建立与求解
1、由题目中的数据绘制三维图形:
为了对该山区有一个立体形象,我们做出它的三维图,读者可以轻易的辨别河谷及山脉走势,在matlab软件中输入代码(见附录A地貌代码),进一步进行插值拟合方可得到精确的三维图