复现算法DECE
基于协同进化和多样性增强的动态约束多目标优化算法(Wang Che a,b, Jinhua Zheng a,b,∗, Yaru Hu a,b, Juan Zou a,b, Shengxiang Yang c)Swarm and Evolutionary Computation 89 (2024) 101639
Dynamic constrained multi-objective optimization algorithm based on co-evolution and diversity enhancement
第1个种群的进化遵循约束占优原则,优先保留可行个体。
第二个种群的进化不考虑约束条件,只专注于优化目标函数,旨在协助第一个种群找到更好的可行域。
第3种群的进化负责从最佳不可行区域向潜在可行区域进行探索,辅助第1种群更全面地探索可行区域。
同时引入了一个存档集来存储有价值的不可行解。它不仅加快了静态优化中最优区域的搜索速度,而且为动态优化提供了额外的有用历史信息。
代码复现
问题1:文章中写到分别从POP1,POP2,POP3产生不同数量的后代,但是后代产生的方法没有描述,在这里我才用NSGAII中的交叉变异算法产生后代。
问题2:文章中设立的存档在代码里没有发挥作用还需要进一步改进代码。
问题3:当环境变化频率降低时,首次环境能够接近于收敛到pareto前沿,但是在环境变化以后,环境响应并不能很好的应对环境的变化。 同时在无约束的动态问题上也没有很好的表现。
所以还得再修改动态响应策略