社会协作的多智能体进化
西安电子科技大学学报(自然科学版) 第36卷278
Step3 对Latt+1/3中的每个智能体,以概率Pc+trust2degree3011与其邻域内的智能体发生协作,执
行合作算子,并更新局部环境,得到Latt+2/3;
Step4 对Latt+2/3中的每个智能体,若U(0,1)<Pm,则执行非一致变异算子,得到Latt+1;Step5 从Latt+1中找出CBestt+1,并执行自学习操作;Step6 若energy(CBestt+1)>energy(Bestt),则令Bestt+1←CBestt+1,否则令Bestt+1←Bestt,CBestt+1←Bestt;
Step7 若终止条件满足,输出Bestt并停止,否则令t←t+1并转Step2.
4 仿真实验
采用以下6个无约束标准多峰函数来测试基于社会协作机制的多智能体进化算法的性能.
n
f1(x)=f2(x)=
i=1n
∑(-∑
2
1/2n
xisin(xi)), S=[-500,500] ,
(7)
n
πxi)+10], S=[-5112,5112] ,[xi-10cos(2
n
n
(8)(9)
n
i=1
f3(x)=
4000
i=1
∑
xi-
2
i=1
∏
cos
n
i
1/2
+1, S=[-600600],
1/2
n
f4(x)=-20exp-012f5(x)=
i=1
x
2i
2
n
n
i=i
+e, S=[-32,32] ,
n
(10)
n
y1)i=1
(y
i
πyi+1)]+(yn-1)-1)[1+10sin(
xi>a ,
22
+
i=1
∑u(x
i
,10,100,4) ,
m
k(xi-a) ,
u(xi,a,k,m)=0 ,
k(-xi-a)
m
-a≤xi≤a , yi=1+(xi+1), S=[-50,50]n ,
,
xi<-a ,
4
(11)
f6(x)=
10
n
n-1
πx1)+sin(3
2
i=1
∑(x
i
22
πxi+1)]+(xn-1)2[1+sin2(2πxn)]+-1)[1+sin(3
(12)
n
i=1
∑u(x
i
,5,100,4), S=[-50,50] .
首先对这些函数包含30维时的情况进行测试,同时与多智能体遗传算法[6]进行比较.设定两个算法中
的参数保持一致,分别为Lat为5,Po=012,Pc=011,Pm=011,自学习算子中网格规模为3,半径为012,概率为0105,迭代次数为10,SCMAEA中的γ=012,δ=011,终止条件为150代.另外,由于算法具有随机性,对每个函数均独立运行50次并取平均结果.
表1 30维函数的优化实验结果
测试函数
MAGA
f1f2f3f4f5f6
平均最优解
SCMAEA-1256914926
00000
MAGA
均方差
SCMAEA412580×10-14
00000
-1256914866
00
414400×10-16111420×10-20110390×10-17
711210×10-12
00
118450×10-18413900×10-20411960×10-17
在迭代150次之后,除f1之外,SCMAEA对其余的5个函数均可求得最优解,且其均方差为0,即50次
独立实验中均能找到函数最优解.对于全局最优解为-1256915000的f1,SCMAEA在50次实验中所求解