![385ebcbd647dc02f1584ed86fe99ae6f.png](https://img-blog.csdnimg.cn/img_convert/385ebcbd647dc02f1584ed86fe99ae6f.png)
不同的进化策略具有不同的效果,随着研究者有组织的研究,总结出了一套进化策略如:
表示DE/best/1/bin——>表示DE/最优值作为基数也可随机选取(rand)/1个矢量差/二项差求矢量值,还有一种是指数矢量差未列出,如exp。后面解释基本一致。
表示DE/best/1/bin
表示DE/rand-to-best/1/bin,黄色部分是随机和最优值相结合选取作为基数。
表示DE/best/2/bin
表示DE/rand/2/bin·····等。
1.种群初始化设置初始进化代数t=0,在优化问题的可行解空间内按下式,随机产生满足约束条件的NP个个体X构成初始种群,NP的选取一般在维数D的5-10倍之间。
![4202b6878852ca5c788998d67bea6461.png](https://img-blog.csdnimg.cn/img_convert/4202b6878852ca5c788998d67bea6461.png)
2.变异操作变异操作是DE算法中的关键步骤,也是其与其他进化算法的主要区别所在。DE算法最基本的变异成分是父代的差分矢量,每个差分矢量对应父代种群中两个不同个体的差向量,差分矢量定义见下式:
其中,r1,r2,r3∈{1, 2, …,NP}为随机选取的互不相同的正整数,且r1,r2,r3与当前目标个体矢量索引号i不同,由此可见,DE算法的种群规模必须大于4,否则将无法进行变异操作。Vi(t+1)为目标个体矢量Xi(t)对应的变异个体矢量,Xr3(t)称为基向量,F∈[0, 2]为常数,是DE算法的主要控制参数之一,称为变异因子或缩放因子,控制差异矢量的缩放幅度,也即对基向量影响的大小。
![b6d33a456391c433e76b7cb0d177b1c5.png](https://img-blog.csdnimg.cn/img_convert/b6d33a456391c433e76b7cb0d177b1c5.png)
3.交叉操作为进一步增加种群多样性,DE 算法将目标矢量个体Xi(t)与其对应的变异个体Vi(t+1)进行交叉操作,产生试验个体,即目标个体的候选个体Ui(t+1)。为保证目标个体Xi(t)的进化,必须保证试验个体Ui(t+1)中至少有一维分量由变异个体Vi(t+1)贡献,而其他维分量则由交叉概率因子CR决定。由此试验个体中每一维分量uij(t+1)按下式。
![1910f19726af28febcb7744427b8ab70.png](https://img-blog.csdnimg.cn/img_convert/1910f19726af28febcb7744427b8ab70.png)
4.选择操作(优胜劣汰)
采用DE/rand/1/bin的进化策略,得到如下结果,文末赋代码链接:
Schaffer函数的最优值为1,只不过从等高线可以看出解x有很多。运行后的 收敛曲线如下,代码赋在文末:
链接:https://pan.baidu.com/s/1BUNnvmawX6m_5Ueter5nNQ
提取码:5u1n
复制这段内容后打开百度网盘手机App,操作更方便哦,代码仅供学习借鉴非商业用途!如有问题可后台回复,小编将尽快回复您!
参考书籍:
《差分进化算法及高维多目标优化应用 》 肖婧— 往期精彩 —
数据结构 — 线性栈
2020-06-08
![da08345f0679944f2584eed8ba9f71b7.png](https://img-blog.csdnimg.cn/img_convert/da08345f0679944f2584eed8ba9f71b7.png)
数据结构 — 链接存储的栈
2020-06-08
![245bc92465901f3acdc5495322fd9a73.png](https://img-blog.csdnimg.cn/img_convert/245bc92465901f3acdc5495322fd9a73.png)
数据结构 — 链接存储的队列
2020-06-08
![3de7908958b550bc06977f7cc17acfed.png](https://img-blog.csdnimg.cn/img_convert/3de7908958b550bc06977f7cc17acfed.png)
数据结构 — 队列
2020-06-08
![3de7908958b550bc06977f7cc17acfed.png](https://img-blog.csdnimg.cn/img_convert/3de7908958b550bc06977f7cc17acfed.png)