土地平整问题摘要随着社会的快速发展,对于山区的土地整理显得格外重要。为了更好地合理利用土地,选择合适的土地整理地点,达到节约成本的目的。我们会建立模型,根据几个重要的制约因素,使得土石方量最小,而且成本最低,在实际的操作过程中更接近于科学实施。针对问题一:利用软件MATLAB中的绘图功能,对数据进行处理,得到这片土地的三维图形与等高线图。针对问题二:采用二重积分的意义,即曲顶柱体的体积。利用分割、取值、求和、取极限的思想,将山地分割成无数个小曲顶柱体,然后对这些小曲顶柱体进行求和,并结合土石方量最小,挖填土时费用使用的最少限制条件,从而求得在什么海拔高度进行平整。对于平面位置的确定,利用枚举法,总费用最少,求得在什么位置,什么海拔高度平整,已达到最优的标准。针对问题三:类比于问题二,采用相同的方法,在不同的海拔高度上平整,已满足二层的台阶状地块的要求,达到挖填土石方量最小的目标。最后,对所建立的模型和求解方法的优缺点给出了客观的评价,并指出了改进的方法。关键词:土石方量最小;二重积分;枚举法;一、问题重述与分析1.1问题的重述十堰市是一个山区城市,向山要地是十堰市发展的一个必然的选择,但是如何在一片山地之中选择合适的方位与开挖深度,从而使总的土石方量最小,就是一个有意义的命题了!某工厂为了在一片长度为1500米,宽度为1000米的山地之中,开挖出一个800米×600米平坦连续的长方形地块作为工厂的厂房地基,前期已经在本块土地上测量出长、宽每隔30米的网格的对应网格点的海拔高度。问题:①用附件(1)中的数据画出工厂的这片土地的三维图形与等高线图;②从什么地方,什么海拔高度平整一块800米×600米的连片土地能使总的土石方量最小?③如果允许平整出来的土地为二层的台阶状地块,要求各地块的长、宽不少于60米,又将从什么地方、什么海拔高度分别开挖,能使总的土石方量最小?1.2问题的分析1.2.1问题一我们可以利用MATLAB软件直接调用surf函数和contour函数分别画出这片土地的三维图形和等高线图。1.2.2问题二考虑要平整一块800米×600米的连片土地,且要使土石方量最小,我们需要确定这块800米×600米的连片土地的底面投影区域,以及海拔高度,使得其土石方量最小。让底面投影区域在长度为1500米,宽度为900米内枚举,此时计算出对应的土石方量最小的是,在这些所有的最小值中取得最小值的那块投影区域即为所求。我们采用此种方法求解。在平整土地的过程中,凸出的地方是要挖土的,凹下的地方是可以填土的,这样挖下来的土可以填充到凹下去的部分。通过计算体积的方式计算挖土和填土大小,求出最小值对应的海拔高度,即可确定整连片土地的具体高度。二、基本假设1、在平整土地的过程中,有些地方是要挖山的,但有些地方是要填土的,假设填土的每立方米所需的费用为挖山的每立方米土石方所需费用的1/3。2、假设除了挖土和填土以外,在平整土地的过程中其他作业(如登高)产生的费用都与800米×600米的连片土地所处的位置方向和海拔高度均无关。这样我们只需考虑挖土和填土的土石方量及费用,据此来考虑连片土地所处的位置方向和海拔高度。3、假设计算体积的过程中,分割的小曲顶柱体不能达到无穷小,而产生的误差忽略不计。实际计算中我们取一个很小的步长去划分,使其划分尽可能的小,产生的误差忽略不计。三、符号约定四、模型的建立4.1.问题一求解1.利用MATLAB7.0软件的三维绘图功能,画出工厂这片土地的三维图形如图4.1.1所示:符号说明L平整连片土地块的长W平整连片土地块的宽D平整连片土地块的底面所在闭区域iD平整连片土地块底面划分的子区域i子区域iD的面积wV平整土地所需的挖土量fV平整土地所需的填土量C平整土地挖土和填土所需要的总费用图4.1.1山地的三维图形2、这片土地的三维等高线图如图4.1.2所示,二维等高线图4.1.3所示:图4.1.2山地的三维等高线图图4.1.3山地的二维等高线图4.2.问题二模型建立4.2.1.平整块的海拔高度的确定通过土石方量费用最小的原则,确定平整土地海拔的开挖高度。平整土地快所对应的的底面区域记为D,显然D是一个800米×600米的矩形区域。设顶部海拔高度是一个非负连续函数),(yxf,Dyx),(。假设D的位置已经确定,下面我们来讨论在什么样的海拔高度下,土石方量费用最小。考虑底面区域D对应的山体是一个曲顶柱体,把区域D分成n个小区域1D,2D,…,nD,为了简化运算,我们分成n个等大的区域,每个区域)1(niDi都是边长为d的正方形。再分别以这些小区域的边界为准线,作母线平行于z轴的柱面,这些柱面将原曲顶柱体分成n个细的曲顶柱体。每个区域iD上任取一点),(ii。当n很大时,所分的区域iD很小,边长d的值很小,每个区域iD对应的海拔高度z可以近似为一个相同的值),(iif,记所有小区域iD的最小海拔高度为1h,最大海拔高度为2h),(mini11inifh(1)),(maxi12inifh(2)设在平整块连片土地建在海拔高度为z处21hzh。当小区域iD所对应的海拔高度zfi),(i时,说明这块区域需要挖土,挖土量为iV,iiwzfVi]),([i(3)这里i表示iD的面积。zfi),(i时,说明这块区域需要填土,填土量为fViiffzVi)],([i(4)总的挖土量wV,kiiikiwwzfVVi1i1]),([(5)其中k为满足zfi),(i条件的小区域iD的个数。总的填土量fV,liiilfffzVVi1i1i)],([(6)其中k为满足zfi),(i条件的小区域iD的个数。当fwVV,挖土量大于填土量,这样挖出来的土足够填充凹下的山地。总的土石方量费用为:ljjkiiifzzfVVC1jj1ifw)],([31]),([3(7)当fwVV,挖土量小于填土量,这样挖出来的土不足以填充凹下的山地。需要从别的地方挖土来填充。总的土石方量费用为:ljjfwfwffzVVVVVVVC1jjww)],([3434)(313(8)因此(9)如果让平整块的底面投影区域取遍所有可能的值,再根据上述思想求解此底面投影区域对应土石方量费用最小minC的开挖海拔高度h。按照最小的minC对应的底部和开挖海拔高度来开挖,所得平整的连片土地能使总的土石方量最小。4.2.2.平整块的底面区域的确定将平整块区域投影到底面(xoy平面),确定开挖方向,即要确定平整块的底面位置。显然底面是800米×600米的矩形,假设矩形的四个顶点分别为DCBA、、、。山地是长度为1500米,宽度为900米的矩形区域,因此平整块底面投影矩形ABCD可以在1500×900的区域范围内任意移动,四个顶点不能超出这个范围我们要取遍所有可能的位置,必须枚举所有的可能值。设矩形ABCD的边长为AB=W=600,AC=L=800,且各点坐标位置也已经确定,设各顶点的坐标分别为A(ax,ay)、B(bx,by)、C(cx,cy)、D(dx,dy)。设AB边的中点为E,CD边的中点为F,那么唯一确定了线段EF。由中点公式,中点E,F的坐标分别可以表示为E(2baxx,2bayy),F(2dcxx,2dcxx),fwljjkiiiVVfzzf,1jj1i)],([31]),([fwljjVVfz,1jj)],([34COxyADBCEF且EF的边长为EF=AC=800,因此只要矩形ABCD的位置和大小确定,那么EF的大小和位置就唯一确定。反过来如果EF的位置和大小确定了(FE,分别为短边的中点),那么矩形ABCD的位置和大小也唯一确定。下面我们分别说明矩形四个顶点坐标,以及四个边的直线方程计算方法。设EF=800,FE、两点的坐标分别为E(ex,ey)、F(fx,fy),为了使计算不重复,保证EF的唯一性,我们不妨设feyy,且当feyy时,fexx,若EF所在直线的斜率存在,设为k。当efxx时,斜率存在,efefxxyyk分以下四种情况讨论:(1)当efxx,即EF平行于y轴时,此时矩形如下图所示:此时,四条边对应的直线方程分别为AB:eyy,BC:2Wxxe,CD:fyy,AD:2Wxxe,四个顶点的坐标分别为:A(2Wxe,ey),B(2Wxe,ey),C(2Wxe,fy),D(2Wxe,fy)),(00yxP矩形ABCD的充分必要条件是:xyOADBCEF)(00,Pyx(2)当0k时,此时,四条边对应的直线方程分别为AB:eeyxxy)(k1,即:0eekyxkyxCD:ffyxxy)(k1,即:0ffkyxkyxAD:0122eekxykWykxBC:0122eekxykWykx任意两条直线的交点即为顶点,A、B、C、D四个顶点的坐标分别由以下方程组解出:0ekyexkyxfeekxykWykx0122)(00,PyxxyOADBCEF220WxxWxeefeyyy0),(00yxP矩形ABCD的充分必要条件是:(3)当0k,即EF垂直于x轴时0ffkyxkyx0122eekxykWykx0ffkyxkyx0122eekxykWykx0ekyexkyxfeekxykWykx01220122eekxykWykx0eekyxkyx0ffkyxkyx0122eekxykWykx此时,四条边对应的直线方程分别为AB:exx,BC:2Wyye,CD:fxx,AD:2eWyy,四个顶点的坐标分别为:A(2Wxe,ey),B(2Wxe,ey),C(2Wxe,fy),D(2Wxe,fy)),(00yxP矩形ABCD的充分必要条件是:(4)当0k,220WxxWxeefeyyy0xyO)(00,PyxADBCEF此时,四条边对应的直线方程分别为AB:eeyxxy)(k1,即:0eekyxkyxCD:ffyxxy)(k1,即:0ffkyxkyxBC:0122eekxykWykxAD:0122eekxykWykx任意两天直线的交点即为顶点,A、B、C、D四个顶点的坐标分别由以下方程组解出:0ekyexkyxfeekxykWykx01220ekyexkyxfeekxykWykx0122)(00,PyxxyoDABCEF),(00yxP矩形ABCD的充分必要条件是:如果让EF在平面内取遍所有可能的值,再根据上述的思想求解可以确定平整块的底面投影区域的位置,再根据4.2.1的介绍求解海拔位置。为了让EF能取遍所有可能值,先在山地海底平面上任意取一点作为E点,再根据E点确定F点的位置。这样只需考虑E点取遍所有值的可能情况,根据EF的长度,确定F点可能的有效位置。平面区域内任意取一点E),(eeyx,9000ex,15000ey,以E为圆心,R=L=800为半径作圆,显然F可能取得圆周上的所有点。0ffkyxkyx0122eekxykWykx0ffkyxkyx0122eekxykWykx0122eekxykWykx0eekyxkyx0ffkyxkyx0122eekxykWykx为了避免重复,令efyy,且当efyy时,efxx,这样F的取值为上图所示的圆弧上。这样线段EF就可以确定下来。4.3问题三模型的建立我们可以继续使用问题二中的模型,但