资源描述
摘要
随着社会的发展,山区城市向山要地成了一种必然的趋势。为了更好的确定平整地的起始点,做到节约成本的目的,我们根据几个决定性因素利用网格优化建立了相关的数学模型。
对于问题一,我们利用已知的数据运用MATLAB(7.0.1)软件的三维绘图功能就能直接绘出这片土地的三维图形和等高线图。
对于问题二,我们首先用MATLAB(7.0.1)软件对原始的数据进行了处理,运用基于网格节点的二维样条插值方法给出方向每隔海拔高度,这样利用模型所得到的结果就会更加接近实际情况。然后,根据插值后的数据计算海拔高度计平均值作为平整土地的海拔。最后,运用了循环嵌套和枚举法算法,求出了每个可能取到的面积对应的挖土量及填土量,运用MATLAB(7.0.1)软件对于上述过程行了严谨的数学分析数据计算,求出了具体平整土地位置坐标,即在构成的区域为底面在海拔为处平整一块的连片土地其总的土石方量。模型检验是从中随机抽取二十组数据,让随机取出的总土石方量分别与模型求出的最小土石方量进行比较验证了模型是可行的,求出的结果是正确的。
对于问题三,我们是在问题二选择的平整区域的基础上平整出一块二层台阶状土地,首先计算两分层面海拔高度标准差之和,运用了循环嵌套和枚举法算法计算了平整土地底面投影相互重合的边分别平行于,轴两种情况,根据标准差之和所在位置计算出分层界限两点坐标。那么以此为界限进行分层。然后在分层界限确定的基础上,分别计算,对应的平均海拔高度和,将和作为第一层台阶和第二层台阶的平整高度,计算最小土石方量。最后,根据建立的模型,求得两点坐标分,。,,最小土石方方量。
关键词:二维样条插值 枚举算法 最小土石方量
- 16 -
一、问题重述
1.1背景
在中国有很多山区城市,合理的进行土地平整,有助于城市的发展。十堰市是一个山区城市,为了更好的发展,向山要地是必然途径,在山地平整时研究如何做到使总的土石方量最小,从而使平整土地时的成本降低,是十分有必要的。土石方量是挖土和填土的总和。某工厂为了在一片长度为1500米,宽度为1000米的山地之中,开挖出一个800米×600米平坦连续的长方形地块作为工厂的厂房地基,前期已经在本块土地上测量出长、宽每隔30米的网格的对应网格点的海拔高度(详细数据见附件(1))。
1.2问题的提出
1.用附件(1)中的数据画出工厂的这片土地的三维图形与等高线图;
2.要求在长度1500米,宽度1000米的山地平整一块800米×600米的连片土地,能使总的土石方量最小,确定连片土地的具体位置和开挖时的海拔高度。
3.如果允许平整出来的土地为二层的台阶状地块,要求各地块的长、宽不少于60米,确定平整土地的具体位置、挖时的海拔高度,使总的土石方量最小。
二、问题分析
2.1问题一的分析
问题一我们可以利用MATLAB(7.0.1)软件直接调用surf函数和contour函数分别画出这片土地的三维图形和等高线图。
2.2问题二的分析
考虑要平整一块800米×600米的连片土地,且要使土石方量最小,我们需要确定这块800米×600米的连片土地的底面投影区域,以及海拔高度,使得其土石方量最小。
连片土地底面投影区域的确定:对于指定底面是800米×600米大小区域内,取海拔的高度做方差,如果方差最小,说明海拔都比较接近平均值,就是说明这片区域比较平坦,挖土或填土的土石方量近似最小。我们可以通过这个思路解决问题,即为求出满足海拔方差值最小的底面位置的问题,让底面投影区域在长度为1500米,宽度为900米内枚举,此时计算出对应的土石方量最小的是,在这些所有的最小值中取得最小值的那块投影区域即为所求,我们采用此种方法求解。
连片土地海拔高度的确定:在平整土地的过程中,凸出的地方是要挖土的,凹下的地方是可以填土的,这样挖下来的土可以填充到凹下去的部分。通过计算体积的方式计算挖土和填土大小,求出最小值对应的海拔高度,即可确定平整连片土地的具体高度。
问题二分析的流程图:
2.3问题三的分析
为了简化问题三复杂性,我们是在问题二选择的平整区域的基础上平整出一块二层台阶状土地,考虑到标准差越小代表了所需的土方量最小,首先计算两分层面海拔高度标准差之和,运用了循环嵌套和枚举法算法计算平整土地底面投影,确定了标准差之和最小的所在位置计算出分层界限两点坐标。那么以此为界限进行分层。然后在分层界限确定的基础上,分别计算,对应的平均海拔高度和,将和作为第一层台阶和第二层台阶的平整高度。最后综合,求平整土地的具体位置和海拔高度和最小土石方量。
三、模型假设
(1)在对山地原始数据插值后,方向每隔取一个单位矩形,在表面积的单位矩形区域上海拔高度不变。
(2) 平整区域的边界平行于山地的边界轴以及轴。
(3) 假设台阶状土地的底面投影只有一条边重合,并且该边平行于山地的边界轴以及轴
四、符号说明
符号
意义
土地的长宽高
土石方量
平均海拔高度
平整土地的地面投影
土地的高度方差
五、模型的建立与求解
5.1问题一的求解
1.要画出这片山地上的三维图形与等高线图,定义方向为轴,方向为轴方向每隔给出的海拔高度相当于各个节点对应的纵坐标。利用MATLAB(7.0.1)软件的三维绘图功能(源程序见附录1),画出工厂这片土地的三维图形如下:
图5.1 山地的三维图形
2.这片土地的等高线图:
图5.2 山地的等高线图形
5.2问题二的模型建立与求解
5.2.1模型的建立
1.平整区域海拔高度的计算:
考虑到问题给出的测量点较少,所以运用基于网格节点的二维样条插值方法给出方向每隔海拔高度,根据上方给出的假设:在的区域上海拔高度不变,相当于一点。那么需要在这片区域上每隔都需要布置测量点,总共布置的测点数为19481个,根据这些测量点的海拔高度计算其平均值(具体MATLAB程序源见附录2)
(1)
并将作为建立场地的海拔。
2.平整区域总土方量计算:
将各个实测点海拔与平均海拔相比,大于平均海拔的为挖方,小于平均海拔的为填方,等于平均海拔的表示不挖不填。由此计算出平整区域的总挖方:
(2)
平整区域的总填方量:
(3)
(3)当时表示挖出量大于填土量,这样挖出来的土足以填补凹下去的地方总的土石方量为:
(4)
当时表示挖出量小于填土量,这样挖出来的土不足以填补凹下去的山地,需要从其他地方挖土来填充,这样一来,总的土石方量为:
(5)
因此
(6)
如果让平整区域的地面投影遍及整个山地,再运用上述思想求出对应的挖填总土石方量,然后筛选出总土石方量的最小值,最后确定所在的投影区域,那么该区域就是要选定的平整区域的投影。
3.平整区域的底面投影确定:
平整区域的底面投影显然是一块的矩形,假设矩形的四个顶点分别为。根据假设二,由于只考虑平整区域的边界平行于轴以及轴,所以让平整区域的地面投影遍及整个山地的时候,只需让矩形沿着轴或轴方向每隔取一个投影区域即可。
第一种情况:
当矩形的边平行于轴时(见示意图5.3),此时点的坐标,让矩形先沿着平行于轴方向每隔取一个投影区域,然后根据公式(4)计算出该区域的总土石方量。当矩形的边与山地边缘重合时停止移动,然后让矩形沿着轴方向移动再接着沿轴方向移动,直至取便整个山地区域,上述矩形的移动过程可以采用循环嵌套方式实现。(具体MATLAB程序见附录3)
图5.3 边平行于轴时矩形移动的示意图
第二种情况:
当矩形的边垂直于轴时(见示意图5.2.2),此时点的坐标仍为,仍旧按照方案一的方式将矩形进行移动,直至取遍整个山地区域,并根据公式(6)采用循环嵌套的方式分别计算各区域的总土石方量。(具体MATLAB程序源见附录4)
图5.4 边垂直于轴时矩形的移动时的示意图
用枚举法筛选出总土石方量的最小值,并返回所在的投影区域,然后计算出该投影区域即矩形四点的坐标,最后根据公式(1)计算出该平整区域的平均海拔高度。(具体的MATLAB程序源见附录4)
(7)
5.2.2模型的求解
根据以上建立的数学模型利用MATLAB(7.1.0)软件计算的四点坐标分别为: (如图5.5),(源程序见附录5)。即在这样的构成的区域为低面在海拔为处平整一块的连片土地总的土石方量最小,最小值为。计算出的平整土地的位置示意图如下图5.5。
图5.5选取的平整土地位置示意图
5.2.3模型检验
模型检验的方式:从中随机抽取二十组数据,然后让随机取出的总土石方量分别与模型求出的最小土石方量进行比较,如果均小于,说明模型结果很合理。下面给出了与的对比表,如图5.6。
图5.6 平整区域的与的对比图
由上图可知,均小于,所以模型的结果很合理,关于以及的具体数据见附录6。
5.3问题三的模型建立与求解
5.3.1模型的建立
根据模型假设:要求在问题二选择的平整区域的基础上平整出一块二层台阶状土地,并且总面积仍为。因此在问题二确定的投影区域上以边为轴以边为轴重新建立平面直角坐标系,如图5.7。在上各测点对应的海拔高度为。
图5.7投影区域的示意图
1.两分层面海拔高度标准差之和的计算
假设台阶状土地的底面投影只有一条边重合,并且该边平行于轴或者轴,那么两层台阶状土地的底面投影仍为的矩形区域。其中一层区域的底面投影记作,另一层区域的地面投影记作。考虑到两分层区域内测点的海拔高度标准差之和也能代表该区域挖填总土方量大小,所以这里用代替。
用代表区域内各参考点的海拔高度那么区域内的海拔高度标准差为:
(8)
用代表区域内各参考点的海拔高度,那么区域内的海拔高度标准差为:
(9)
标准差之和为:
(10)
第一种情况:当两阶层底面投影相互重合的边平行于轴时,如图5.8,此时两分层区域的长均为,由于宽不得少于,因此,最初的长度为,接着根据公式(10)计算出区域内海拔高度的标准差之和。然后让边向右移动,再次计算。当时停止移动(对应图中位置)。这样就实现了所有的分层情况,并且依次计算出了所有的。上述移动过程可由循环嵌套方式实现,并且将依次记录下来。(具体MATLAB程序源见附录7)
图5.8 移动的示意图
第二种情况:当两阶层底面投影相互重合的边平行于轴时,如图5.9,此时两分层区域的长均为,同样由于宽不得少于,因此,最初的长度为。按照第一种情况叙述的方式进行移动,当时停止移动。(如图中5.9)位置)并依次记录下所有的。具体MATLAB程序源见附录8)
图5.9 移动的示意图
根据情况一、二的叙述可知已经得到了所有的。如果能从中挑选出的最小值并确定所在的位置,然后根据所在位置计算出分层界限两点坐标。那么以此为界限进行分层,对应的挖填总土方量应该最小。(具体MATLAB程序源见附录9)
(11)
2.平均高度及总土方量的计算
在分层界限确定的基础上,分别计算,对应的平均海拔高度和:
(12)
(13)
将和作为第一层台阶和第二层台阶的平整高度,并根据公式(6)分别计算出各层台阶的总挖填土石方量和,那么总土石方量应为二者之和(具体MATLAB程序源见附录10)即:
(13)
5.3.2模型的求解
根据以上建立的模型,求得两点坐标分别为,。,,。即在问题二的基础上以为界限平整成两层台阶状土地,如图5.10。高度分别为和,挖填的总土石方量为264000立方米。
图5.10 两层台阶状的平整土地
5.3模型的检验
通过以上模型给出的结果显示:,。说明平整成两层台阶状土地的总挖填量小于平整成连片土地的总挖填量,并且两层台阶的高度差,因此该模型效果很好。
六、模型的评价与改进
6.2模型二的评价
6.2.1模型的优点
(1)模型简洁,思路清晰,没有运用高深的数学知识,但是很好的抓住了问题的关键所在,把复杂的问题给定合理的假设简化。
(2)模型运用了枚举法,求出了沿轴,轴方每个可能取到的面积对应的挖土量及填土量,使得结果可信度高,说服力强。
(3)模型的适应性强,分别采用了沿轴,轴方向进行枚举。最后对两种方法的的结果进行行了比较取最优值。
6.2.2模型的缺点
(1)模型是在假设二下建立求解的,并没有考虑到平整土地的边界与山地的边界成一定的角度时的情况。
(2)由于计算机硬件的速度原因,我们必须减小循环迭代步长,没有能更精确地算法来求出平底的具体位置。
6.2.3模型的改进
针对模型的缺点(1),我们进行了模型的改进,EF为平整土地AB边CD边中点的连线,E、F两点的坐标分别为E(,)、F(,),为了考虑平整土地的边界与山地的边界成一定的角度时的情况,可以转化为让EF在平面内取遍所有可能的值,再根据上述的已有模型的思想求解可以确定平整块的底面投影区域的位置,解海拔高度。为了让EF能取遍所有可能值,先在山地海底平面上任意取一点作为E点,再根据E点确定F点的位置。这样只需考虑E点取遍所有值的可能情况,根据EF的长度,确定F点可能的有效位置。
平面区域内任意取一点E, ,,以E为圆心,为半径作圆,显然F可能取得圆周上的所有点。
O
x
y
E
Fn
F1
F3
F2
图6.7 E为原点F移动时的EF示意图
为了避免重复,令 ,且当时, ,这样F的取值为上图6.7所示的圆弧上。这样线段EF就可以确定下来,随之,平整土地的区域位置,海拔高度,最小土方量都能求出确定值。
6.2模型三的评价
6.3.1模型的优点
(1)求解思路清晰,目的明确,在问题二选择的平整区域的基础上平整出一块二层台阶状土地简化的模型复杂性。
(2)模型的推广性强,依然采用了沿轴,轴方向进行枚举。最后对两种方法的的结果进行行了比较取最优值。
(3)模型的算法简单易懂。
6.3.2模型的缺点
(1)模型是在问题二选择的平整区域的基础上平整出一块二层台阶状土地,有一定的局限性。
(2)并没有考虑到平整土地的边界与山地的边界成一定的角度时的情况。
七、参考文献
[1] 汪晓银,周保平,数学建模与数学实验(第二版),北京:科学出版式,2012.8
[2] 同济大学数学系,高等数学(第六版)下册,上海:同济大学出版社,2009.10
[3] 薛定宇,陈阳泉,高等数学问题的MATLAB求解,北京:清华大学出版社,2008
[4] 黄靓,王鉴,陈永亮,李登,土地平整问题,土建学,第30卷第10期,文章编号:1000-4750(2013)10-0046-08,2013.10
展开阅读全文