增强Jaya算法:约束工程设计问题的一种简单而有效的优化方法


在这里插入图片描述

1.摘要

Jaya算法是一种简单结构的新型元启发式优化算法,主要依赖种群大小和终止条件进行优化。针对其可能在复杂优化问题中易陷入局部最优的问题,本文提出了增强Jaya算法(EJAYA),通过引入局部吸引子进行局部开发和利用历史种群数据进行全局探索以增强其全局搜索能力。EJAYA不需对初始参数进行细微调整,能有效逃离局部最优,并通过实验在多个测试函数和实际工程问题上验证了其优化性能。

2.JAYA算法原理

【智能算法】JAYA算法原理及实现

3.增强JAYA算法 EJAYA

JAYA算法通过特定公式执行局部和全局的搜索策略,但存在两个主要缺点:一是只使用当前最优和最差个体决定搜索方向,容易使整个种群陷入局部最优;二是绝对值符号对于保持种群多样性至关重要,但在工程问题中该符号可能失效,增加了算法过早收敛的风险。
为解决这些问题,提出了增强JAYA算法(EJAYA),该算法通过更充分地利用种群信息来增强全局搜索能力,实现更有效的全局优化。

在这里插入图片描述

局部开发策略

为了降低绝对值符号带来的潜在风险,EJAYA算法的局部开发策略通过设定的上下局部吸引点进行设计。其中,上层局部吸引点是一个参数,用于描述位于当前最佳解和当前平均解之间的解决方案。这种设计帮助EJAYA更有效地进行局部搜索,避免因固定的搜索方向而陷入局部最优:
P u = λ 3 × x B e s t + ( 1 − λ 3 ) × M P_{\mathrm{u}}=\lambda_{3}\times x_{\mathrm{Best}}+(1-\lambda_{3})\times M Pu=λ3×xBest+(1λ3)×M
其中, M M M为种群质心位置:
M = 1 N ∑ i = 1 N x i M=\frac1N\sum_{i=1}^{N}x_{i} M=N1i=1Nxi
下层局部吸引点,这个参数用于表示当前最差解和当前平均解之间的解决方案:
P 1 = λ 4 × x W o r s t + ( 1 − λ 4 ) × M P_1=\lambda_4\times x_{\mathrm{Worst}}+(1-\lambda_4)\times\boldsymbol{M} P1=λ4×xWorst+(1λ4)×M
根据确定的上下层吸引点,EJAYA的局部开发策略可表示为:
v i = x i + λ 5 × ( P u − x i ) − λ 6 × ( P 1 − x i ) v_i=x_i+\lambda_5\times(P_{\mathrm{u}}-x_i)-\lambda_6\times(P_1-x_i) vi=xi+λ5×(Puxi)λ6×(P1xi)

全局探索策略

为了增强JAYA算法的全球探索能力,EJAYA算法引入了一种新的全局探索策略,灵感来自回溯搜索算法。该策略的核心是利用历史种群和当前种群之间的差分向量进行搜索,因为这些差分向量比同一代种群内的差分向量覆盖了更广的搜索空间。

为了实现这个策略,EJAYA首先通过随机选择方法生成历史种群,然后利用随机洗牌函数对历史种群的个体进行重新排序:
X o l d = permuting ( X o l d ) X_{\mathrm{old}}=\text{permuting}\left(X_{\mathrm{old}}\right) Xold=permuting(Xold)

EJAYA的全局勘探策略:
v i = x i + κ × ( x o l d , i − x i ) v_{i}=x_{i}+\kappa\times(x_{\mathrm{old},i}-x_{i}) vi=xi+κ×(xold,ixi)

伪代码

在这里插入图片描述

4.结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] Zhang Y, Chi A, Mirjalili S. Enhanced Jaya algorithm: A simple but efficient optimization method for constrained engineering design problems[J]. Knowledge-Based Systems, 2021, 233: 107555.

6.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值