钻井布局问题研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

钻井布局问题研究摘要本文主要研究了钻井布局过程中使可利用旧井位最大化的问题,即如何移动规划中的正方行网格(边长为1)使满足与网格结点的距离不超过个单位的旧井pi数最多。文中先引入了0-1变量fi井可利用(与结点距离不超过0.05)fi为1,不可利用fi为0。要进行了平行移动(不可旋转,只可横向、纵向移动)和自由移动(可旋转)的两方面研究。在进行平行移动的研究中两点间的距离为其横向距离(横坐标之差的绝对值)及纵向距离(纵坐标之差的绝对值)的最大值。自由移动的研究是在欧氏距离误差的意义下进行的。在解决平移问题的过程中根据运动的相对性,文中将网格的移动转换成了旧井的整体移动。对于问题一,然后假设旧井横向移动了x,纵向移动了y,用取整法求出旧井移动后离其最近的结点坐标。,根据给定误差确定横向、纵向移动步长为0.01。移动范围不超过1。建立最优化模型,用Matlab搜索求解并画出点阵模型求出在平行移动的情况下可被利用的旧井最多4个,它们分别为:p2,p4,p5,p10。对于问题二,网格除在纵向和横向方向移动之外,还进行旋转,我们把网格N以原点为中心先逆时针旋转θ度,再由横轴平移x单位,由纵轴平移y单位,根据条件我们确定旋转步长为1度,旋转范围(0,π∕),分析旧井点坐标,移动距离、旋转角度、移动后井点坐标、结点坐标的关系,建立最优化模型,再利用Matlab软件编写程序,用Matlab搜索求解并画出点阵模型,其能利用的旧井数量为7口。对于问题三,由于问题二是相对于问题一的更优解,所以在网格二的基础上进行改动,以求得在何种旋转角度及何种平移距离下各旧井离最近网格的距离平方和最小。在此种角度及平移条件下,求得各旧井离最近点的最大值,这个最大值就是新的距离条件,是能使旧井全部被利用到的距离条件的最小值。关键词:0-1变量取整最优化模型Matlab搜索求解1问题重述在平面上有n个井位ip,坐标为(ai,bi),现要重新布置井位,要求把新井布置在一个每个格子的边长都是1个单位的正方形网格N的所有结点(纵线和横线的交叉点)上。如果旧井P距网格结点的距离不超过0.05个单位,则认为旧井可以利用,不必在此结点上打新井。整个网格在平面上可以任意移动。研究以下问题:(1)假定网格的横向和纵向固定的,并规定两点间的距离为其横坐标之差的绝对值及纵坐标之差的绝对值的最大值,在平面上平行移动网格N,使可利用的旧井数尽可能大。对表中提供的12个旧井进行分析。为了方便计算我们可以把网格看做固定的,把旧井P的整个面进行平行移动。(2)在欧氏距离误差的意义下,考虑网格的横向纵向不固定(可以旋转)的情形,给出算法及计算结果。(3)如果有n口旧井,给出判定这些井均可利用的条件和算法(你可以任意选定一种距离)。为了方便问题研究,我们用Matlab软件绘出移动网格前旧井的点阵模型:2问题分析问题一分析:因为表中给出的所有点坐标都在第一象限,所以我们在第一象限研究问题。我们可以用直接Matlab编程求出结果后,使结果直观化,再建立模型。因为最后结果考虑的是距离问题,根据运动的相对性。所以移动网格和整体移动井位本质上是相同的。因此我们可以考虑移动井位平面,这样我们只需要先引入变量x(横向移动距离)和y(纵向移动距离)。再引入0-1变量(距离小于0.05为1,大于0.05为0)。因为问题的本质是将移动后的井位和网格的结点进行横坐标比较和纵坐标比较,而正方形网格边长为1,即所有结点坐标都是整数,所以我们可以把问题看为原井位移动后的横坐标、纵坐标与其横坐标、纵坐标进行(四舍五入)取整后的值进行比较。因为给定误差是0.05,所以为了节省时间和确保没有疏漏我们确定移动步长为0.01。问题二分析:同时考虑旋转和平移两种情况,设网格N以原点为中心先逆时针旋转θ度,再由横轴平移x单位,由纵轴平移y单位,则旧井Pi(ai,bi)在旋u度和平移(x,y)的情况下,坐标变为P’i(mi,ni)。其中m=x*cosd(u)+y*sind(u);n=-x*sind(u)+y*cosd(u)。问题三分析:由于问题二是相对于问题一的更优解,所以在问题二的基础上进行改动,以求得在何种旋转角度及何种平移距离下各旧井离最近网格的距离平方和最小。在此种角度及平移条件下,求得各旧井离最近点的最大值,这个最大值就是新的距离条件,是能使旧井全部被利用到的距离条件的最小值。3假设条件(1)问题一中的网格横向纵向绝对固定,误差远远小于0.05。(2)在平行移动中,误差远远小于0.05。(3)给出点的坐标误差远远小于0.05。(4)在正方形网格区域内任何地方打井,所需费用相同。4符号说明ai----表示第i个井的横坐标。bi-----表示第i个井的纵坐标。x-------表示井移动的横坐标距离。y-------表示井移动的纵坐标距离。[]---表示向下取整。if----表示0-1变量。u--网格转动角度mi---转动后旧井点横坐标ni-转动后旧井点纵坐标5模型的建立与求解问题一1模型准备:为了方便计算,我们将网格看做是不动的,把所有井位看做是可以整体移动的,假设横向移动的距离为x,纵向移动距离为y。引入0-1变量,距离小于0.05为1,距离大于0.05为0。2.目标分析:因为本题目标是尽可能多的利用旧井位,因此本题目标为最大值求解,建立目标为:Maxz=∑fi12i3.约束条件因为移动旧井位可以横、纵向任意移动,所以我们计算距离时要加绝对值。又,只有移动后的井位与其最相近的结点的横、纵坐标之差同时小于0.05时,此井位才符合要求。所以|ai+x-[ai+x+0.5]|=0.05,|bi+x-[bi=x-0.5]|=0.05因为正方形网格的边长为1,所以横向、纵向移动距离均应不超过1,(超过1为重复,无意义)因此0=x=1,0=y=1.综上所述我们建立模型如下:Maxz=∑fi12i|ai+x-[ai+x+0.5]|fi=0.05,|bi+x-[bi=x-0.5]|fi=0.050=x=1,0=y=1fi=0,15.模型求解i利用Matlab软件编程进行搜索求解:首先我们把横坐标加上i(步长为0.01)的一个步长,再对纵坐标加上j(步长为0.01)的一个步长,利用MATLAB的round函数求得离变换后最近的格点,如果同时满足横坐标与纵坐标之差的绝对值小于0.05,则记录下来。如果不同时满足那就y轴在已有的基础上再移动一个步长。如此循环直到j等于1才停止此循环。以上循环停止后在对x轴加上一个步长,再次循环以上的程序,直到i等于1才停止。求满足条件的点的最多个数。经过搜索求解得到可以利用的井有第2个,第4个,第5个,第10个。用Matlab绘出结果点阵模型为:6.结果分析对于0.01的步长来说,以上结果为最优解,而对于更加精细的步长来说,可能会得出更优解,当步长精确到一定程度时,最优解不再发生变化,对于本题来说,0.01的步长条件下得出的结论已是最优解。问题二:1.模型准备:先绕转动角度,再平移,而转动角度后,我们可以把旧井坐标转化成在转动后的网格坐标系下的坐标,这样就可以用与问题一类似的办法解决了。2.目标分析:因为本题目标是尽可能多的利用旧井位,因此本题目标为最大值求解,建立目标为:Maxz=∑fi12i3.约束条件:因为距离为欧氏距离,所以((a(k)-round(a(k)))^2+(b(k)-round(b(k)))^2)^0.5=0.05因为正方形网格的边长为1,所以横向、纵向移动距离均应不超过1,(超过1为重复,无意义)因此0=x=1,0=y=1.综上所述我们建立模型如下:Maxz=∑fi12im=x*cosd(u)+y*sind(u);n=-x*sind(u)+y*cosd(u),0=x=1,0=y=1fi=0,15.模型求解利用Matlab软件编程进行搜索求解:用Matlab绘出结果点阵模型为:6.结果分析对于一度,0.01的步长来说,转动45度,横向移动0.22,纵向移动0.92时可得最优解,共可利用7个旧井。问题三:1.模型准备:由于问题二是相对于问题一的更优解,所以在问题二的基础上进行改动,以求得在何种旋转角度及何种平移距离下各旧井离最近网格的距离平方和最小。在此种角度及平移条件下,求得各旧井离最近点的最大值,这个最大值就是新的距离条件,是能使旧井全部被利用到的距离条件的最小值。。2.目标分析:因为本题目标是尽可能多的利用旧井位,因此本题目标为最大值求解,建立目标为:Minz=∑di12i3.约束条件:距离仍为欧氏距离,所以di=((a(k)-round(a(k)))^2+(b(k)-round(b(k)))^2)^0.5因为正方形网格的边长为1,所以横向、纵向移动距离均应不超过1,(超过1为重复,无意义)因此0=x=1,0=y=1.综上所述我们建立模型如下:Minz=∑di12id=((a(k)-round(a(k)))^2+(b(k)-round(b(k)))^2)^0.50=x=1,0=y=1.5.模型求解利用Matlab软件编程进行搜索求解:用Matlab绘出结果点阵模型为:6,结果分析距离和最小出现在旋转45度,横向平移0.24,纵向平移0.93时此时最大距离为0.6245.因此,使所以旧井都能利用的最小距离是0.6245.MATLAB程序问题一:x=[0.501.413.003.373.404.724.725.437.578.388.989.50];y=[2.003.501.503.515.502.006.244.102.014.503.410.80];n=0;q=0;w=0;fori=0:0.01:1;a=x+i;forj=0:0.01:1;b=y+j;m=0;fork=1:12;ifabs(a(k)-round(a(k)))=0.05&abs(b(k)-round(b(k)))=0.05m=m+1;endendifmnn=m;q=i;w=j;endendendscatter(x+q,y+w)grid问题二:x=[0.501.413.003.373.404.724.725.437.578.388.989.50];y=[2.003.501.503.515.502.006.244.102.014.503.410.80];v=0;q=0;w=0;foru=0:1:90;m=x*cosd(u)+y*sind(u);n=-x*sind(u)+y*cosd(u);fori=0:0.01:1;a=m+i;forj=0:0.01:1;b=n+j;z=0;fork=1:12;if((a(k)-round(a(k)))^2+(b(k)-round(b(k)))^2)^0.5=0.05z=z+1;endendifzvv=z;q=i;w=j;e=u;endendendendscatter(x*cosd(e)+y*sind(e)+q,-x*sind(e)+y*cosd(e)+w)grid问题三:x=[0.501.413.003.373.404.724.725.437.578.388.989.50];y=[2.003.501.503.515.502.006.244.102.014.503.410.80];q=0;w=0;r=10000;foru=0:1:90;m=x*cosd(u)+y*sind(u);n=-x*sind(u)+y*cosd(u);fori=0:0.01:1;a=m+i;forj=0:0.01:1;b=n+j;s=0;t=0;fork=1:12;d=((a(k)-round(a(k)))^2+(b(k)-round(b(k)))^2)^0.5;s=s+d;iftdt=d;endendifsrr=s;q=i;w=j;e=u;l=t;endendendendscatter(x*cosd(e)+y*sind(e)+q,-x*sind(e)+y*cosd(e)+w);grid

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功