1.基于改进的Dijkstra算法的飞行器航迹快速规划方法,其特征在于,包括如下步骤:步骤1,将飞行器在航行过程中遇到突发状况的地点作为飞行器航迹快速规划的起点,原计划任务的终点作为飞行器航迹快速规划的终点,以累积误差小于预设数值为前提,找到使得飞行器的航迹距离最短且途径的校正点数最少的飞行路径为目标,建立飞行器双目标航迹优化模型;
步骤2,采用归一化熵权法将双目标航迹优化模型转化为单目标航迹优化模型;
步骤3,利用改进的Dijkstra算法对所述单目标航迹优化模型进行求解,得到一条累积误差小于预设数值,航迹距离最短且途径的校正点数最小的飞行路径;具体过程如下:步骤3.1,输入起点S、终点E和起点S与终点E之间各校正点的坐标,并输入各校正点的类型,储存在全部节点集G中,定义起点S、终点E以及起点S与终点E之间的所有校正点均为节点,共n个节点,建立n个节点构成的有向图的权值矩阵W,记录各节点之间的距离;
步骤3.2,初始化有向图的邻接矩阵A、垂直误差列向量ve、水平误差列向量he以及路由列向量g;标记起点S,建立已标记节点集Gp,则未标记节点集记为G‑Gp;
步骤3.3,在未标记节点集G‑Gp中找到节点Pj,使得起点S到节点Pj的距离最短且符合双目标航迹优化模型中的误差约束条件;标记节点Pj,并将其划归已标记节点集Gp中,对Gp和G‑Gp进行更新;
步骤3.4,以更新后的Gp中的节点作为中转点,根据以下公式对权值矩阵W和路由列向量g进行更新,得到等效权值矩阵W′和更新后的路由列向量g′:式中,W′1j为更新后的等效权值矩阵W′中的元素,表示起点S到编号为j的节点vj的等效距离;W1j表示起点S到编号为j的节点vj的距离,W1i表示起点S到编号为i的节点vi的距离,Wij表示编号为i的节点vi到编号为j的节点vj的距离,c表示差值,gj表示编号为j的节点vj前一个连接的节点编号,g′j表示更新后的gj;其中:式中,wL表示航迹距离权重,wnum表示途经节点数权重,Lm、numm分别表示禁忌搜索算法初步搜索得到的第m条可行路径的长度和途经节点数,M表示禁忌搜索算法初步搜索得到的可行路径数量;
步骤3.5,对G‑Gp中节点进行一轮预搜索,若预搜索失败,则根据以下公式更新W′和g′:W′1j=W1i+Wij+c
g′j=i
若预搜索成功,则进入步骤3.6;
步骤3.6,根据等效权值矩阵W′在G‑Gp选定距离起点S最近且符合误差约束条件的节点Pj’,并将其划归在Gp中;
步骤3.7,判断节点Pj’是否为终点E,若是,则输出求解结果,否则返回步骤3.4。
2.根据权利要求1所述的基于改进的Dijkstra算法的飞行器航迹快速规划方法,其特征在于,步骤3.5所述预搜索的深度为一。
3.根据权利要求1所述的基于改进的Dijkstra算法的飞行器航迹快速规划方法,其特征在于,步骤1所述飞行器双目标航迹优化模型为:式中,num表示飞行器途径的校正点数,L表示飞行器的航迹距离,A表示起点S、终点E以及起点S与终点E之间的所有校正点构成的有向图的邻接矩阵,δ表示飞行器每飞行1m,垂直定位误差和水平定位误差都增加δ个单位;其中:num=sum(A)
L=sum(A*W)
Q=[ve,he],P=t11×2,θ=θ11n×2tv=Tv,Pv=tv11×2,α=1n×1[α1,α2]th=Th,Ph=th11×2,β=1n×1[β1,β2]H=[1n×1‑v,1n×1‑h]式中,W表示起点S、终点E以及起点S与终点E之间的所有校正点构成的有向图的权值矩阵,ve表示飞行器到达各节点时的垂直误差列向量,ve∈n×1,he表示飞行器到达各节点时的水平误差列向量,he∈n×1,n为所有节点的数量,令矩阵T=A*W,T∈n×n,矩阵T的各行元素和记做列向量t,θ1表示飞行器到达各校正点的误差积累值不超过θ1个单位;规定飞行器进行垂直误差校正时垂直误差阈值为α1,水平误差阈值为α2,用列向量v,v∈n×1记录节点类型,属于垂直误差校正点取1,否则取0;规定飞行器进行水平误差校正时垂直误差阈值为β1,水平误差阈值为β2,用列向量h,h∈n×1记录节点类型,属于水平误差校正点取1,否则取0;11×2、1n×1均为单位矩阵。
4.根据权利要求3所述的基于改进的Dijkstra算法的飞行器航迹快速规划方法,其特征在于,所述步骤2的具体过程如下:步骤2.1,采用禁忌搜索算法初步搜索得到M条可行路径的长度和途经节点数组成部分可行解集{L1,num1;L2,num2;…;LM,numM},其中路径长度最大值记为Lmax,途经节点数最大值记为nummax;
步骤2.2,将起点S和终点E之间的直线距离LSE作为最短距离Lmin,即:Lmin=LSE
根据误差限制条件得到相邻两节点间平均最大距离为θ1/2δ,从而得到最少节点数nummin,即:
nummin=2LSEδ/θ1
步骤2.3,对部分可行解集进行归一化处理,得到然后得到航迹距离熵eL和途经点数熵enum分别为:式中,
最后得到航迹距离权重wL和途经节点数权重wnum的表达式为:* *
步骤2.4,将归一化的航迹距离L 与途经节点数num加权求和得到等效距离Leq的表达式为:
* *
Leq=wLL+wnumnum
则转化得到的单目标航迹优化模型为: