钻井布局问题摘要本文研究了钻井布局的合理设计,将井和结点抽象成坐标系上的点,依据对网格的方向规定确定两者的相对运动给出算法,可采用Matlab软件进行搜索求解或者引入0-1变量表示旧井是否被用建立最优化模型利用Lingo软件求解。对于第一问,按照题目的规定距离且网格的横向和纵向固定,网格和旧井的相对运动为平移进行约束条件的分析,在平移网格时为了保证既不造成疏漏又要节省运算的前提下确定合适的横纵步长,经分析比较得出0.01为横纵坐标最合适的平移步长,由于网格都是边长相等的正方形,因此步长移动的范围应该不大于1,在满足以上条件下可求出最多可以利用的旧井数为4个,它们的分别为:2,4,5,10号旧井;对于第二问,在第一问的解析基础上假如网格可以旋转时的分析与求解,因为所有象限的网格大小形状都相同,所以当网格旋转超过/2时就相当于重复了,因此旋转的范围定为(/2/2,),规定网格每移动一次后就要旋转一次,这样既保证了查找的精度,至于旋转的弧度步长经分析定位0.01度,求得再旋转情况下可被利用的旧井为1,6,7,8,9,11。针对以上两问,用matlab画出平移后的旧井的位置图像与平移前的进行比较,直观的验证此次结果的正确性。对于第三问,我们规定的两点距离为横向距离与纵向距离的最大值进行研究,得出n口旧井都可被利用的横纵坐标x,y的条件为:任意两口旧井的横坐标之差与纵坐标之差的小数部分要满足同时小于0.1。关键词0-1变量最优化模型matlab搜索求解lingo1.问题的重述设平面上有n个点ip,其坐标为(,)iidf,表示已有的n个井位。新布置的井位是一个正方形网格N的所有结点(所谓“正方形网格”是指每个格子都是正方形的网格;结点是指纵线和横线的交叉点)。假定每个格子的边长(经纬的纵横间距)都是1单位(都是100米)。整个网格是可以在平面上任意移动的。若一个已知点P与某个网格结点X的距离不超过给定误差(=0.05单位),则认为P处的旧井资料可以利用,不必在结点X处打新井。研究如下问题:(1)假定网格的横向和纵向是固定的(比如东西向和南北向),并规定两点间的距离为其横向距离(横坐标之差的绝对值)及纵向距离(纵坐标之差的绝对值)的最大值。在平面上平行移动网格N,使可利用的旧井数尽可能大。是提供数值计算方法,并对下面的数值例子用计算机进行计算。(2)在欧氏距离误差的意义下,考虑网格的横向纵向不固定(可以旋转)的情形,给出算法及计算结果。(3)如果有n口旧井,给出判定这些井均可利用的条件和算法(你可以任意选定一种距离)。数值例子n=12个点的坐标如下表所示:i123456789101112a0.501.413.003.373.404.724.725.437.578.388.989.50b2.003.501.503.515.502.006.244.102.014.503.410.802.问题分析根据各问中网格方向是否固定,遵照运动相对性原理,对移动形式和算法进行仔细分析。对于问题一,在网格的横向和纵向固定、两点距离为坐标距离的最大值的前提下进行以下分析:1)本题明确要求要以旧井的最大利用率为目的,因此要建立最优化模型,并引入0——1变量进行求解;2)平移步长的大小关系到计算时间的长短和搜索求解的误差问题,如果步长太大误差就大,有可能无法最大数量的利用旧井,如果步长太小在实际应用会造成计算上不必要的麻烦;3)平移的方法并不是单一的,可以使旧井的的坐标固定,让网格移动,也可以使网格固定平移旧井的坐标,根据与运动的相对性原则可根据两种平移方法分别给出算法;4)当平移后使旧井与网格横纵坐标距离均小于0.05时,该旧井可被利用,在这里单位1为实际生活中的一百米;对于问题二,在网格的横向和纵向不固定、两点距离为欧式距离的前提下进行以下分析:1)在这一问中题目明确要求用欧式距离的尺度标准而并非第一问中横纵坐标的距离的标准来衡量旧井与网格的距离,所谓欧式距离就是指横坐标距离的平方与纵坐标距离的平方的和的平方根;由于本问中坐标轴可以旋转,这就增加了网格与旧井可搜寻的范围,也增加了旧井可利用的机会;2)尽管可以旋转,但网格和旧井之间仍然存在运动的相对性,因此可以固定一个时另一个旋转,此外旋转还有顺时针与逆时针两个方向;3)为了便于计算并结合实际生活的应用,旋转和平移不能同时进行,可以先平移一步在进行旋转,也可以先旋转一定度数再平移,但是旋转的度数并须要又一个合适的值,与第一问相同,旋转弧度的大小将直接影响求解的该问题的时间和精度;对应于第三问,我们选择问题一种的距离进行研究,题目给出的12口井的位置具有代表性,因此我们研究满足第一问中4口井的坐标位置,根据有个别到一般的原理进行分析;1)因为网格的边长都为1,所以旧井坐标的整数位都为网格边长的整倍,因此我们不研究旧井坐标整数位之间的关系,重点研究小数位之间的关系;2)研究发现4口旧井的小数位横、纵坐标之差均小于0.1即2,因此可以简单的表示为平移后的旧井都位于以网格点为中心的边长为0.05的正方形内;3)要想所有的旧井均被利用平移后的旧井坐标与网格点就应该满足条件旧井都位于以网格点为中心的边长为0.05的正方形内。3.模型假设1.新井位置的选取不考虑地势因素;2.旧井的资料均可被利用;3.勘探部门布置的网格范围足以包括所有旧井;4.网格的布置不受旧井资料的影响;4.符号说明符号含义id第i口井的横坐标iod第i口井的横坐标的小数部分if第i口井的纵坐标iof第i口井的纵坐标的小数部分ix离第i口井最近的网格点的横坐标iy离第i口井最近的网格点的纵坐标i第i口井j第j口井im第j口井是否被利用10iimimi第口井可利用第口井不可利用对函数的取整运算符5.模型的建立与求解5.1问题一5.1.1模型准备将旧井的坐标值画在一张坐标纸上,同时,将一张足够大的正方形网格纸(正方形长度为单位1)放在坐标纸的上边,移动网格纸,明显发现当坐标纸的位置不同时,符合条件的旧井数是不同的。1)移动步长的确定依据题中所给数据可知,数据的精度为0.01,若大于0.01可能会出现,可利用旧井的遗漏;若小于0.01,虽然可避免遗漏,但浪费运算的时间;因此,本文的移动步长确定为0.01。2)井点移动范围的确定由于正方形网格纸是足够大的,每个正方形的长度为单位1,当井点移动1个单位后,再按照同一个方向进行移动时,就相当于上一次移动的重复,因此,将井点移动范围确定为0~1。3)移动对象本题依照参照物的不同,有两种移动方式:移动井点,移动正方形结点;这两种方式的难易程度相当,求解结果相同,可任选一种;本文选择移动井点。4)约束分析题中规定两点间的距离为其横坐标之差绝对值及纵坐标之差绝对值的最大值,等价于当第i口旧井被利用时,旧井(,)iiab与其靠近或重合的网格结点的横坐标差值和纵坐标差值的绝坐标对值都不超过0.05,可抽象成以下不等式,二者同时成立,即其中round函数为Matlab软件中的四舍五入函数,考虑到坐标的平移,平移后横纵坐标的值为;,iiiiaacbbd0.050.05iiiiaroundabroundb5.1.2模型建立综合以上模型准备和约束分析,建立0-1变量的最优化模型:0.05(1)0.0501.(2)010,1(3)1,2,,12(4)iiiiiaroundabroundbcSTdfi约束说明:(1)用来判定第i口旧井是否被利用的不等式;(2)横纵坐标的移动范围;(3)表示第i口旧井是否被利用的0-1变量;(4)表示旧井数的变量;移动旧井,固定网格;利用Matlab进行搜索求解,下面对此种方法进行具体描述。1:Step利用嵌套语句,先保持旧井的横坐标不变,将纵坐标移动相应步长,利用round得到临近正方形结点的坐标和移动后旧井坐标作比较,当横向距离,纵向距离的最大值不超过给定的误差=0.05时,将可利用旧井数s加一,利用相同方式分别对12个井点进行比较,用()Zi记录可利用井点的标号,并得到可利用井点数max。2:Step令S与Max(初值为0)作比较,若MaxS则MaxS,并将()Zi赋给()Vi继续将纵坐标移动相应步长,重复(1)Step.直到纵坐标移动一个周期3:Step当纵坐标移动1个单位后,保持纵坐标不变,将横坐标移动相应步长,重复Step1,Step2。直到横坐标移动一个周期。4:Step最后得到可用的旧井数、旧井编号。5.1.3模型求解利用Matlab进行编程并求解,在网格的横向和纵向是固定的条件下,可利用旧井的最大数为4,可利用旧井的标号为2,4,5,10.。其相对应的坐标值为:121iiMaxZf3.373.518.384.501.41,3.5,,,3.4,5.5,,.5.1.3模型检验利用Matlab绘出转动平移前后旧井的分布对照图如下,经上述图象可以形象直观的验证解题结果的准确性。0246810121234567上图为平移后旧井的分布对照图如下5.2问题二5.2.1模型准备●欧式距离欧式距离,即连接两点之间直线的长度。例1122(,),(,)xabyab则,xy两点间的欧式距离为:222121()()daabb●移动步长的确定由问题一可得,平移时的步长仍采用0.01;转动的角度位移,为保持与题中所给数据准确度的一致,转动时的角度步长为0.01。●移动范围的确定平移时,平移步长仍采用0~1个单位。转动时,由于正方形网格纸是足够大的当旧井点转动后,若继续转动,相当于上一次转动的重新开始,为减少运算时间,因此,转动的范围为0~。●移动对象在网格的横向和纵向不固定(可以旋转)的情形下,移动的对象仍有两种:移动网格结点,移动旧井点。沿袭第一问,本题仍采用移动旧井点。并且有两种移动方式:先平动,后转动;先转动,后转动。两种方式可任选一种,本文选择先转动,后平移的方式。下图为经顺时针转动平移前后的旧井坐标对照图:XYX’Y’aba’b’mtana-tan)a(bcosa-tan)sina(b-tan)cosa(b图形分析:根据上述图象可得图中的相应的三角函数关系,进而求的坐标轴平移过后m的横纵坐标'',ab的关系式为''(tan)sincos(tan)cosiiiijiiaababba经化简后得出简式:iii'cos()-bsin()'sin()+bcos()iiiaaba下图为经逆时针转动平移前后的旧井坐标对照图,因为只是转动方向的不同,得到的表达式与顺时针转动的结果是一样的,所以,在此不过多说明。mXYY’X’a'bb'a约束分析题中规定两点间的距离为欧式距离,等价于当第i口旧井被利用时,旧井(,)iiab与其靠近或重合的网格结点的横坐标差值和纵坐标差值的绝坐标对值的平方的和开根号后不超过0.05,可抽象成以下不等式,二者同时成立,即其中round函数为Matlab软件中的四舍五入函数,考虑到坐标的平移,旋转、平移后的横纵坐标的值为;iii'cos()-bsin()+c,'sin()+bcos()+diiiaaba5.2.2模型建立综合以上模型准备和约束分析,建立0-1变量的最优化模型:iii''^2''^20.05(1)'cos()-bsin()+c,'sin()+bcos()+d01(3).01(4)0(5)20,1(6)1,2,,12(7)(2)iiiiiiiiaroundabroundbaabacSTdfi121iiMaxZf''^2''^20.05iiiiaroundabroundb约束说明:(1)用来判定第i口旧井是否被利用的不等式;(2)旋转、移动后的横纵坐标值;(3)横坐标的移动范围;(4)纵坐标的移动范围;(5)网格旋转的范围;(