小小程序网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 611|回复: 15

2019年华为杯研究生数学建模竞赛F题–多约束条件下飞行器...

[复制链接]

839

主题

431

帖子

2933

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2933
发表于 2019-9-23 20:57:42 | 显示全部楼层 |阅读模式
题目简介:
复杂环境下航迹快速规划是智能飞行器控制的一个重要课题。由于系统结构限制, 这类飞行器的定位系统无法对自身进行精准定位, 一旦定位误差积累到一定程度可能导致任务失败。 因此, 在飞行过程中对定位误差进行校正是智能飞行器航迹规划中一项重要任务。本题目研究智能飞行器在系统定位精度限制下的航迹快速规划问题。

注意!!!
听到一种新的解释,感觉挺有道理的,我又把我代码全部改了一遍,大家看下呗,改来改去好累啊
新的解释:水平表示投影到XY的距离,垂直表示投影到Z轴的距离,后面都是这个新解释的结果
问题1ok问题2ok问题3ok
备份获取地址:问题1ok问题2ok问题3ok
买过全套的邮箱联系我我给你们发1706842402@qq.com

完成情况:问题1ok问题2ok问题3ok简要说明视频教程+含文档(内无代码)F集(含前面)
备用:视频教程+含文档(内无代码)、F集(含前面)
解压密码:F^*$EM3EPOkbtPlR9izc7dNTKAvWbC9o
只做思路分享,请勿照抄,另外详细文档主要是给实在看不懂代码的朋友的,请尽量看简要说明。
有详细文档的可以发邮件索取视频教程1706842402@qq.com
目标函数文档(就是目标函数公式) mathtype6.0编辑
(这里的代码是欧式距离理解+投影到X轴和Y轴的投影)

勘误说明:
  • fobjprint函数中出现错误,应该是打印纠正前的误差,而非纠正后的将fobjprint中的
    这行代码放到40行左右。
  • 题目里编码貌似是从0开始到612的,打印结果需要减去1.()
  • 有朋友提醒我从xls考文件的时候出了点问题大家替换一下每个文件夹下的mat文件,文件下载
  • 为啥出来的是二维图,实际是三维图你在工具栏上找到旋转按钮即可转动
  • 第三问有时候可能改进后的输出不存在,因为这里是做多目标优化最终输出多个解进行旋转,为了改进前后比较我本来是设置的比较两条节点都是12个节点的路径,但这样的解对于改进前的算法不一定存在,所以当改进前无输出时,在main里找到

    可以尝试吧上面的12,11,10,9,8,7,6,5,4,3,2,1试一试,
  • 圆弧不是没有改颜色而是很小,看不太清

问题1:
针对附件 1 和附件 2 中的数据分别规划满足条件(1) ~(7)时飞行器的航迹, 并且综合考虑以下优化目标:
(A) 航迹长度尽可能小;(B) 经过校正区域进行校正的次数尽可能少。
并讨论算法的有效性和复杂度。

解题思路:这里是一个复杂约束下的优化问题,而且好像是多目标优化问题,首先尝试以多目标优化算法进行优化,另外整个问题的规模可以认为接近612维,而且约束严格,主要思想是先产生一批可行解然后对可行解进行优化
因此采用智能算法进行优化时候,有两个地方很重要:
1、产生的初始解不能完全随机,否则必然满足不了约束
2、产生新解的方式需要考虑实际情况,保证新解满足约束
下面是我暂时跑出来的结果
数据集1:


增加迭代次数可以得到更好的效果把

问题 2.
针对附件 1 和附件 2 中的数据(参数与第一问相同) 分别规划满足条件
(1) ~(8)时飞行器的航迹, 并且综合考虑以下优化目标:
(A)航迹长度尽可能小;(B)经过校正区域进行校正的次数尽可能少。
并讨论算法的有效性和复杂度

该题比上题多了一个约束,有一个转弯半径的限制,整个一方面涉及到曲率的变化,另一方面也涉及到转弯带来的路径变化后如何进行优化。
该题主要问题有两个,如果需要机动,
1、当前的校准点配置需要在极限情况下的,机动能力有多少,即求三点的圆半径(解方程)
2、若满足机动需求,机动前后路程差多少,机动曲线何如(设计机动路线)
解决思想:给定机动路线几何求解,计算路程时候,额外考虑机动路程进行优化(实际差值最多一次可以有几百米还是需要考虑的)
机动方式设计
数据集1:




问题3:
飞行器的飞行环境可能随时间动态变化,虽然校正点在飞行前已经确定,但飞行器在部分校正点进行误差正时存在无法达到理想校正的情况(即将某个误差精确校正为 0),例如天气等不可控因素导致飞行器到达校正点也无法进行理想的误差校正。 现假设飞行器在部分校正点(附件 1 和附件 2 中 F 列标记为“1”的数据) 能够成功将某个误差校正为 0 的概率是 80%, 如果校正失败,则校正后的剩余误差为 min(error, 5)个单位(其中 error 为校正前误差, min 为取小函数), 并且假设飞行器到达该校正点时即可知道在该点处是否能够校正成功, 但不论校正成功与否,均不能改变规划路径。 请针对此情况重新规划问题 1 所要求的航迹, 并要求成功到达终点的概率尽可能大。
目前打算将双目标优化问题升级为三目标优化问题进行实验。经过思考感觉实际的失败概率涉及马尔可夫链比较难以直接计算而且复杂度也很高

因此这里提出采用另一中跟成功概率正相关的值(这个是我定义的,无物理意义)作为优化目标,同时限定连续出现问题节点的次数,以保证成功概率,最后通过蒙特卡洛算法计算失败概率。
设初始失败概率为0,在每次都为失败情况,可以得到最恶劣情况下那几次回会倒置无法校正,每次出现失败,失败概率=失败概率+成功概率*(0.2)(最近的连续遇到问题节点次数)。成功概率=1-失败概率。
(这里的失败概率非真实的失败概率,而是某个正相关的参数)。
下面是处理结果,我只给数据集1的结果


代码思路整理
简单介绍上述代码实现思路–下载地址
详细版介绍包括代码注释(截图形式)和一些流程注释–获取地址



回复

使用道具 举报

0

主题

255

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2019-9-23 20:59:49 | 显示全部楼层
元芳你怎么看?
回复

使用道具 举报

0

主题

246

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
发表于 2019-9-23 21:03:01 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

0

主题

258

帖子

516

积分

高级会员

Rank: 4

积分
516
发表于 2019-9-23 21:03:59 | 显示全部楼层
路过 帮顶 嘿嘿
回复

使用道具 举报

0

主题

233

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
发表于 2019-9-23 21:06:12 | 显示全部楼层
看起来不错
回复

使用道具 举报

0

主题

245

帖子

490

积分

中级会员

Rank: 3Rank: 3

积分
490
发表于 2019-9-23 21:07:30 | 显示全部楼层
呵呵。。。
回复

使用道具 举报

0

主题

228

帖子

456

积分

中级会员

Rank: 3Rank: 3

积分
456
发表于 2019-9-23 21:09:38 来自手机 | 显示全部楼层
我擦!我要沙发!
回复

使用道具 举报

0

主题

233

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
发表于 2019-9-23 21:11:41 | 显示全部楼层
回复

使用道具 举报

0

主题

251

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2019-9-23 21:16:05 来自手机 | 显示全部楼层
无论是不是沙发都得回复下
回复

使用道具 举报

0

主题

258

帖子

516

积分

高级会员

Rank: 4

积分
516
发表于 2019-9-23 21:18:25 来自手机 | 显示全部楼层
站位支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Axiao程序网  

GMT+8, 2019-10-15 18:07 , Processed in 0.230699 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表