一、壁虎优化算法壁虎优化算法Gekko Japonicus Algorithm, GJA是2025年11月最新发表在JCR 1区、中科院3区期刊Journal of Bionic Engineering上的一种新型群智能优化算法。算法的灵感来自于多疣壁虎Gekko japonicus在自然界中的捕食策略和生存行为。该论文的作者包括Zhang Ke, Zhao Hongyang, Li Xingdong等人。GJA 算法的核心机制与数学模型GJA 是一个基于种群的元启发式算法其种群规模为N NN每个个体代表优化问题的一个候选解。在每一次迭代t tt中每个个体X i X_iXi​都会依次经历以下四个独特的核心机制。1. 初始化在搜索空间的每一维上采用均匀随机分布对个体进行初始化X i j l b j r a n d ( 0 , 1 ) × ( u b j − l b j ) , i 1 , 2 , … , N , j 1 , 2 , … , D X_{ij} lb_j rand(0,1) \times (ub_j - lb_j),\quad i1,2,\dots,N,\ j1,2,\dots,DXij​lbj​rand(0,1)×(ubj​−lbj​),i1,2,…,N,j1,2,…,D其中l b j lb_jlbj​和u b j ub_jubj​分别为第j jj维的上下界D DD为维度数。2. 混合移动策略 —— 探索与开发中的Gaussian Lévy双模运动壁虎在捕食过程中展现了极为灵活的运动能力远处发现猎物时它会利用足部的黏附能力迅速向猎物爬行而在接近目标时则会放慢速度进行精细调整。GJA 通过结合高斯扰动和Lévy飞行来对此进行数学建模。采用高斯扰动和Lévy飞行的混合运动策略其数学表达式为X i ′ X i α ⋅ N ( 0 , 1 ) ⋅ ( X b e s t − X i ) β ⋅ L e ˊ vy ( λ ) ⋅ ( X b e s t − X r a n d ) X_{i} X_i \alpha \cdot N(0,1) \cdot (X_{best} - X_i) \beta \cdot \text{Lévy}(\lambda) \cdot (X_{best} - X_{rand})Xi′​Xi​α⋅N(0,1)⋅(Xbest​−Xi​)β⋅Leˊvy(λ)⋅(Xbest​−Xrand​)其中X b e s t X_{best}Xbest​—— 当前全局最优位置N ( 0 , 1 ) N(0,1)N(0,1)—— 标准高斯分布随机数负责局部精细搜索高斯扰动负责局部开发L e ˊ vy ( λ ) \text{Lévy}(\lambda)Leˊvy(λ)—— 服从Lévy分布的随机步长负责大范围探索Lévy飞行负责全局探索α \alphaα、β \betaβ—— 自适应调节系数。这种双模设计平衡了算法的全局勘探能力与局部开发能力。3. 嗅觉辅助引导机制 —— 定向嗅探修正壁虎不仅拥有高度特殊的视网膜能精确定位运动猎物还具备极为敏锐的嗅觉系统。猎物移动时释放的气味分子会在空气中扩散壁虎利用嗅觉判断猎物的大致方位并在发起攻击前通过嗅觉确认猎物信息防止误捕。GJA 在算法中对此建模每隔3个个体引入一次制导修正if m o d ( i , 3 ) 0 , V i X i A ⋅ ( X b e s t − X i ) \text{if } mod(i,3) 0, \quad V_i X_i A \cdot (X_{best} - X_i)ifmod(i,3)0,Vi​Xi​A⋅(Xbest​−Xi​)其中A AA为随迭代递减的引导强度系数。嗅觉引导机制降低了种群盲目搜索的概率帮助个体在陷入歧途时获得方向修正。4. 隐性团体趋利机制 —— 信息素介导的精英吸引壁虎群体能够分泌和感知信息素高适性个体释放的信息素会吸引其他个体向该方向聚集。这是一种隐性的集体信息传递方式而非直接的视觉跟随。GJA 引入了排序指数r a n k rankrank来建模这种群体智慧行为X i n e w X i ϕ ⋅ e − r a n k ( i ) / N ⋅ ( X e l i t e k − X i ) X_i^{new} X_i \phi \cdot e^{-rank(i)/N} \cdot (X_{elite}^{k} - X_i)Xinew​Xi​ϕ⋅e−rank(i)/N⋅(Xelitek​−Xi​)其中ϕ \phiϕ是收缩因子X e l i t e k X_{elite}^{k}Xelitek​是从排名前k kk的精英个体中随机选取的一个。该机制使得群体能够自发聚集于有利区域。5. 尾巴自切突变机制 —— 逃离局部最优的“壁虎断尾”壁虎为应对捕食者或环境干扰常采取截尾尾巴自切来分散威胁并获得逃生机会。GJA 将此策略引入算法当个体明显偏离多个方向、极可能陷入局部最优时通过“断尾”来摆脱早熟收敛。尾部自切的突变公式为X i j X b e s t , j σ j ⋅ G ( γ ) X_{ij} X_{best,j} \sigma_{j} \cdot G(\gamma)Xij​Xbest,j​σj​⋅G(γ)该机制在解空间的选定维度上进行突变处理将个体从不优的位置重置于全局最优附近相当于增加了一个逃逸步骤以降低算法陷入局部极值的风险。 算法伪代码步骤描述1初始化种群X i X_iXi​设置参数N NN,T TT,α \alphaα,β \betaβ,ϕ \phiϕ,γ \gammaγ等2Whilet T t TtTdo3计算每个个体的适应度值4更新全局最优解X b e s t X_{best}Xbest​5For每个个体i 1 i 1i1toN NNdo6阶段1混合移动高斯扰动 Lévy飞行7阶段2嗅觉引导若i % 3 0 i \% 3 0i%30则执行制导修正8阶段3隐性趋利基于信息素吸引的精英指导9阶段4尾部自切若条件触发执行突变10边界处理与贪婪选择11End For12t t 1 t t 1tt113End While14输出X b e s t X_{best}Xbest​及其适应度值 核心参考文献Zhang, K., Zhao, H., Li, X., Fu, C. D., Jin, J. (2026).Gekko Japonicus Algorithm: A Novel Nature‑inspired Algorithm for Engineering Problems and Path Planning.Journal of Bionic Engineering, 23, 431–471.DOI: 10.1007/s42235-025-00805-6二、无人机UAV三维路径规划单个无人机三维路径规划数学模型参考如下文献Phung M D , Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization[J]. arXiv e-prints, 2021.每个无人机的目标函数由路径长度成本安全性与可行性成本、飞行高度成本和路径平滑成本共同组成2.1路径长度成本路径长度成本由相邻两个节点之间的欧氏距离和构成其计算公式如下2.2路径安全性与可行性成本路径安全性与可行性成本通过下式计算2.3路径飞行高度成本飞行高度成本通过如下公式计算所得2.4路径平滑成本投影向量通过如下公式计算转弯角度的计算公式为爬坡角度的计算公式为平滑成本的计算公式为2.5总成本目标函数总成本由最优路径成本安全性与可行性成本、飞行高度成本和路径平滑成本的线性加权所得。其中b为加权系数。2.6 动态窗口法原理动态窗口法的核心思想是在速度空间中搜索最优速度向量用于无人机动态避障其核心步骤包括速度窗口采样根据无人机运动学约束生成可行速度集V s a m p l e V_{sample}Vsample​轨迹预测对每个采样速度预测未来一段时间内的无人机轨迹评价函数计算通过评价函数评估每条预测轨迹的优劣筛选出最优轨迹对应的速度速度更新将最优速度作为无人机的当前运动速度完成局部路径规划。评价函数包含目标趋近度、避障安全性和速度平滑性三个指标其表达式为G ( v , ω ) α ⋅ h e a d i n g ( v , ω ) β ⋅ d i s t ( v , ω ) γ ⋅ v e l o c i t y ( v , ω ) G(v,\omega)\alpha \cdot heading(v,\omega)\beta \cdot dist(v,\omega)\gamma \cdot velocity(v,\omega)G(v,ω)α⋅heading(v,ω)β⋅dist(v,ω)γ⋅velocity(v,ω)其中α , β , γ \alpha,\beta,\gammaα,β,γ为权重系数h e a d i n g headingheading表示轨迹与目标方向的夹角d i s t distdist表示轨迹与障碍物的最小距离v e l o c i t y velocityvelocity表示轨迹的速度大小。三、实验结果在三维无人机路径规划中无人机的路径由起点终点以及起始点间的点共同连接而成。因此自变量为无人机起始点间的各点坐标每个无人机的目标函数为总成本公式9。本文研究3个无人机协同路径规划总的目标函数为3个无人机的总成本之和。%% 第一个无人机 起始点 start_location[120;200;100];end_location[800;800;150];ModelUAV(1).model.startstart_location;ModelUAV(1).model.endend_location;%% 第二个无人机 起始点 start_location[400;100;100];end_location[900;600;150];ModelUAV(2).model.startstart_location;ModelUAV(2).model.endend_location;%% 第三个无人机 起始点 start_location[200;150;150];end_location[850;750;150];ModelUAV(3).model.startstart_location;ModelUAV(3).model.endend_location;%% 第四个无人机 起始点 start_location[100;100;150];end_location[800;730;150];ModelUAV(4).model.startstart_location;ModelUAV(4).model.endend_location;%% 第5个无人机 起始点 start_location[500;100;130];end_location[850;650;150];ModelUAV(5).model.startstart_location;ModelUAV(5).model.endend_location;figure plot(Convergence_curve,LineWidth,2)xlabel(Iteration);ylabel(Best Cost);grid on;