最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

贝叶斯阴阳协调算法

IT圈 admin 26浏览 0评论

2024年5月20日发(作者:乐浩博)

贝叶斯阴阳协调算法

1.算法原理

该算法基于2个点集(P1 和P2),其中 P1设计为专注于开发变

量空间,P2设计为专注于探索变量空间,通过开发与探索2个矛盾

行为之间的相互协调、补充达到平衡,并利用分裂、存储2个阶段进

行迭代更新来求解最优化问题。

1.1设置待优化

设置待优化问题维度D DD ,随机初始化 2 个点集P 1 = { P 1

1 ,P12 , . . . ,P1D }P1={P1^1,P1^2,...,P1^D}P1={P11,P12,...,

和 P2={ P21 ,P22 , . . . ,P2D }P2={P2^1,P2^2,...,P2^D}P2

={P21,P22,...,P2D}。对点集 P1 和 P2 进行归一化处理,即 0 ≤

( P 1 j , P 2 j ) ≤ 1 0 ≤ (P1^j ,P2^j ) ≤10≤(P1j,P2j)≤1 ,

其中,j = 1 , 2 , 3 , … , D j = 1,2,3,…,Dj=1,2,3,…,

D 。

1.2 分裂阶段

a) 单向分裂:在 YYPO 算法中,点 P PP 的二维相同副本被存

储为 S SS,其可以被认为是尺寸为2 D × D 2D × D2D×D 的矩

阵。S SS 中每个点的一个变量用下面的公式修改:{ S j j = S j +

r δ

j=1 ,2 ,3 , . . . ,DSD+jj=Sj−rδ(1)Sjj=Sj+rδj=1,2,3,...,DS

jD+j=Sj−rδ(1)(1){Sjj=Sj+rδj=1,2,3,...,DSD+jj=Sj−rδSjj

=Sj+rδj=1,2,3,...,DSD+jj=Sj−rδ(1)式中 下标—点号;上标—正

被修改的决策变量号; r rr —在 0 和 1 之间的随机数,对于S SS

中任意点的每个变量产生新的r rr ,共 需2D ×D 个 0 和 1 之

间的随机数; δ deltaδ —搜索半径。

b) D 向分裂:在 YYPO 算法中,点 P PP 的2D相同副本被存

储为 S SS,其可以被认为是 2 D × D 2D × D2D×D 大小的矩

阵,生成包含长度为D DD的二维随机二进制矩阵B BB,使得每个二

进制串是唯一的。随后,使用以下等式来修改任意点的每个变量:{ S

k j = S j + r ( δ / 2 )   i f   B k j = 1 j = 1 , 2 , 3 , . . . ,

D Skj=Sj−r( δ/2 ) else(2)Sjk=Sj+r(δ/2–

√)ifBjk=1j=1,2,3,...,DSjk=Sj−r(δ/2–

√)else(2)(2){Skj=Sj+r(δ/2)ifBkj=1j=1,2,3,...,DSkj=Sj−r(δ

/2)elseSkj=Sj+r(δ/2)ifBkj=1j=1,2,3,...,DSkj=Sj−r(δ/2)else

(2)式中 下标—点号(或行);上标—决策变量号(或列); r 、 δ r 、

δr、δ 意义同上;二进制矩阵 B BB 通过随机选择 0 ~ 2 D -

1 0 ~ 2 D -10~2D-1 之间的唯一整数并转换成长度为 D

DD 的二进制串来组成。

1.3 存储阶段

存储阶段是在满足所需数量的存储更新之后启动,且该存储阶段

包含 2 I 2 I2I 个点( I II 为存储阶段的更新次数大小),对

应于在分裂阶段前每个更新中添加的 2 个点 P 1 、 P 2 P1 、P2P1、

P2 。若存储中的最佳点比点 P 1 、 P 2 P1 、P2P1、P2更合适,

则与点 P 1 、 P 2 P1 、P2P1、P2 交换。存储阶段因此保持精英

主义并且确保算法的单调收敛(即在任何迭代中确定的最佳点不会丢

失)。在存储阶段结束时,存储矩阵设置为空,并且在其指定范

围 IminI_{min}Imin和 ImaxI_{max}Imax (I m i n I_{min}Imin

和 I m a x I_{max}Imax 分别为存储更新的最小数和最大数)

内随机生成存储更新 I II 的新值。搜索半径 δ 1 δ_1δ1

和 δ 2 δ_2δ2 的更新公式如下:{ δ 1 = δ 1 − ( δ

1/a )δ2=δ2+( δ2/a )(3){δ1=δ1−(δ1/a)δ2=δ2+(δ2/a)(3)

(3){δ1=δ1−(δ1/a)δ2=δ2+(δ2/a){δ1=δ1−(δ1/a)δ2=δ2

+(δ2/a)(3)式中 δ 1 、 δ 2 δ 1、δ2δ1、δ2 —点集 P 1 、

P 2 P1、P2P1、P2 的搜索半径; a aa —扩张/收缩因子。YYPO 算

法的特点在于随机生成的点集数量取决于问题维度,针对高维优化问

题将生成较多的点,这种自适应能力能有效解决不同维度问题并获得

待优化问题的最优解。

2.算法流程

step1 初始化YYPO相应参数

step2 初始化2个点集P1,P2;

step3 利用目标函数评估点集 P1、P2 的适应度值,若 P1 优于

P2,则 P1、P2 互换;存储 P1、P2,并令 i = i + 1 。

step4 分别执行 P1、P2 分裂和存储操作,并获得更新的 P1、

P2 以及对应的适应度值;若存储中的最佳点比点 P1、P2 更合适,则

与点 P1、P2 交换。

step5 更新点集 P1、P2 的搜索半径 δ 1 和 δ 2

step6 存储矩阵设置为空,并在其指定范围I min 和 I max 内

随机生成存储更新 I 的新值,存储阶段结束。

step7 断算法是否达到最大迭代次数 T ,若是,输出最佳点适

应度值及所处空间位置,即待优化问题最优解,算法结束;否则重复

Step3—7

2024年5月20日发(作者:乐浩博)

贝叶斯阴阳协调算法

1.算法原理

该算法基于2个点集(P1 和P2),其中 P1设计为专注于开发变

量空间,P2设计为专注于探索变量空间,通过开发与探索2个矛盾

行为之间的相互协调、补充达到平衡,并利用分裂、存储2个阶段进

行迭代更新来求解最优化问题。

1.1设置待优化

设置待优化问题维度D DD ,随机初始化 2 个点集P 1 = { P 1

1 ,P12 , . . . ,P1D }P1={P1^1,P1^2,...,P1^D}P1={P11,P12,...,

和 P2={ P21 ,P22 , . . . ,P2D }P2={P2^1,P2^2,...,P2^D}P2

={P21,P22,...,P2D}。对点集 P1 和 P2 进行归一化处理,即 0 ≤

( P 1 j , P 2 j ) ≤ 1 0 ≤ (P1^j ,P2^j ) ≤10≤(P1j,P2j)≤1 ,

其中,j = 1 , 2 , 3 , … , D j = 1,2,3,…,Dj=1,2,3,…,

D 。

1.2 分裂阶段

a) 单向分裂:在 YYPO 算法中,点 P PP 的二维相同副本被存

储为 S SS,其可以被认为是尺寸为2 D × D 2D × D2D×D 的矩

阵。S SS 中每个点的一个变量用下面的公式修改:{ S j j = S j +

r δ

j=1 ,2 ,3 , . . . ,DSD+jj=Sj−rδ(1)Sjj=Sj+rδj=1,2,3,...,DS

jD+j=Sj−rδ(1)(1){Sjj=Sj+rδj=1,2,3,...,DSD+jj=Sj−rδSjj

=Sj+rδj=1,2,3,...,DSD+jj=Sj−rδ(1)式中 下标—点号;上标—正

被修改的决策变量号; r rr —在 0 和 1 之间的随机数,对于S SS

中任意点的每个变量产生新的r rr ,共 需2D ×D 个 0 和 1 之

间的随机数; δ deltaδ —搜索半径。

b) D 向分裂:在 YYPO 算法中,点 P PP 的2D相同副本被存

储为 S SS,其可以被认为是 2 D × D 2D × D2D×D 大小的矩

阵,生成包含长度为D DD的二维随机二进制矩阵B BB,使得每个二

进制串是唯一的。随后,使用以下等式来修改任意点的每个变量:{ S

k j = S j + r ( δ / 2 )   i f   B k j = 1 j = 1 , 2 , 3 , . . . ,

D Skj=Sj−r( δ/2 ) else(2)Sjk=Sj+r(δ/2–

√)ifBjk=1j=1,2,3,...,DSjk=Sj−r(δ/2–

√)else(2)(2){Skj=Sj+r(δ/2)ifBkj=1j=1,2,3,...,DSkj=Sj−r(δ

/2)elseSkj=Sj+r(δ/2)ifBkj=1j=1,2,3,...,DSkj=Sj−r(δ/2)else

(2)式中 下标—点号(或行);上标—决策变量号(或列); r 、 δ r 、

δr、δ 意义同上;二进制矩阵 B BB 通过随机选择 0 ~ 2 D -

1 0 ~ 2 D -10~2D-1 之间的唯一整数并转换成长度为 D

DD 的二进制串来组成。

1.3 存储阶段

存储阶段是在满足所需数量的存储更新之后启动,且该存储阶段

包含 2 I 2 I2I 个点( I II 为存储阶段的更新次数大小),对

应于在分裂阶段前每个更新中添加的 2 个点 P 1 、 P 2 P1 、P2P1、

P2 。若存储中的最佳点比点 P 1 、 P 2 P1 、P2P1、P2更合适,

则与点 P 1 、 P 2 P1 、P2P1、P2 交换。存储阶段因此保持精英

主义并且确保算法的单调收敛(即在任何迭代中确定的最佳点不会丢

失)。在存储阶段结束时,存储矩阵设置为空,并且在其指定范

围 IminI_{min}Imin和 ImaxI_{max}Imax (I m i n I_{min}Imin

和 I m a x I_{max}Imax 分别为存储更新的最小数和最大数)

内随机生成存储更新 I II 的新值。搜索半径 δ 1 δ_1δ1

和 δ 2 δ_2δ2 的更新公式如下:{ δ 1 = δ 1 − ( δ

1/a )δ2=δ2+( δ2/a )(3){δ1=δ1−(δ1/a)δ2=δ2+(δ2/a)(3)

(3){δ1=δ1−(δ1/a)δ2=δ2+(δ2/a){δ1=δ1−(δ1/a)δ2=δ2

+(δ2/a)(3)式中 δ 1 、 δ 2 δ 1、δ2δ1、δ2 —点集 P 1 、

P 2 P1、P2P1、P2 的搜索半径; a aa —扩张/收缩因子。YYPO 算

法的特点在于随机生成的点集数量取决于问题维度,针对高维优化问

题将生成较多的点,这种自适应能力能有效解决不同维度问题并获得

待优化问题的最优解。

2.算法流程

step1 初始化YYPO相应参数

step2 初始化2个点集P1,P2;

step3 利用目标函数评估点集 P1、P2 的适应度值,若 P1 优于

P2,则 P1、P2 互换;存储 P1、P2,并令 i = i + 1 。

step4 分别执行 P1、P2 分裂和存储操作,并获得更新的 P1、

P2 以及对应的适应度值;若存储中的最佳点比点 P1、P2 更合适,则

与点 P1、P2 交换。

step5 更新点集 P1、P2 的搜索半径 δ 1 和 δ 2

step6 存储矩阵设置为空,并在其指定范围I min 和 I max 内

随机生成存储更新 I 的新值,存储阶段结束。

step7 断算法是否达到最大迭代次数 T ,若是,输出最佳点适

应度值及所处空间位置,即待优化问题最优解,算法结束;否则重复

Step3—7

发布评论

评论列表 (0)

  1. 暂无评论