阴阳对优化算法:一种新颖的轻量级优化算法


在这里插入图片描述

1.摘要

本文提出了一种新的优化算法——阴阳对优化算法(YYPO),其核心在于平衡搜索空间的探索与利用。该算法具有低复杂度和高灵活性,用户可以通过定义三个参数来调节其搜索行为,以适应不同的优化需求。

2.算法原理

阴阳对优化算法(YYPO)汲取了宇宙中普遍存在的二元性原理,例如光与暗、身与心、男与女、生与死等,以及科学领域中的波粒关系、正负电荷等二元对立现象。这些对立在中国哲学中被阐释为阴阳,两个互补且相互依存的极端,通过不断的转换与循环相互作用,实现整体的和谐。在进化计算领域,算法的效能取决于开发和探索这两种相互冲突的行为之间的平衡。

YYPO算法将所有决策变量归一化到[0,1],使用两个核心点P1和P2来分别来进行开发和探索阶段。算法中的两个点探索由各自的半径 δ 1 \delta_1 δ1 δ 2 \delta_2 δ2定义的超球体体积,其中 δ 1 \delta_1 δ1倾向于减小而 δ 2 \delta_2 δ2倾向于增大。算法由分裂阶段和归档阶段组成,通过不断的迭代,两点及其半径值会根据适应度进行调整和更新。算法开始时随机生成两个点,并在迭代过程中评估和调整这些点的适应度,以维持其性能的最优化。

分裂阶段

在阴阳对优化算法的分裂阶段,输入包括选定的一个点(P1或P2)及其对应的搜索半径( δ 1 \delta_1 δ1 δ 2 \delta_2 δ2)。虽然两个点都参与分裂阶段,但一次只有一个点P及其搜索半径 δ \delta δ实际进行分裂。分裂阶段旨在在保持随机性的同时,尽可能在多个方向上围绕点P和其半径 δ \delta δ生成新点。单向分裂:
S j j = S j + r δ S D + j j = S j − r δ \begin{aligned}&S_{j}^{j}=S^{j}+r\delta\\&S_{D+j}^{j}=S^{j}-r\delta\end{aligned} Sjj=Sj+SD+jj=Sj

D-way分裂:
S k j = S j + r ( δ / 2 ) i f B k j = 1 , S k j = S j − r ( δ / 2 ) e l s e ,   w h e r e   k = 1 , 2 , 3 … 2 D a n d j = 1 , 2 , 3... D \begin{aligned} S_{k}^{j}& =S^j+r\left(\delta/\sqrt{2}\right)\quad\mathrm{if} B_k^j \\ &=1,S_k^j=S^j-r\left(\delta/\sqrt{2}\right)\quad\mathrm{else,~where~}k=1,2,3\ldots2D \\ &andj=1,2,3...D \end{aligned} Skj=Sj+r(δ/2 )ifBkj=1,Skj=Sjr(δ/2 )else, where k=1,2,32Dandj=1,2,3...D

归档阶段

归档阶段在达到预定的归档更新次数后开始,此阶段的归档包含 2 I 2I 2I个点,这些点来源于每次更新前分裂阶段所添加的两个点P1和P2。在这个阶段,如果归档中的某个点比点P1更适合,这个点将与P1交换位置。如果归档中存在比点P2更适合的点,该点则会替换P2。此外,即使点P1已经与归档中的点交换,之前已加入归档的点仍可能被用来替换点P2。归档阶段通过这种方式保持了算法的精英性,并确保了算法的单调收敛性,即在任何迭代过程中确定的最佳点不会丢失。这一阶段后续还将通过特定方程更新搜索半径 δ 1 \delta_1 δ1 δ 2 \delta_2 δ2,以优化后续的搜索过程:
δ 1 = δ 1 − ( δ 1 / α ) δ 2 = δ 2 + ( δ 2 / α ) \begin{aligned}\delta_1&=\delta_1-(\delta_1/\alpha)\\\delta_2&=\delta_2+(\delta_2/\alpha)\end{aligned} δ1δ2=δ1(δ1/α)=δ2+(δ2/α)

伪代码

在这里插入图片描述

3.结果展示

Rastrigin函数

在这里插入图片描述

4.参考文献

[1] Punnathanam V, Kotecha P. Yin-Yang-pair Optimization: A novel lightweight optimization algorithm[J]. Engineering Applications of Artificial Intelligence, 2016, 54: 62-79.

5.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值