1、钻井布局 1999,舒兴明 13648694787 117562750,问题叙述,勘探部门在某地区寻找矿源。初步勘探时期已经零散地在若干位置钻井,取得了地质资料。进入系统勘探时期后,要在一个区域内按照纵横等距的王网格点来布置井位,进行“撒网式”全面钻探。由于钻一口井的费用很高,如果新设计的井位与原井位重合(或者相当近),便可利用旧井的地质资料,不必打这口新井。因此,应该尽量利用旧井,少打新井,以节约钻探费用。比如一口新井费用500万元,利用旧井资料的费用只需要10万元,可以节约490万元。,设平面上有n个点pi(ai,bi),i=1,2,n,表示n个井位。新布局的井位是一个正方形网格N的所有结
2、点。假设格子的边长都是1个单位(100m)。整个网络是可以在平面上任意移动的。若一个已知的点pi处的旧井在某个网格xi的附近(误差0.05单位),则认为pi的资料可用,不用在xi处打新井。,为了辅助决策,勘探部门要求我们做如下研究: (1)假定网格的横向和纵向是固定的,并且规定两点间的距离为横向距离或者纵向距离的绝对值的最大值。在平面上可以平行移动网格N,使得可利用的旧井数量尽可能大。试提供数值计算方法,并对表中给出的数据,进行计算。 (2)在欧式距离的误差意义下,考虑网格的纵向和横向不固定(可以旋转),给出算法及计算结果。 (3)如有有n口旧井,给出判断这些井均可利用的条件和算法。,ai:
3、0.5 1.41 3 3.37 3.4 4.72 4.72 5.43 7.57 8.38 8.98 9.5 bi: 2 3.5 1.5 3.51 5.5 2 6.24 4.1 2.01 4.5 3.41 0.8,一、问题1的数学模型,1、合理假设: (1)网格和已知点在同一个平面上,且位于同一个平面直角坐标系; (2)根据平移的相对性,网格移动处理为旧井所在的坐标变化,网格的坐标不变。 (3)网格移动时,纵横坐标变化的范围不超过1;超过1后可以看成新的移动。,2、变量设置,(i,j):表示网格(i,j)的坐标,i=1,8;j=1,2,12;,(ak,bk):表示旧井i的坐标,k=1,2,12;
4、 Z : 表示可利用的旧井数;,r1:横向移动的距离;r2:纵向移动的距离; (a1k,b1k):表示平移后的旧井点pk的坐标;k=1,2,12 yk:表示旧井pk到附近网格点(i,j)的最近距离(横纵坐标差绝对值的最大值)k=1,12,fk:表示yk的属性,且,yk=0.05,yk=0.05,3、根据要求,建立数学模型,旧井点pk变化后的坐标:,k=1,12,网格点和旧井之间的距离:,网格点与旧井的决策表示:,数学模型为,4、模型的求解,注意到i,j都是整数,故存在i,j使得,全部变成0,1上的值,即,利用高等数学的取整(个向下取整)函数,将如下出现的四对数列,(ak-ak,bk-bk),
5、(ak+1-ak,bk-bk), (ak-ak,bk+1-bk), (ak+1-ak,bk+1-bk),计算结果如下(实际只要计算其中一对值就可以确定了),0.5000 0.4100 0 0.3700 0.4000 0.7200 0.7200 0.4300 0.5700 0.3800 0.9800 0.50000 0.5000 0.5000 0.5100 0.5000 0 0.2400 0.1000 0.0100 0.5000 0.4100 0.80000.5000 0.5900 1.0000 0.6300 0.6000 0.2800 0.2800 0.5700 0.4300 0.6200 0
6、.0200 0.50001.0000 0.5000 0.5000 0.4900 0.5000 1.0000 0.7600 0.9000 0.9900 0.5000 0.5900 0.20000.5000 0.4100 0 0.3700 0.4000 0.7200 0.7200 0.4300 0.5700 0.3800 0.9800 0.50001.0000 0.5000 0.5000 0.4900 0.5000 1.0000 0.7600 0.9000 0.9900 0.5000 0.5900 0.20000.5000 0.5900 1.0000 0.6300 0.6000 0.2800 0.
7、2800 0.5700 0.4300 0.6200 0.0200 0.50001.0000 0.5000 0.5000 0.4900 0.5000 1.0000 0.7600 0.9000 0.9900 0.5000 0.5900 0.2000,绘制其中任意对值所对应的点图,可以看出,由此观察可以看出,当r1=0.4,r2=0.5时,由4个点挤在一起,即约在整数附近,这代表有4口旧井可以利用。再观测数据,这4口井是第2、第4、第5、第10口井可以再利用。它们的横坐标差不超过0.03,纵坐标差不超过0.01。满足要求,a2=a1-0.4;b2=b1-0.5; plot(a1,b2,*) a2;b
8、2 ans =0.1000 0.0100 -0.4000 -0.0300 0 0.5800-0.5000 0 0 0.0100 0 -0.5000,0.1000 0.3200 0.3200 0.0300 0.1700 -0.0200,-0.2600 -0.4000 -0.4900 0 -0.0900 0.3000,通过网格移动,得到的结果是第2口井、第4口井、第5口井、第10口井的资料都可以利用。,由此可以看出,用坐标差的绝对值最大值作为距离。如果想要所有的旧井的资料都能够利用,必须存在整数i,j,使得所有点的坐标满足,二、问题2的数学模型,1、合理假设,(1)网格覆盖面可以看作远远大于作业区
9、,因此与旋转点选择无关,不妨设坐标系绕原点(0,0)旋转; (2)由旋转的相对性,网格的坐标不变化,而旧井的点的坐标先平移,再旋转,最后再平移,2、变量设置,(i,j):表示网格(i,j)的坐标,i=1,10;j=1,2,10;,(ak,bk):表示旧井k旋转前的坐标,k=1,2,12; (a1k,b1k):表示旧井k的旋转后的坐标,k=1,2,12; dk:表示到旧井k最近的点到整数点的欧式距离,k=1,2,12;,(r1,r2):表示旧井旋转后再平移的平移量; :为旋转角度,且,3、建立模型,平移后再旋转,然后再平移后的旧井坐标为,fk:旧井k的决策,z:表示可以利用的旧井的数量。,K=1
10、,2,12,旋转后旧井到最近的整数点的最短距离为,归纳数学模型为,sets: jiujing/112/:a,b,a1,b1,d,x,y,a2,b2; endsets data: a=0.5 1.41 3 3.37 3.4 4.72 4.72 5.43 7.57 8.38 8.98 9.5; b=2 3.5 1.5 3.51 5.5 2 6.24 4.1 2.01 4.5 3.41 0.8; enddata for(jiujing:a1=r1+(a+r3)2+(b+r4)2)0.5*s1); for(jiujing:b1=r2+(a+r3)2+(b+r4)2)0.5*(1-s1*2)0.5);
11、for(jiujing:d=(x-a1)2+(y-b1)2); for(jiujing:gin(x);gin(y);x-1;r2-1;s1-1; r3-1;r3-1;r41; free(r1);free(r2);free(s1);free(r3);free(r4);,sets: jiujing/112/:a,b,a1,b1,d,x,y,a2,b2,beta; endsets data: a=0.5 1.41 3 3.37 3.4 4.72 4.72 5.43 7.57 8.38 8.98 9.5; b=2 3.5 1.5 3.51 5.5 2 6.24 4.1 2.01 4.5 3.41 0.
12、8; enddata for(jiujing:b=a*tan(beta); for(jiujing:s1=cos(alpha+beta); for(jiujing:a1=r1+(a+r3)2+(b+r4)2)0.5*s1); for(jiujing:b1=r2+(a+r3)2+(b+r4)2)0.5*(1-s12)0.5); for(jiujing:d=(x-a1)2+(y-b1)2); for(jiujing:gin(x);gin(y);x-1;r2-1;s1-1; r3-1;r3-1;r4-3.1416/4;free(alpha); free(r1);free(r2);free(s1);f
13、ree(r3);free(r4);,4、模型求解,4.1 必要有解的必要条件:给定(ai,bi),这个点能够通过旋转到某个网格点(i,j)附近的必要条件是:,即这个点到原点(0,0)的距离与某个(i,j)到原点(0,0)的距离相等,大概位于同一个圆周上。,所给定的12口旧井的点逐一验证,结果如下, Lp,Lpij=zuanjing3(a,b), Lp;Lpijans =0.0272 0.0272 0.0138 0.0138 0.0221 0.0221 0.0250 0.0468 1.0000 5.0000 5.0000 6.0000 5.0000 6.0000 9.0000 9.0000 5.
14、0000 1.0000 6.0000 5.0000 6.0000 5.0000 3.0000 3.0000,即每个点都可以旋转到网格点。,sets: jiujing/112/:a,b,a1,b1,x,y,d; endsets data: a=0.5 1.41 3 3.37 3.4 4.72 4.72 5.43 7.57 8.38 8.98 9.5; b=2 3.5 1.5 3.51 5.5 2 6.24 4.1 2.01 4.5 3.41 0.8; enddata for(jiujing:a1=r3+d1*s1); for(jiujing:d1=(a+r1)2+(b+r2)2)0.5); fo
15、r(jiujing:b1=r4+d1*(1-s12)0.5); for(jiujing:d=(a1-x)2+(b1-y)2)0.5); r10;free(r1); r20;free(r2); s10;free(s1); r30;free(r3); r40;free(r4); min=sum(jiujing:d);,验证的M文件,LLp表示旧井到原点距离与(i,j)到原点距离的误差差小于0.05时对应的(i,j)网格的判断结果。,function LLp,L1,L2=zuanjing3(a,b,r1,r2) n=1+floor(max(a);m=1+floor(max(b); a1=a;b1=b
16、;L1=(a1.2+b1.2).0.5; for k=1:n for k1=1:mL2(k,k1)=(k+r1)2+(k1+r2)2)0.5;end End for k=1:12L3=ones(n,m)*L1(k); Lp1=abs(L3-L2)=1f(k)=1; else f(k)=0; end End LLp=; for k=1:12r=ones(10,7); L11=r*L1(k); L12=abs(L11-L2); Lp1=L120.05; LLp1=sum(sum(Lp1); LLp=LLp;LLp1; end,4.2 旧井资料都可用的充分条件:旧井对应点(a(k),b(k)和对应的
17、等圆周网格点(Lpij(k,1),Lpij(k,2)与原点的连线的夹角一致。,这个问题用lingo和matlab都不容易求解,进行模拟计算,先编写模型的M文件,function z,x=zuanjing2(x) a=0.5 1.41 3 3.37 3.4 4.72 4.72 5.43 7.57 8.38 8.98 9.5; b=2 3.5 1.5 3.51 5.5 2 6.24 4.1 2.01 4.5 3.41 0.8; at=atan(b./a);a1=x(2)+(a.2+b.2).(0.5).*cos(x(1)+at); b1=x(3)+(a.2+b.2).(0.5).*sin(x(1)
18、+at);a2=a1-floor(a1); b2=b1-floor(b1);a3=a2+1;b3=b2+1;d1=(a2.2+b2.2).0.5; d2=(a2.2+b3.2).0.5;d3=(a3.2+b2.2).0.5; d4=(a3.2+b2.2).0.5;f1=d10.05*ones(1,12); f2=d20.05*ones(1,12);f 3=d30.05*ones(1,12);f4=d40.05*ones(1,12);z1=sum(f1); z2=sum(f2);z3=sum(f3);z4=sum(f4); z=max(z1,z2,z3,z4);,再在主窗口计算得到,此次模拟次数
19、180000次,得到最好的是5口旧井可以利用。旋转大约44.7308度,然后向下平移0.9423单位,向右平移0.7119单位,clear z1=0 0 0; for k=1:180000 r=unifrnd(-1,1,3,1); x=pi/2*r(1),r(2),r(3); z,x=zuanjing2(x); if zz1(1)z1=z,x; elsez1=z1; end end z1 z1 = 5.0000 0.7807 -0.9423 -0.7119,0.0054 0.5962 0.1333 0.9816 0.6024 0.0033 0.0193 0.0298 0.0210 0.8440
20、 0.0374 0.24370.0608 0.7669 0.4651 0.1534 0.5883 0.0308 0.0430 0.0223 0.0436 0.3826 0.0306 0.5423,根据图示和计算结果,第6号井,第7号井,第8号井,第9号井,第11号井都可以直接利用。其中第1号井误差稍微大了点。,clear z1=0 0 0; for k=1:380000 r=unifrnd(-1,1,3,1); x=pi/2*r(1),r(2),r(3); z,x=zuanjing2(x); if zz1(1) z1=z,x; ese z1=z1; end end z1 z1 = 6.0000
21、 0.7836 -0.9243 -0.7359,0.0182 0.6041 0.1421 0.9855 0.6021 0.0076 0.0148 0.0283 0.0194 0.8356 0.0300 0.24060.0338 0.7386 0.4442 0.1292 0.5600 0.0124 0.0159 0.0011 0.0311 0.3667 0.0181 0.5362,三、回答问题3,由前面1的计算可以看到,如果点能够通过平移,全部移动到结点附近,那么所有的旧井都可以利用。由2的计算可知,只要所有的点通过旋转然后平移,都可以移动到结点附近,则所有的旧井资料都可以利用。,1、如果采用问题1的距离计算方式,只要所有点的坐标已知减去向下取整的值,剩下数部分构造的新坐标全部为与0,1x0,1上,把这些点全部绘制在0,1x0,1的坐标平面内,看看它们是不是全部集中在一个点附近(误差小于0.05)即可。,2、如果采用问题2的距离计算方式,要所有的旧井资料都能使用,需要这些点通过旋转前,一方面坐标尽量都落在半径为,的各个圆周线上。另一方面,这些到原点构成的射线的夹角尽量一致。这样才能保证旋转同一角度后都变化成情况1。,