2022年深圳杯数学建模D题复杂水平井三维轨道设计解题全过程文档及程序

news2024/11/25 13:42:00

2022年深圳杯数学建模

D题 复杂水平井三维轨道设计

原题再现:

  在油气田开采过程中,井眼轨迹直接影响着整个钻井整体效率。对于复杂水平井,较差的井眼轨迹很可能会造成卡钻或施加钻压困难等重大事故的发生。因而,在施工之前分析影响井眼轨迹走向规律的诸多因素,设计最适当的井眼轨迹显得十分重要。
  在井眼轨道设计模型中,设计轨道往往由一些连续的曲线构成。目前常用的复杂水平井的井眼轨道设计模型有“垂直段 + 增斜段 + 稳斜段 + 扭方位段 + 稳斜段 + 增斜段 + 水平段”的七段式井眼轨道设计模型,如图 1 所示。描述井眼轨道的参数可分为基本测斜参数、坐标参数、挠曲参数和工艺参数,基本测斜参数包括井深、井斜角、方位角;坐标参数用来确定轨道上一点的空间位置,在空间直角坐标系下,空间坐标可由北坐标、东坐标和垂深表示;挠曲参数主要指井眼轨道的曲率、挠率等参数;工艺参数是指钻井施工中用来确定井眼轨道的参数,主要包括造斜点、工具造斜率和工具面角。
  七段式井眼轨道设计模型由空间上的圆弧(如增斜段、扭方位段)和直线(如垂直段、稳斜段)构成,相邻曲线、直线之间光滑连接。对于井眼轨道设计模型的每个井段,通过表征三维井眼轨道所需要的特征参数将观测点 1 到观测点 2处确定井眼轨道的形状和姿态,如图 2 所示。图 2 中所示井段是由观测点 1 的方位角(𝜃1)和井斜角(𝜑1)、观测点 2 的方位角(𝜃2)和井斜角(𝜑2)以及狗腿度(𝑇)征成。狗腿度为从井眼内的一点到另一点,井眼前进方向变化的角度。狗腿度既反映了井斜角度的变化,又反映了方位角度的变化。
  石油套管是用于支撑油、气井井壁的钢管,以保证完井后整个油井的正常运行。为此,套管坐封点应该位于合适的地层中,以便在固井后为套管鞋提供压力完整性。对于七段式井眼轨道设计模型,套管坐封点限制了井斜角的角度。为此,在设计时需要考虑套管坐封点的影响,如图 1 所示。
  钻井公司作为采油厂的服务方,合理的完工验收标准是服务合同的要件。由于地层的复杂性,完全精准地按设计的井眼轨道完成钻井的可能性较小。如何平衡钻井成本和风险与完井采油的方便之间的冲突,提出一套合理的钻井完工验收标准也是本题目的任务之一。
在这里插入图片描述
在这里插入图片描述
  请根据附录中的要求及相关参数建立模型解决以下问题:
  1、以井段为研究对象,采用七段式井眼轨道设计模型,结合井眼轨道优化设计参数范围表,确定理想的井眼轨道模型。
  2、对于复杂水平井来说,当管柱在井眼轨道中上下移动时,就会产生阻力。小的阻力和扭矩有助于获得光滑的井眼轨道。在问题 1 的基础上,考虑摩阻扭矩和阻力等情况下,确定理想的井眼轨道模型。
  3、假设靶区窗口为长方形(如图 1 所示),靶心位于窗口中心处。由于测量的影响,井眼轨道定位不可能绝对准确。因此,在问题 2 的基础上,考虑命中率的情况,确定理想的井眼轨道模型。
  4、通过平衡钻井成本和风险与完井采油的方便之间的冲突,试提出一套合理的水平井钻井完工验收标准。

模型的建立与求解整体论文缩略图

在这里插入图片描述

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

论文及程序仅供学习与参考

clc
ub=[1000 0.05 20/180*pi 1e4 280/180*pi 0.05 70/180*pi 1e4 340/180*pi 0.05 95/180*pi 2500
360/180*pi];
%
x0=[600.000000033230,0.0499925875432984,0.251281784577095,8135.87054070139,4.88689196614623,0.0499968793949498,0.703700778004902,2302.52301332556,5.86390402261779,0.0499978475987956,1.57079667653942,2500,6.19592152519464];
% bestans=inf;
% bestx=[];
% for i=1:100
% x0=lb.*ones(1,13)+rand(1,13).*(ub-lb);
% val=mubiao(x0);
% if val<bestans
% bestans=val;
% bestx=x;
% end
% end
x0=lb.*ones(1,13)+rand(1,13).*(ub-lb);
bestans=inf;
bestx=[];
x0=zeros(1,13);
x0=[600.000000435625,0.0499937835871316,0.277421869896148,8667.95585024487,4.88692132819307,0.0499968781918714,0.710782773523233,1908.33276341582,5.93167876542183,0.0499979250231581,1.57079902229204,2500,6.19592704860859];
x0=[600.000000004856,0.0498194123145741,0.246838160545951,6986.61336511958,4.88691243686372,0.0499998905363713,0.698133901959542,2895.70852760148,5.75984827430497,0.0480233512021104,1.57079632679508,lb(12),6.19591922750954];
%x0=[600.000000000474,0.0499922910852401,0.188439861671324,7807.56595163688,4.88093300907059,0.0499971437030730,0.698136879582935,2274.05305014408,5.75959558773011,0.0499360742110562,1.57079632679509,2500,6.19592428891987];
ans1=[];
for i=1:10
% x0=lb.*ones(1,13)+rand(1,13).*(ub-lb);
%
x0=[600.000000000474,0.0499922910852401,0.188439861671324,7807.56595163688,4.88093300907059,0.0499971437030730,0.698136879582935,2274.05305014408,5.75959558773011,0.0499360742110562,1.57079632679509,2500+(i-5)*10,6.19592428891987];
% lb=[600 0 10/180*pi 0 270/180*pi 0 40/180*pi 0 330/180*pi 0 90/180*pi 2500+(i-5)*10
355/180*pi];
% ub=[1000 0.05 20/180*pi 1e4 280/180*pi 0.05 70/180*pi 1e4 340/180*pi 0.05 95/180*pi
2500+(i-5)*10 360/180*pi];
option = optimoptions('fmincon','Algorithm','interior-point');
% option = optimoptions('fmincon','Algorithm','sqp');
% option = optimoptions('fmincon','Algorithm','active-set');
[x,fval] = fmincon(@mubiao,x0,[],[],[],[],lb,ub,@feixinxing,option);
fval
if fval<bestans
bestans=fval;
bestx=x;
end
ans1(i)=fval;
x0=x;
end
figure(2);
plot(2459,ans1(1),'w.');
hold on;
for i=1:10
plot(2500+(i-5)*10,ans1(i),'r*');
if i>1
line([2500+(i-6)*10 2500+(i-5)*10],[ans1(i-1) ans1(i)],'LineStyle','-','linewidth',1);
end
hold on;
end
r1=t2r(bestx(2),0,bestx(3),bestx(5),bestx(5)); %x(2)
r2=t2r(bestx(6),bestx(3),bestx(7),bestx(5),bestx(9)); %x(6)
r3=t2r(bestx(10),bestx(7),bestx(11),bestx(9),bestx(13)); %x(10)
o=[0 0 0];
disp(o);
f7=[5107.5 -3179 10875];
f1=o+[0 0 x(1)];
f2=f1+[r1*tan(x(3)/2)*sin(x(3))*cos(x(5)) r1*tan(x(3)/2)*sin(x(3))*sin(x(5)) r1*sin(x(3))];
f3=f2+[x(4)*sin(x(3))*cos(x(5)) x(4)*sin(x(3))*sin(x(5)) x(4)*cos(x(3))];
f4=f3+[r2*tan((x(7)-x(3))/2)*(sin(x(3))*cos(x(5))+sin(x(7))*cos(x(9)))
r2*tan((x(7)-x(3))/2)*(sin(x(3))*sin(x(5))+sin(x(7))*sin(x(9)))
r2*tan((x(7)-x(3))/2)*(cos(x(7))+cos(x(3)))];
f5=f4+[x(8)*sin(x(7))*cos(x(9)) x(8)*sin(x(7))*sin(x(9)) x(8)*cos(x(7))];
f6=f7-[x(12)*sin(x(11))*cos(x(13)) x(12)*sin(x(11))*sin(x(13)) x(12)*cos(x(11))];
disp(f1);f1(3)=-f1(3);temp=f1(2);f1(2)=f1(1);f1(1)=temp;
disp(f2);f2(3)=-f2(3);temp=f2(2);f2(2)=f2(1);f2(1)=temp;
disp(f3);f3(3)=-f3(3);temp=f3(2);f3(2)=f3(1);f3(1)=temp;
disp(f4);f4(3)=-f4(3);temp=f4(2);f4(2)=f4(1);f4(1)=temp;
disp(f5);f5(3)=-f5(3);temp=f5(2);f5(2)=f5(1);f5(1)=temp;
disp(f6);f6(3)=-f6(3);temp=f6(2);f6(2)=f6(1);f6(1)=temp;
disp(f7);f7(3)=-f7(3);temp=f7(2);f7(2)=f7(1);f7(1)=temp;
figure(1);
% xlim([o(1)-1000 f7(3)])
% ylim([-f7(3) 1000])
% zlim([o(3)-1000 f7(3)])
plot3(o(1),o(2),o(3),'k.','markersize',10);
hold on;
plot3(-500,500,-500,'w.');
plot3(f1(1),f1(2),f1(3),'k.','markersize',10);
line([o(1) f1(1)],[o(2) f1(2)],[o(3) f1(3)],'Color','blue','LineStyle','-','linewidth',2);
view(3);
plot3(f2(1),f2(2),f2(3),'k.','markersize',10);
plot3(f3(1),f3(2),f3(3),'k.','markersize',10);
plot3(f4(1),f4(2),f4(3),'k.','markersize',10);
line([f3(1) f2(1)],[f3(2) f2(2)],[f3(3) f2(3)],'Color','blue','LineStyle','-','linewidth',2);
view(3);
plot3(f5(1),f5(2),f5(3),'k.','markersize',10);
line([f4(1) f5(1)],[f4(2) f5(2)],[f4(3) f5(3)],'Color','blue','LineStyle','-','linewidth',2);
view(3);
plot3(f6(1),f6(2),f6(3),'k.','markersize',10);
plot3(f7(1),f7(2),f7(3),'k.','markersize',10);
line([f6(1) f7(1)],[f6(2) f7(2)],[f6(3) f7(3)],'Color','blue','LineStyle','-','linewidth',2);
view(3);
grid on
axis square
PathL(1)=pi*r1*x(3);
PathL(2)=pi*r2*(x(7)-x(3));
PathL(3)=pi*r3*(x(11)-x(7));
function f = mubiao(x)
r1=t2r(x(2),0,x(3),x(5),x(5)); %x(2)
r2=t2r(x(6),x(3),x(7),x(5),x(9)); %x(6)
r3=t2r(x(10),x(7),x(11),x(9),x(13)); %x(10)
f=x(1)+pi*r1*x(3)+x(4)+pi*r2*(x(7)-x(3))+x(8)+pi*r3*(x(11)-x(7))+x(12);
end
function [c,ceq] = feixinxing(x)
% 非线性不等式约束
T=0.05;
A=180/pi;
r1=t2r(x(2),0,x(3),x(5),x(5)); %x(2)
r2=t2r(x(6),x(3),x(7),x(5),x(9)); %x(6)
r3=t2r(x(10),x(7),x(11),x(9),x(13)); %x(10)
c = [x(1)+r1*sin(x(3))+x(4)*cos(x(3))-7000;
-x(1)-r1*sin(x(3))-x(4)*cos(x(3))+6000;
x(1)+r1*sin(x(3))+x(4)*cos(x(3))+r2*tan((x(7)-x(3))/2)*(cos(x(7))+cos(x(3)))+x(8)*cos(x(7))-10200;
-x(1)-r1*sin(x(3))-x(4)*cos(x(3))-r2*tan((x(7)-x(3))/2)*(cos(x(7))+cos(x(3)))-x(8)*cos(x(7))+10000;
x(1)+r1*sin(x(3))+x(4)*cos(x(3))+r2*tan((x(7)-x(3))/2)*(cos(x(7))+cos(x(3)))+x(8)*cos(x(7))+r3*tan((x(11)-x(7))/2)*(cos(x(11))+cos(x(7)))-10900;
-x(1)-r1*sin(x(3))-x(4)*cos(x(3))-r2*tan((x(7)-x(3))/2)*(cos(x(7))+cos(x(3)))-x(8)*cos(x(7))-r3*tan((x(11)-x(7))/2)*(cos(x(11))+cos(x(7)))+10850;
A*1/r1-T;
-A*1/r1;
A*1/r2*(x(7)-x(3))*sqrt((x(7)-x(3))^2+(x(9)-x(5))^2*sin((x(7)+x(3))/2)^2)-T ;
-A*1/r2*(x(7)-x(3))*sqrt((x(7)-x(3))^2+(x(9)-x(5))^2*sin((x(7)+x(3))/2)^2);
A*1/r3*(x(11)-x(7))*sqrt((x(11)-x(7))^2+(x(13)-x(9))^2*sin((x(11)+x(7))/2)^2)-T;
-A*1/r3*(x(11)-x(7))*sqrt((x(11)-x(7))^2+(x(13)-x(9))^2*sin((x(11)+x(7))/2)^2);
];
% 非线性等式约束
N7=5107.5;
E7=-3179;
H7=10875;
ceq = [
r1*tan(x(3)/2)*sin(x(3))*cos(x(5))+x(4)*sin(x(3))*cos(x(5))+r2*tan((x(7)-x(3))/2)*(sin(x(3))*cos(x(5))+sin(x(7))*cos(x(9)))+x(8)*sin(x(7))*cos(x(9))+r3*tan((x(11)-x(7))/2)*(sin(x(7))*cos(x(9))+sin(x(11))*cos(x(13)))+x(12)*sin(x(11))*cos(x(13))-N7
;
r1*tan(x(3)/2)*sin(x(3))*sin(x(5))+x(4)*sin(x(3))*sin(x(5))+r2*tan((x(7)-x(3))/2)*(sin(x(3))*sin(x(5))+sin(x(7))*sin(x(9)))+x(8)*sin(x(7))*sin(x(9))+r3*tan((x(11)-x(7))/2)*(sin(x(7))*sin(x(9))+sin(x(11))*sin(x(13)))+x(12)*sin(x(11))*sin(x(13))-E7
;
r1*sin(x(3))+x(4)*cos(x(3))+r2*tan((x(7)-x(3))/2)*(cos(x(3))+cos(x(7)))+x(8)*cos(x(7))+r3*tan((x(11)-x(7))/2)*(cos(x(7))+cos(x(11)))+x(12)*cos(x(11))-H7
];
end
function r = t2r(t,p1,p2,j1,j2)
r=180/(pi*t*(p2-p1))*sqrt((p2-p1)^2+(j2-j1)^2*sin((p1+p2)/2)^2);
end

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/559591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫-获取某某在线翻译的查询结果,爬取json文件并解析

文章目录 从基础步骤下手正确获取response数据关于url获取方式关于post方法的参数关于payload参数填入运行效果解析json数据到文件中完整代码运行结果 从基础步骤下手 # 指定url # 发出请求&#xff0c;get或post # 获取响应 # 把目标文件转存为字符串形式 # 持久性保存正确获…

从零开始的机械臂yolov5抓取gazebo仿真(六)

项目构造简述 前段时间博主装20.04系统不小心把efi启动给删了&#xff0c;导致18.04系统崩了&#xff0c;所以只能简单讲一下这个项目的设计思路以及以grasp.py代码为例进行简单解析。 yolov5_ros功能包 首先&#xff0c;说一下yolov5_ros功能包&#xff0c;该功能包的作用就…

使用 CameraX 在 Jetpack Compose 中构建相机 Android 应用程序

使用 CameraX 在 Jetpack Compose 中构建相机 Android 应用程序 CameraX 是一个 Jetpack 库&#xff0c;旨在帮助简化相机应用程序的开发。 [camerax官方文档] https://developer.android.com/training/camerax CameraX的几个用例&#xff1a; Image CaptureVideo CapturePrev…

【多线程】什么是线程死锁?形成条件是什么?如何避免?

文章目录 一、什么是线程死锁二、线程死锁三、形成死锁的四个必要条件是什么四、如何避免线程死锁 一、什么是线程死锁 死锁是指两个或两个以上的进程&#xff08;线程&#xff09;在执行过程中&#xff0c;由于竞争资源或者由于彼此通信而造成的一种阻塞的现象&#xff0c;若…

Unity 天空盒

在 Unity 中&#xff0c;天空盒是使用天空盒着色器的一种材质。 创建天空盒材质 1.从菜单栏中&#xff0c;单击 Assets > Create > Material。 2.在 Shader 下拉选单中&#xff0c;单击 Skybox&#xff0c;然后单击要使用的天空盒着色器。 有Skybox/6 Sided、Skybox/…

人民大学与加拿大女王金融硕士项目——在现在憧憬美好的未来

未来是一个虚无缥缈的词汇&#xff0c;抓不住也看不到。未来里有着我们无限的希望&#xff0c;也有着美好的憧憬。未来究竟是怎样的呢&#xff0c;有人说现在的样子里藏着未来的模样。在职的你有没有为未来编织一副美丽的画卷呢&#xff1f;未来很远&#xff0c;远到只能靠想象…

MySQL小记——约束、多表查询

目录 约束 常见约束 主键约束 非空约束 唯一约束 自增长约束 非负约束 外键约束之一对多 外键约束之多对多 多表查询 内连接 外连接 左外连接 右外连接 子查询 自查询 case when语句 约束 在MySQL中&#xff0c;约束是对字段规则的一种限制。 常见约束 1.主…

Linux安装并使用seatunnel2.3.1

SeaTunnel是一个非常易用的超高性能分布式数据集成平台&#xff0c;支持海量数据的实时同步。 下载安装包 设置版本 export version"2.3.1" 通过命令下载 wget "https://archive.apache.org/dist/incubator/seatunnel/${version}/apache-seatunnel-incubat…

Linux/Ubuntu系统运行Python+Yolov5物体识别

程序示例精选 Linux/Ubuntu系统运行PythonYolov5物体识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<Linux/Ubuntu系统运行PythonYolov5物体识别>>编写代码&#xff0c;代码…

汽车最强大脑ECU和单片机是什么关系

摘要&#xff1a; 有效解决线路信息传递所带来的复杂化问题 ECU的定义 ECU原来指的是engine control unit&#xff0c;即发动机控制单元&#xff0c;特指电喷发动机的电子控制系统。但是随着汽车电子的迅速发展&#xff0c;ECU的定义也发生了巨大的变化&#xff0c;变成了elec…

31岁才转行程序员,目前34了,我来说说我的经历和一些感受吧...

最近刷知乎&#xff0c;发现有很多朋友有年龄焦虑了&#xff0c;比如&#xff1a;“我今年28了转行来不来得及”&#xff0c;“我今年30了还能转软件测试吗&#xff1f;”......这种问题在知乎上有很多&#xff0c;仿佛大家都觉得年纪大了&#xff0c;很多事情都来不及了&#…

tps和qps的区别和理解

QPS&#xff08;TPS&#xff09; 并发数/平均响应时间 或者 并发数 QPS*平均响应时间 TPS Transactions Per Second&#xff08;每秒传输的事物处理个数&#xff09;&#xff0c;即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出&#xff0c;加上一次用户数据库访…

html使用elementui案例

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><!--引入 element-ui 的样式&#xff0c;--><link rel"stylesheet" href"static/css/index.css">…

轻松将Win10系统备份到U盘的2种方法!

问题&#xff1a;我能将Win10系统备份到U盘吗&#xff1f; ​“我想将Win10系统备份到U盘&#xff0c;然后通过增量或差异备份定期备份。我使用了系统自带的工具进行备份&#xff0c;但它无法识别这个U盘。有没有好用的方法可以轻松的将电脑系统备份到u盘/移动硬盘&#xf…

Ubuntu系统下Nginx安装

一、使用apt安装nginx 0-如果本机安装了nginx&#xff0c;就进行卸载&#xff1a; apt-get --purge autoremove nginx 检查本机是否还有nginx程序在后台运行&#xff0c;如果有直接kill掉。 ps -ef | grep nginx 1-默认版本安装 apt-get update apt-get install nginx 2…

【备战秋招】每日一题:3月18日美团春招第四题:题面+题目思路 + C++/python/js/Go/java带注释

2023大厂笔试模拟练习网站&#xff08;含题解&#xff09; www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据&#xff0c;挂载到我们的OJ上&#xff0c;供大家学习交流&#xff0c;体会笔试难度。现已录入200道互联网大厂模拟练习题&…

spring Security 认证失败,用户名和密码是正确的还是失败

项目用登录输入正确的用户名和密码为什么还是告知,用户名和密码是不正确? 有这几种情况 第一种是不是开启缓存,数据库中存储的是加密后的密码 第二种,查看源代码,这句是关键,presentedPassword是明文密码,userDetails.getPassword()是加密后的密码,进行比较 this.pa…

做好个人黄金投资,学习黄金投资交易原则

随着经济的发展,黄金逐渐成为金融投资的重要工具&#xff0c;越来越多的人开始关注黄金投资。想要做好个人黄金投资&#xff0c;建议先熟悉和学习黄金投资交易原则的内容。 黄金投资交易原则一、跟随趋势入场 在买入之前&#xff0c;首先应对行情的运行趋势有个明确的判断。一…

全网最全postman接口测试教程和项目实战~从入门到精通!!!

Postman实现接口测试内容大纲一览&#xff1a; 一、什么是接口&#xff1f;为什么需要接口&#xff1f; 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…

支撑企业未来10年高增长,用友资金管理平台助力新零售企业逆境破局

随着大数据、云服务、5G等技术的深化发展&#xff0c;人们消费观念及需求逐渐变化&#xff0c;我国新零售业数字化进程不断加快。近年来&#xff0c;新零售已经不仅局限于单一的零售范畴&#xff0c;逐步演变为集零售、快递物流、金融科技、企业服务、人工智能等各行各业为一体…