计算机工程与应用 ›› 2020, Vol. 56 ›› Issue (13): 54-62.DOI: 10.3778/j.issn.1002-8331.1906-0038

• 理论与研发 • 上一篇    下一篇

基于协同进化的动态双重自适应改进PSO算法

宋美,葛玉辉,刘举胜   

  1. 上海理工大学 管理学院,上海 200093
  • 出版日期:2020-07-01 发布日期:2020-07-02

Improved Dynamic Dual Adaptive PSO Algorithm Based on Theory of Co-evolution

SONG Mei, GE Yuhui, LIU Jusheng   

  1. Business School, Shanghai University of Science and Technology, Shanghai 200093, China
  • Online:2020-07-01 Published:2020-07-02

摘要:

针对PSO算法易陷入局部最优,发生早熟这一先天缺陷,在一定的误差容忍度下,借鉴协同进化理论中主体的能动性,系统的非线性,个体与环境的协同进化及个体的自适应性等优良特性,利用Feigenbaum迭代构造混沌序列,对粒子的位置和速度进行初始化取值;采用非线性和自适应调整策略对算法中的自我学习因子、社会学习因子及惯性权重进行取值,从而形成了动态双重自适应PSO改进算法(DDAPSO)。在单模态和多模态Benchmark函数上对上述算法进行仿真,并与其他5种算法进行了对比,仿真结果表明,DDAPSO算法较其他算法在求解精度、寻优效率和稳定性上具有极大的优势,表现出了较强的寻找全局最优解的能力,具有广泛的应用前景。

关键词: 协同进化理论, 动态双重自适应, Feigenbaum迭代, 自适应调整, PSO算法

Abstract:

To explore the problem of the PSO algorithm easy to fall into the local optimum and the birth defect, under certain error tolerance, this paper references related characteristics of the theory of co-evolution such as the characteristic of the dynamic, the nonlinearity of the system, the co-evolution of the individual and the environment and the self-adaptability of the individual to design a kind of improved algorithm. Firstly, it uses the Feigenbaum iteration to calculate the initial chaotic value of the population. Secondly, it uses the nonlinear and the adaptive strategy to calculate the self-learning factor, social learning factor and the inertia weight. Finally, it does a simulation on single-mode and multi-modal Benchmark functions, in the meanwhile, it does a comparison with the other five algorithms. The simulation results show that the DDAPSO algorithm has better performance than other algorithms in the aspect of solving precision, optimizing efficiency and stability. It has the advantage of strong ability to find the global optimal solution and a wide application prospect in the future.

Key words: theory of co-evolution, dynamic dual adaptive, Feigenbaum iteration, adaptive adjustment, PSO algorithm