一种改进的混沌差分鲸鱼算法的智能体路径优化方法
未命名
08-18
阅读:108
评论:0
1.本发明属于智能体和优化算法领域,涉及一种改进的混沌差分鲸鱼算法的智能体路径优化方法。
背景技术:
2.近年来,对智能体的路径搜索方面的研究是比较热门的话题,优化算法对于传统的路径搜索算法的优化效果是显而易见的,然而在实际应用中,需要考虑许多问题如局部最优、碰撞避免和平滑等。
3.通过对各种优化算法的比较,发现原始的鲸鱼算法具有良好的优化能力。它是一种仿生算法,已成功应用于许多工程优化问题。
4.在当维度增加的情况下,鲸鱼算法的优化过程中会出现一个问题:种群的状态空间随着智能体数量的增加呈指数型增长,这使得快速有效地进行优化变得更加困难,收敛时间经常得不到保证。优化过程效率低下会对智能体造成以下两个影响:
5.(1)由于鲸鱼算法的更新机制,鲸鱼算法最终只创建了接近最优的解决方案,并不能完全实现全局最优。
6.(2)算法的鲁棒性下降,在增加局部干扰的情况下,优化后的解会逐步偏离全局最优解。
7.因此,在维度增加的情况下,全面有效地使用鲸鱼算法来达到既能实现全局最优又具有一定的鲁棒性是关键。
技术实现要素:
8.要解决的技术问题
9.为了避免现有技术的不足之处,本发明提出一种改进的混沌差分鲸鱼算法的智能体路径优化方法,首先根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新智能体坐标;接下来采用反向搜索提高搜索效率;然后利用差分进化中变异、交叉、选择,根据全局和局部搜索,确定每个智能体的最终位置。该算法能够跳出局部最优解,依概率全局收敛并具有一定的鲁棒性。
10.技术方案
11.一种改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于步骤如下:
12.步骤1:建立x-y-z三维坐标系,根据任务信息确定路径的起始点和目标点,并根据起始点和目标点确定路径区域;
13.步骤2:利用基于鲸鱼算法改进的智能体路径优化算法进行每一时刻下智能体最优位置搜索,具体为:
14.步骤2-1:根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新智能体坐标;
15.一个鲸鱼代表一个搜索因子,在初始化中,将每个鲸鱼随机放置在搜索空间中,并
选择离目标最近的鲸鱼作为最佳候选解;其余的鲸鱼通过在后续迭代周期中根据最接近最佳候选解来修改其位置,包围目标期间,其位置坐标更新满足:
16.di(t)=|c
·
x
*
(t)-xi(t)|
17.xi(t+1)=x
*
(t)-a
·di
(t)
18.a=2
·a·
r-a
19.c=2
·r[0020][0021]
其中,di(t)是位置更新迭代t次下鲸鱼i到x
*
(t)的距离;a和c是两个系数向量;在位置更新迭代过程中,a以线性的方式从2下降到0;r是在(0,1)中生成的一个随机数,t
max
是最大的迭代次数;位置更新迭代下的最佳候选解是x
*
(t);表示迭代的次数;xi(t+1)表示迭代t+1中鲸鱼i(i=1,2,
…
,n)中的当前位置,即此刻智能体的位置;
[0022]
(1)攻击期间的更新位置采用下述公式:
[0023]
xi(t+1)=di(t)
·ebl
·
cos(2πl)+x
*
(t)
[0024]
其中b是一个常数,它被设置为1;l是在(-1,1)中生成的一个随机数;
[0025]
(2)包围和攻击同时进行时:
[0026]
预先产生了一个随机数q,如果q小于或等于0.5,则实现包围;
[0027]
如果大于0.5,则实现攻击,坐标位置如下:
[0028][0029]
以一个混沌值w(t)取代l,更新后其坐标位置如下:
[0030]
xi(t+1)=di(t)
·ebw(t)
·
cos(2πw(t))+x
*
(t)
[0031]
a和c利用以下公式确定:
[0032]
a=2
·a·
w(t)-a
[0033]
c=2
·
w(t);
[0034]
步骤2-2:采用反向搜索提高搜索效率;
[0035]
设x∈[a,b],其中[a,b]为实数区间,则x的反向点为
[0036]
设x∈[a,b],其中[a,b]为实数区间,为其反向点,则二次反向点定义为其中h=(a+b)/2为区间[a,b]的中心位置,表示一个在区间内服从正态分布的随机数;
[0037]
设x∈[a,b],其中[a,b]为实数区间,则x的二次反射反向点被定义为
[0038]
对于鲸鱼种群中的个体xi=(x
i1
,x
i2
,
…
,x
im
),其中x
ik
的范围为[li,ui],反向点表示为二次反向点为其中心位置为h=(li+ui)/2,二次反射反向点为
[0039]
根据反向搜索算子来获得其二次反射反向点:
[0040][0041]
当适应度函数满足则执行替换操作,即
[0042]
步骤2-3:根据差分进化利用全局和局部搜索,每个智能体的最终位置由全局和局部搜索结果决定,具体步骤为变异、交叉、选择;
[0043]
在变异部分中,对于任何鲸鱼i,它的相邻都位于区间[i-k,i+k]内,其中k是[1,(n-1)/2]范围内的非零整数;
[0044]
采用两个矩阵γ1和γ2来增加搜索过程的随机性,它们都被计算为λ
×
rand(λ,ψ);
[0045]
λ是一个常数;
[0046]
λ表示种群大小,ψ是维度;
[0047]
迭代t中每个鲸鱼i的局部搜索向量,由li(t)表示,计算如下:
[0048][0049]
其中x
i,best_g
是目前全局种群的最佳位置;
[0050]
r1和r2是在当前种群中选择的两个随机数字;是一个预定义的比例因子;
[0051]
迭代t中每个鲸鱼i的全局搜索向量,由gi(t)表示,计算如下:
[0052][0053]
将li(t)和gi(t)结合,计算出最终的搜索向量,由vi(t)表示,计算如下:
[0054]vi
(t)=ω
·gi
(t)+(1-ω)
·
li(t)
[0055]
其中ω∈(0,1);
[0056]
在交叉部分中,c
rate
表示交叉率;
[0057]ui,j
(t)表示迭代t中每个鲸鱼i的维数j的值;
[0058]
如果一个随机数大于c
rate
,u
i,j
(t)则由v
i,j
(t)进行更新;
[0059]
如果一个随机维数χ=j,则u
i,j
(t)也会由v
i,j
(t)进行更新,这是为了避免c
rate
的初始值太小的情况,从而使交叉分量无效;
[0060]
在其他情况下,u
i,j
(t)由x
i,j
(t)更新,计算如下:
[0061][0062]
在选择部分中,迭代t中,选择适应度值较好的位置作为每个鲸鱼i的位置xi(t+1),即:
[0063][0064]
步骤2-4:将每次迭代鲸鱼i的最优位置xi(t+1)作为智能体的位置,并转向步骤2-1,周而复始地,重复进行步骤2,直至位置更新到目标点;
[0065]
步骤3:将每次更新的最优位置的坐标,转换到x-y-z坐标轴上的各个路径点;
[0066]
步骤4:得到智能体的最优路径,路径规划结束。
[0067]
所述根据起始点和目标点确定路径区域时,根据人工势场法设置智能体之间的碰撞约束条件和静态与动态障碍物,所生成的路径需避免与障碍物发生碰撞。
[0068]
所述混沌值w(t)为对两种映射初始化后生成的混沌序列;所述两种映射为:
[0069]
w(t+1)=μ
·
w(t)
·
(1-w(t))w(t)∈(0,1)
[0070][0071]
其中:μ、β为系数。
[0072]
所述预定义的比例因子设置为0.8。
[0073]
所述常数λ在整个过程中都被设置为0.0001。
[0074]
所述ω∈(0,1)设置为0.5。
[0075]
所述交叉率c
rate
设置为0.8。
[0076]
所述系数μ设置为4。
[0077]
所述系数β设置为0.74。
[0078]
一种所述改进的混沌差分鲸鱼算法的智能体路径优化方法的应用,其特征在于:用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。
[0079]
有益效果
[0080]
本发明提出的一种改进的混沌差分鲸鱼算法的智能体路径优化方法,首先根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新坐标;接下来采用反向搜索提高搜索效率;然后利用差分进化中变异、交叉、选择,根据全局和局部搜索,确定每个智能体的最终位置。本发明可以应用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。
[0081]
本发明可以应用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。
附图说明
[0082]
图1是本发明一种基于鲸鱼算法改进的智能体路径优化算法的规划方案图;
[0083]
图2是本发明k-邻域的环状拓扑结构;
[0084]
图3是本发明整体仿真路径坐标图;
[0085]
图4是本发明的方法流程图。
具体实施方式
[0086]
现结合实施例、附图对本发明作进一步描述:
[0087]
一种基于鲸鱼算法改进的智能体路径优化方法,首先根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新智能体坐标;接下来采用反向搜索提高搜索效率;然后利用差分进化中变异、交叉、选择,根据全局和局部搜索,确定每个智能体的最终位置。该算法能够跳出局部最优解,依概率全局收敛并具有一定的鲁棒性。
[0088]
原始的鲸鱼算法收敛缓慢,并且容易陷入局部最优。本发明将混沌理论与差分进化相结合,增加了对智能体搜索的位置实时更新的不可预测性,使其能够到达搜索空间的
每个角落。所述的一种基于鲸鱼算法改进的智能体路径优化算法,具体步骤为:
[0089]
步骤1:建立x-y-z三维坐标系,根据任务信息确定路径的起始点和目标点,并根据起始点起始点和目标点确定路径区域;
[0090]
根据任务信息在坐标系中设置起始位置和目标位置,并根据人工势场法设置智能体之间的碰撞约束条件和静态与动态障碍物,所生成的路径需避免与障碍物发生碰撞;
[0091]
步骤2:利用基于鲸鱼算法改进的智能体路径优化算法进行每一时刻下智能体最优位置搜索,具体为:
[0092]
步骤2-1:根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新智能体坐标;
[0093]
一个鲸鱼代表一个搜索因子,在初始化中,将每个鲸鱼随机放置在搜索空间中,并选择离目标最近的鲸鱼作为最佳候选解。其余的鲸鱼通过在后续迭代周期中根据最接近最佳候选解来修改其位置,包围目标期间,其位置坐标更新满足:
[0094]di
(t)=|c
·
x
*
(t)-xi(t)|
[0095]
xi(t+1)=x
*
(t)-a
·di
(t)
[0096]
a=2
·a·
r-a
[0097]
c=2
·r[0098][0099]
其中,di(t)是位置更新迭代t次下鲸鱼i到x
*
(t)的距离。a和c是两个系数向量。在位置更新迭代过程中,a以线性的方式从2下降到0。r是在(0,1)中生成的一个随机数,t
max
是最大的迭代次数。位置更新迭代下的最佳候选解是x
*
(t)。表示迭代的次数。xi(t+1)表示迭代t+1中鲸鱼i(i=1,2,
…
,n)中的当前位置,即此刻智能体的位置;
[0100]
攻击期间,将根据以下公式更新位置:
[0101]
xi(t+1)=di(t)
·ebl
·
cos(2πl)+x
*
(t)
[0102]
其中b是一个常数,它被设置为1。l是在(-1,1)中生成的一个随机数;
[0103]
包围和攻击同时进行。因此,预先产生了一个随机数q。如果q小于或等于0.5,则实现包围。如果大于0.5,则实现攻击。坐标位置如下:
[0104][0105]
将评估两种混沌映射,分别是逻辑映射的序列和帐篷映射的序列,并选择一个最优映射,两种映射如下:
[0106]
w(t+1)=μ
·
w(t)
·
(1-w(t))w(t)∈(0,1)
[0107][0108]
初始化w(t)并生成一个混沌序列。在鲸鱼算法中的a和c使用一个在0和1之间的随机向量r进行计算。在本算法中,a和c利用以下公式确定:
[0109]
a=2
·a·
w(t)-a
[0110]
c=2
·
w(t)
[0111]
参数l对鲸鱼算法中鲸鱼搜索的攻击机制有显著影响。在本方法中,用一个混沌值w(t)取代l,更新后其坐标位置如下:
[0112]
xi(t+1)=di(t)
·ebw(t)
·
cos(2πw(t))+x
*
(t)
[0113]
步骤2-2:采用反向搜索提高搜索效率;
[0114]
设x∈[a,b],其中[a,b]为实数区间,则x的反向点为
[0115]
设x∈[a,b],其中[a,b]为实数区间,为其反向点,则二次反向点定义为其中h=(a+b)/2为区间[a,b]的中心位置,表示一个在区间内服从正态分布的随机数;
[0116]
设x∈[a,b],其中[a,b]为实数区间,则x的二次反射反向点被定义为
[0117]
对于鲸鱼种群中的个体xi=(x
i1
,x
i2
,
…
,x
im
),其中x
ik
的范围为[li,ui],反向点可以表示为二次反向点为其中心位置为h=(li+ui)/2,二次反射反向点为
[0118]
因此,根据反向搜索算子来获得其二次反射反向点:
[0119][0120]
当适应度函数满足则执行替换操作,即
[0121]
步骤2-3:根据差分进化利用全局和局部搜索,每个智能体的最终位置由全局和局部搜索结果决定,具体步骤为变异、交叉、选择;
[0122]
在变异部分中,对于任何鲸鱼i,它的相邻都位于区间[i-k,i+k]内(其中k是[1,(n-1)/2]范围内的非零整数);
[0123]
采用两个矩阵γ1和γ2来增加搜索过程的随机性,它们都被计算为λ
×
rand(λ,ψ);
[0124]
λ是一个常数,在整个过程中都被设置为0.0001;
[0125]
λ表示种群大小,ψ是维度;
[0126]
迭代t中每个鲸鱼i的局部搜索向量,由li(t)表示,计算如下:
[0127][0128]
进一步地,x
i,best_g
是目前全局种群的最佳位置;
[0129]
r1和r2是在当前种群中选择的两个随机数字;是一个预定义的比例因子,在这里被设置为0.8;
[0130]
迭代t中每个鲸鱼i的全局搜索向量,由gi(t)表示,计算如下:
[0131][0132]
进一步地,将li(t)和gi(t)结合,计算出最终的搜索向量,由vi(t)表示,计算如下:
[0133]vi
(t)=ω
·gi
(t)+(1-ω)
·
li(t)
[0134]
其中ω∈(0,1),这里设置为0.5;
[0135]
在交叉部分中,c
rate
表示交叉率,并设置为0.8;
[0136]ui,j
(t)表示迭代t中每个鲸鱼i的维数j的值;
[0137]
具体地,如果一个随机数大于c
rate
,u
i,j
(t)则由v
i,j
(t)进行更新;
[0138]
进一步地,如果一个随机维数χ=j,则u
i,j
(t)也会由v
i,j
(t)进行更新,这是为了避免c
rate
的初始值太小的情况,从而使交叉分量无效;
[0139]
在其他情况下,u
i,j
(t)由x
i,j
(t)更新,计算如下:
[0140][0141]
在选择部分中,迭代t中,选择适应度值较好的位置作为每个鲸鱼i的位置xi(t+1),即:
[0142][0143]
步骤2-4:将每次迭代鲸鱼i的最优位置xi(t+1)作为智能体的位置,并转向步骤2-1,周而复始地,重复进行步骤2,直至位置更新到目标点;
[0144]
步骤3:将每次更新的最优位置的坐标,转换到x-y-z坐标轴上的各个路径点;
[0145]
步骤4:得到智能体的最优路径,路径规划结束。
[0146]
本发明应用于路径搜索如图3所示,四个智能体同时出发,通过本发明,寻找全局最优路径,最终到达终点。
技术特征:
1.一种改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于步骤如下:步骤1:建立x-y-z三维坐标系,根据任务信息确定路径的起始点和目标点,并根据起始点和目标点确定路径区域;步骤2:利用基于鲸鱼算法改进的智能体路径优化算法进行每一时刻下智能体最优位置搜索,具体为:步骤2-1:根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新智能体坐标;一个鲸鱼代表一个搜索因子,在初始化中,将每个鲸鱼随机放置在搜索空间中,并选择离目标最近的鲸鱼作为最佳候选解;其余的鲸鱼通过在后续迭代周期中根据最接近最佳候选解来修改其位置,包围目标期间,其位置坐标更新满足:d
i
(t)=|c
·
x
*
(t)-x
i
(t)|x
i
(t+1)=x
*
(t)-a
·
d
i
(t)a=2
·
a
·
r-ac=2
·
r其中,d
i
(t)是位置更新迭代t次下鲸鱼i到x
*
(t)的距离;a和c是两个系数向量;在位置更新迭代过程中,a以线性的方式从2下降到0;r是在(0,1)中生成的一个随机数,t
max
是最大的迭代次数;位置更新迭代下的最佳候选解是x
*
(t);表示迭代的次数;x
i
(t+1)表示迭代t+1中鲸鱼i(i=1,2,
…
,n)中的当前位置,即此刻智能体的位置;(1)攻击期间的更新位置采用下述公式:x
i
(t+1)=d
i
(t)
·
e
bl
·
cos(2πl)+x
*
(t)其中b是一个常数,它被设置为1;l是在(-1,1)中生成的一个随机数;(2)包围和攻击同时进行时:预先产生了一个随机数q,如果q小于或等于0.5,则实现包围;如果大于0.5,则实现攻击,坐标位置如下:以一个混沌值w(t)取代l,更新后其坐标位置如下:x
i
(t+1)=d
i
(t)
·
e
bw(t)
·
cos(2πw(t))+x
*
(t)a和c利用以下公式确定:a=2
·
a
·
w(t)-ac=2
·
w(t);步骤2-2:采用反向搜索提高搜索效率;设x∈[a,b],其中[a,b]为实数区间,则x的反向点为设x∈[a,b],其中[a,b]为实数区间,为其反向点,则二次反向点定义为其中h=(a+b)/2为区间[a,b]的中心位置,表示一个在区间内
服从正态分布的随机数;设x∈[a,b],其中[a,b]为实数区间,则x的二次反射反向点被定义为对于鲸鱼种群中的个体x
i
=(x
i1
,x
i2
,
…
,x
im
),其中x
ik
的范围为[l
i
,u
i
],反向点表示为二次反向点为其中心位置为h=(l
i
+u
i
)/2,二次反射反向点为根据反向搜索算子来获得其二次反射反向点:当适应度函数满足则执行替换操作,即步骤2-3:根据差分进化利用全局和局部搜索,每个智能体的最终位置由全局和局部搜索结果决定,具体步骤为变异、交叉、选择;在变异部分中,对于任何鲸鱼i,它的相邻都位于区间[i-k,i+k]内,其中k是[1,(n-1)/2]范围内的非零整数;采用两个矩阵γ1和γ2来增加搜索过程的随机性,它们都被计算为λ
×
rand(λ,ψ);λ是一个常数;λ表示种群大小,ψ是维度;迭代t中每个鲸鱼i的局部搜索向量,由l
i
(t)表示,计算如下:其中x
i,best_g
是目前全局种群的最佳位置;r1和r2是在当前种群中选择的两个随机数字;是一个预定义的比例因子;迭代t中每个鲸鱼i的全局搜索向量,由g
i
(t)表示,计算如下:将l
i
(t)和g
i
(t)结合,计算出最终的搜索向量,由v
i
(t)表示,计算如下:v
i
(t)=ω
·
g
i
(t)+(1-ω)
·
l
i
(t)其中ω∈(0,1);在交叉部分中,c
rate
表示交叉率;u
i,j
(t)表示迭代t中每个鲸鱼i的维数j的值;如果一个随机数大于c
rate
,u
i,j
(t)则由v
i,j
(t)进行更新;如果一个随机维数χ=j,则u
i,j
(t)也会由v
i,j
(t)进行更新,这是为了避免c
rate
的初始值太小的情况,从而使交叉分量无效;在其他情况下,u
i,j
(t)由x
i,j
(t)更新,计算如下:在选择部分中,迭代t中,选择适应度值较好的位置作为每个鲸鱼i的位置x
i
(t+1),即:
步骤2-4:将每次迭代鲸鱼i的最优位置x
i
(t+1)作为智能体的位置,并转向步骤2-1,周而复始地,重复进行步骤2,直至位置更新到目标点;步骤3:将每次更新的最优位置的坐标,转换到x-y-z坐标轴上的各个路径点;步骤4:得到智能体的最优路径,路径规划结束。2.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述根据起始点和目标点确定路径区域时,根据人工势场法设置智能体之间的碰撞约束条件和静态与动态障碍物,所生成的路径需避免与障碍物发生碰撞。3.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述混沌值w(t)为对两种映射初始化后生成的混沌序列;所述两种映射为:w(t+1)=μ
·
w(t)
·
(1-w(t)) w(t)∈(0,1)其中:μ、β为系数。4.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述预定义的比例因子设置为0.8。5.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述常数λ在整个过程中都被设置为0.0001。6.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述ω∈(0,1)设置为0.5。7.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述交叉率c
rate
设置为0.8。8.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述系数μ设置为4。9.根据权利要求1所述改进的混沌差分鲸鱼算法的智能体路径优化方法,其特征在于:所述系数β设置为0.74。10.一种权利要求1~9任一项所述改进的混沌差分鲸鱼算法的智能体路径优化方法的应用,其特征在于:用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。
技术总结
本发明涉及一种改进的混沌差分鲸鱼算法的智能体路径优化方法,首先根据鲸鱼算法包围和攻击机制,对初始参数选择困难的问题,进行混沌初始化,实时更新坐标;接下来采用反向搜索提高搜索效率;然后利用差分进化中变异、交叉、选择,根据全局和局部搜索,确定每个智能体的最终位置。本发明可以应用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。本发明可以应用于智能体的路径搜索的算法中,在原路径搜索算法易陷入局部最优的问题下,寻找全局最优解。寻找全局最优解。寻找全局最优解。
技术研发人员:张烨 朱宇桐 李浩宇 苏雨 谭明虎 王靖宇 张科 韩治国
受保护的技术使用者:西北工业大学
技术研发日:2023.04.29
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
