钻井布局问题的搜索算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第19卷第2期 怀化师专学报 V ol119N o12 2000年4月 J OURNA L OF HUAIHUA TEACHERS COLLEGE Apr.,2000

钻井布局问题的搜索算法3

蒲 飞, 龚玉龙, 吴齐峰, 宋燕霞

(怀化师专数学系,湖南怀化 418008)

摘 要:研究了钻井布局问题,采用将网格移动而井不动转化为井动而网不动的思想,对平移情形提出了两种搜索算法,一种是全程搜索,另一种是逐井优化搜索,并对后一种算法的有效性在理论上给出两个定理作保证1对旋转情形也采用全程搜索算法,并对所提算法进行了数值实验1通过比较,对平移情形,逐井优化搜索算法比全程搜索算法效率高得多,大大节省了搜索时间,且所得结果与全程搜索完全一致1最后,分别对所提算法的数值结果可视化1所给例子,求得只可平移时有4个旧井可利用,对可旋转又可平移的情况,求得有6个旧井可利用1关键词:平移;旋转;全程搜索;逐井优化搜索;参照井

中图分类号:O241;T B115 文献标识码:A 文章编号:1007-1814(2000)02-0024-06

1 问题的提出

勘探部门在某地区找矿,初步勘探时期已在若干位置钻井取得了地质资料,进入系统勘探时期后,要在一个区域内按纵横等距的网格点来布局井位,进行“撒网式”全面钻探1由于钻一口新井的费用很高,如果新设计的井位与原有井位重合(或相当接近),便可利用旧井的地质资料,不必打这口新井1因此,应该尽量利用旧井,少打新井,以节约钻探费用1

设平面上有n个点P i,其坐标为(a i,b i),i=1,2,…,n,表示已有的n个井位1新布置的井位是一个正方形网格N的所有结点1假定每个格子的边长(井位的纵横间距)都是1单位1整个网格是可以在平面上任意移动的1若一个已知点P i与某个网格结点X i的距离不超过给定误差ε(=0105单位),则认为P i处的旧井资料可以利用,不必在结点X处打新井1

为进行辅助决策,勘探部门提出如下问题:

(1)假定网格的横向和纵向是固定的(比如东西向和南北向),并假定距离误差是沿横向和纵向计算的,即要求可利用井P i与相应的结点X i的横坐标之差(取绝对值)及纵坐标之差(取绝对值)均不超过ε1在平面上平行移动网格N,使可利用的旧井数尽可能多1试提供数值计算方法,并对下面的数值例子(表1)用计算机进行计算1

(2)在问题(1)的基础上,考虑网格的横向和纵向不固定(可以旋转)的情形,给出算法及计算结果1

表1 数值例子(n=12个点的坐标)

i123456789101112

a i015011413100313731404172417251437157813881899150

b i210031501150315151502100612441102101415031410180

2 模型假设及符号设置

211 模型假设

收稿日期:1999-10-22

3本文获1999年全国大学生数学建模竞赛三等奖1蒲飞为指导教师1

作者简介:蒲飞(1970-),男,湖南洪江人,讲师,硕士,主要从事计算数学研究1

(1)假设所考虑区域为平面区域1

(2)不考虑井的大小,只把它当作平面上的点来处理1(3)假设利用旧井的费用远远小于钻一口新井的费用1(4)假设平移的方向为东西向和南北向1

(5)旋转时旋转角度,以逆时针方向为正,顺时针方向为负1

(6)网格的初始位置中有一条横线与X 轴重合,有一条纵线与Y 轴重合1212 符号设置:

P i (a i ,b i ):第i 口旧井,其中(a i ,b i )为其坐标1X i :网格中的结点1

ε:给定的误差,取为0105个单位1

k :井纵向移动的单位数,k >0时向上移,k <0时向下移1h :井横向移动的单位数,h >0时向右移,h <0时向左移1[x ]:不超过x 的最大整数1

3 算法的分析及建立

钻井布局实际上就是移动网格使尽可能多的结点与旧井的距离误差不超过ε,即可利用的旧井数尽可能地多1在网格移动的过程中,旧井的位置是不变的1为分析问题简单计,可看成是旧井动而网格不动的情形,则网格移动的方向实际上与旧井移动的方向相反1以下算法的设计均采用这一思想来处理1进一步,对平移情形可只考虑旧井横向与纵向的最大移动范围为1个单位的情形,若移动了x (x ≥1)个单位,各旧井移动后的位置与所在格子的四边的距离跟各旧井移动x —[x ](0≤x —[x ]<1)个单位时旧井位置与四边的距离完全一样1下面分别就只平移及平移且旋转两种情形来建立算法1311 只平移的情形31111 全程搜索算法:

算法设计思想:由于给定的误差ε=0105单位,为保证搜索的精确度,取搜索步长为0101单位,做一个双重循环,外部循环做横向搜索,内部循环为纵向搜索,横向与纵向搜索范围均不超过1单位1每循环一次均搜索出可利用旧井数,搜索完毕后,求出最大可利用旧井数1

算法:

Step 1:输入旧井坐标1

Step 2:作全程搜索,采用双重循环,h 1为横向搜索步长,h 2为纵向搜索步长1h 1从0开始,依次递增0101单位作外部循环,进行横向搜索,h 2从0开始,依次递增0101单位作内部循环1进行纵向搜索,依次计算各井与所在格子四个结点的横坐标之差(取绝对值)及纵坐标之差(取绝对值),若至少与一个结点的纵横坐标之差(取绝对值)均不超过ε,则认为此井可利用,可按下式计算:

(1)与左下结点:a i -[a i ]≤ε,b i -[b i ]≤ε(2)与左上结点:a i -[a i ]≤ε,[b i ]+1-b i ≤ε(3)与右下结点:[a i ]+1-a i ≤ε,b i -[b i ]≤ε(4)与右上结点:[a i ]+1-a i ≤ε,[b i ]+1-b i ≤ε

Step 3:搜索完毕后,取可利用旧井数的最大值,并输出相应的横向、纵向平移长度,同时输出各旧井相应位置1

数值计算结果:最大可利用井数为4,旧井向东移动016单位,向北移动015单位(即网格向西移动016单位,向南移动015单位)后各井位置如表2:

52・第19卷第2期 蒲飞等:钻井布局问题的搜索算法

相关文档
最新文档