正在加载图片...
第6期 刘三阳,等:混合差分变异策略 ·489· 前种群中最差和最好个体.在计算种群中的所有个 8)如课i<=N,转步骤4);否则,t=t+1,转步骤3). 体的电荷量之后,然后确定每个个体所受到的电磁 注意到在电量Q的计算中f(Xt)-f八Xet)做 力.该力由下式计算: 了分母,因此为了计算数值稳定,在停机准则中使用 F(X,X,)=(X,-X)·Q(X,X) If()-f(X)I<s. 如果随机选取个体的目标函数值小于f(X),那么X 3数值实验 将受到一个吸引力F(X,X,),因此个体会向X,方 向移动;反之,个体将远离X,·借鉴PS0中个体经历 算法NDE在Matlab7.O环境下进行了数值实验 最优以及种群全局最优的思想,X,的移动不会完全 模拟,并和策略DE/Rand/1,DE/Rand/2,DE/Best/2 指向X,,其要受到个体经验以及同伴经验的影响,避 进行了比较.对NDE,参数设置为V=100,C,=0.1, 免算法陷入局部最优.因此差分变异修改如下: ε=10-1;而对于其他相比较的算法,参数设置均为 V:=X1+F(X,X2)+ N=100,K=0.5,C,=0.9.所有算法分别对附录A中 F(X,8)+F(X1,G3). 30维的测试函数独立运行10次,最大迭代次数M均 这里i≠r1≠r2≠r3: 为2000.对于相比较的算法,容易得知在2000次迭代 由种群中随机选取的个体来确定差分方向是 后,函数的评估次数均为100+2000×100=200100. DE算法的原始思想,其最大好处在于能有效防止 而对于NDE,函数的评估次数为200+2000×100= 早熟,然而这种思想同时会制约算法的收敛.显然, 200200.图2~5给出了各算法10次求解结果的平均 在上式中,差分方向不是完全由种群中随机选取的 最优值随进化代数的变化情况, 个体来确定.在提出的策略中融人PSO和EM,一是 10 为了平衡全局搜索和加速收敛之间的矛盾,二是为 了避免比例因子设置的麻烦. 10 下面给出具有上述混合差分变异新策略的差分 进化算法(DE with the new strategy of differential var- 10 iation,简称NDE), 10 -DE/Rand/1 1)初始化参数.N,C,最大迭代次数M,b=1,e, --DE/Rand/2 _--DE/Best/2 i=1. NDE 2)初始化种群U(t)和个体经历最优P(t). 10"0 400 800120016002000 迭代次数 3)如果t>M或f(Xwt(t)-f(Xet(t))I< 8,则停止并输出最优解。 图2算法求解∫时最优值随进化代数变化情况 4)对X(t)∈U(t)按照下式计算实验个体V,(t): Fig.2 Variations of current optimal values with iterations V:(t)=X,(t)+F(X(t),X,(t))+ forf 10 F(x(t),8n(t))+F(X,(t),Gn(t)) 5)对X(t)和V,(t)以概率C,进行交叉,得到 109 个体Y(t): 10 r为1~N的随机整数; for j=1:n 100 -DE/Rand/I if (r(0,1)<=C,orj=r) 10 --DE/Rand/2 -DE/Best/2 Yij(t)=Vij(t) …NDE else Yij(t)=Xij (t)end 109 400 8001200 1600 2000 迭代次数 end 6)边界检查.如果Y,(t)小于下边界或大于上 图3算法求解方时最优值随进化代数变化情况 边界,则用下边界或上边界替换 Fig.3 Variations of current optimal values with iterations 7)选择.如果f(Y:(t)<f(X(t)),则X(t)= forf Y(t),i=i+1. f是有噪音的函数,有多个局部最优解,NDE
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有