首页 > 其他分享 >非线性规划之飞行管理问题

非线性规划之飞行管理问题

时间:2024-10-11 19:34:45浏览次数:6  
标签:飞机 end seta 非线性 区域 飞行 pi 规划

题目:

在约10000m高空的某边长160km的正方形区域内,经常有若干架飞机作水平飞行。区域内每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行管理。当一架欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域内的飞机发生碰撞。如果会碰撞,则应计算如何调整各架(包括新进入的)飞机飞行的方向角,以避免碰撞。现假定条件如下:

(1)不碰撞的标准为任意两架飞机的距离大于8km。

(2)飞机飞行方向角调整的幅度不应超过30°。

(3)所有飞机飞行速度均为800km/h。

(4)进入该区域的飞机在到达区域边缘时,与区域内飞机的距离应在60km以上。

(5)最多需考虑6架飞机。

(6)不必考虑飞机离开此区域后的状况。

求解:

首先对模型进行假设:

  • 假设区域内所有飞机都沿水平直线正常飞行(不考虑意外坠毁等情况)。
  • 若飞机需要进行飞行角度调整,则假定在角度调整过程中飞机速度不变。
  • 假设新的飞机进入区域边缘时,区域内其他飞机的飞行方向和角度都合适。
  • 假设每架飞机最多只改变一次飞行角度。
  • 飞机进入边缘时就对飞机的方向角进行调整。
  • 不考虑天气状况(不稳定气流,暴雨等)对飞机飞行造成的影响。

然后假设一些符号方便我们分析这个问题:

符号解释

每架飞机初始位置及初始角度见代码部分。

假设两架飞机先在 (x1,y1), (x2,y2) ,t时间后, \(x_i(t)=x_i(0)+vtcos\theta_i\) , \(y_i(t)=y_i(0)+vtcos\theta_i\) , \(\theta_i=\theta_i(0)+\Delta\theta_i\)

两飞机间的间距 \(d_{ij}=\sqrt{(x_i^2-x_j^2)+(y_i^2-y_j^2)}\) , 为方便计算,将其转化为 : \(d_{ij}^2=(x_i^2-x_j^2)+(y_i^2-y_j^2)\)

解模型

求导算critical point. 然后在临界点不相撞

以12两架飞机为例,借鉴b站大师兄数学建模的求导过程:

添加图片注释,不超过 140 字(可选)

由于需要每两架飞机间都不小于8m,所以可得到非线性规划

添加图片注释,不超过 140 字(可选)

或者 直接按时间模拟,每个时间点都不相撞,见代码部分


代码部分

% 目标函数
function y=hwf1(seta)
for i=1:6
    y=seta(i).^2;
end
end

% 主程序
clear,clc;
x0=zeros(1,6);%初值限定
lb=zeros(1,6);%下界
ub=[(pi/6).^2 (pi/6).^2 (pi/6).^2 (pi/6).^2 (pi/6).^2 (pi/6).^2];%上界
[x,fval]=fmincon(@hwf1,x0,[],[],[],[],lb,ub,@hwf2)

% 非线性约束
function [c,ceq]=hwf2(seta)
% m,n,seta为初始位置(x, y)及初始角度
m=[150 85 150 145 130 0];
n=[140 85 155 50 150 0];
seta0 = [243 236 220.5 159 230 52]*pi/180;
c=[];x=[];y=[];
cosTheta=cos(seta0+seta);sinTheta=sin(seta0+seta);
for t=0:0.001:160*sqrt(2)/800 %按时间一直向下模拟,直到飞出该限制区
    for i=1:length(m)
        for j=i+1:length(m)
            c=[c 64-((m(i)-m(j)+800*t*(cosTheta(i)-cosTheta(j)))^2+(n(i)-n(j)+800*t*(sinTheta(i)-sinTheta(j)))^2)];
        end
    end
end
ceq=0;
end

标签:飞机,end,seta,非线性,区域,飞行,pi,规划
From: https://www.cnblogs.com/cxy1114blog/p/18459116

相关文章

  • 动态规划-路径问题——931.下降路径最小和
    1.题目解析题目来源:931.下降路径最小和——力扣测试用例2.算法原理1.状态表示我们可以开辟一个dp表,多开辟一行两列用来存储虚拟位置,dp[i][j]表示从第一行到该位置的最小路径和2.状态转移方程由于要找到最小路径和,并且由题目可以知道每一个位置的只能向......
  • 【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)
     ......
  • 《从技术洞察到技术规划赋能培训》(2024年11月8-9日)
     【课程背景】所谓技术洞察,简称(TI,TechnologyInsight),是根据市场发展趋势和客户需求,以及技术的生命周期,对某项技术发展趋势进行判断和预测,并明确未来3~5年的技术战略和战略控制点、重大的技术投资方向,完成技术战略规划的制订,并最终进行技术战略解码,为公司整体战略创造价值。技......
  • 基于模糊神经网络的移动机器人路径规划matlab仿真
    1.程序功能描述基于模糊神经网络的移动机器人路径规划1.环境地图中的障碍物为静态、未知障碍物,可以随机设置。(一般设置5~7个,为计算简便设置成规则性状的障碍物)2.机器人的行进方向为X轴的正方向,X轴逆时针旋转90°即为Y轴。两驱动轮之间的距离为50cm,驱动轮的直径为30cm。机器人的......
  • 财务规划的成功战略之一:建立数据驱动型决策
    在财务规划和分析领域,数据的价值不可估量,企业未来需要学习的就是如何有效利用数据。虽然财务团队通常已经知道如何处理大型数据集,但仅仅使用数据构建一些图表和演示文稿,与真正利用数据来推动战略决策并实现期望成绩之间,仍存在着显著差距。在财务规划中建立数据驱动型决策需要的是全......
  • 项目管理之精准管理规划:引领团队迈向成功之路
        从基本含义上理解,管理规划是管理者在脑海中构建的管理蓝图与愿景。从展现方式来看,管理规划是管理者与上下级共同制定的一份“工作契约”,旨在促进高效的上下协同。就其核心内容而言,管理规划要求管理者清晰阐述:“我接下来将如何引领这个团队?”    若需向上级......
  • 4.文件规划:让你的Python更加简洁
    在上一篇文章之中,小编简单的介绍了目前Python中主流的三大Web框架,分别是Django、Flask和FastAPI,并且介绍了它们的优缺点。并且,我们快速的使用FastAPI搭建了一个简单的RestFul风格的接口,并且使用unicorn作为Web服务器,来向外提供服务。最后,我们使用我们学习到的FastAPI知识,......
  • 动态规划一>解码方法
    1.题目: .-力扣(LeetCode)  2.解析:版本一:图解:注意:前导0不能解码:06,或者两个数字字符:其中一个解码失败,整个也解码失败 /**1.创建dp表2.初始化3.填表4.返回*/publicintnumDecodings(Stringss){intn=ss.length();......
  • 无人机集群路径规划:5种优化算法(APO、GOOSE、CO、PSO、PIO)求解无人机集群路径规划,提供M
     一、单个无人机路径规划模型介绍无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。二、无人......
  • 产品战略规划实战暨工信部教考中心产品战略规划能力
     通过此次课程培训,可使学习者获得如下收益:   掌握华为BLM业务领先模型;运用双差分析并找出根因;掌握确定战略意图方法;运用五看方法论进行高质量市场洞察;运用竞争取舍线工具展开高质量的竞争;运用SPAN模型和综合指数法筛选优质机会;熟练运用10种创新策略......