1.CCMO(Coevolutionary Constrained Multi-objective Optimization)算法
该算法用两个种群来处理CMOPS,第一个种群用来处理原始的CMOPs,第二个种群用来辅助第一个种群来处理CMOPs。CCMO算法从大小为N的两个种群Population1和Population2的随机初始化开始。在每一代中,通过所采用的MOEA交配选择策略,分别从群体1和群体2中选择两个亲本集Parent1和Parent2。两个父代集合中的每一个个体被用于通过所采用的MOEA的算子来生成后代种群。随后将种群1和种群2与两个后代种群合并,并通过所采用的MOEA的环境选择策略进一步选择。使用辅助种群2的子代可以帮助种群1产生更好的收敛性和多样性,同时种群2也可以帮助种群1跳出局部最优解。但此算法对UPF和CPF关联性不强的问题,效果欠佳。
CCMO是一个弱合作的MOEA算法,它只通过子代将两个种群联系起来,伪代码如下:(相关代码在PLATEMO上)
2.URCMO算法
(具体的URCMO算法可以看下面链接)
Liang et al.提出URCMO算法,该算法同样是利用两个种群,同时他们将优化过程分为学习阶段和进化阶段。学习阶段使用一定的计算资源去进化种群,在学习阶段结束时,测量UPF和CPF之间的关系,根据这种关系,两个种群在进化阶段通过特定的策略不断更新。URCMO算法对不同问题类型采用不同的进化策略来提升算法的收敛性和多样性,但是同样对UPF和CPF关联性很低的时候,它的性能欠佳。
3.CMEGL算法
Qiao et al.受EMT启发,提出CMEGL算法,该算法创建一个全局辅助任务和一个局部辅助任务来帮助求解主任务。两个辅助任务发挥着不同的、互补的作用,从而提供各种有用的信息。CEMGL算法不仅考虑了全局多样性,还考虑了局部多样性。算法采用自适应方法,当全局辅助任务的种群收敛到UPF时,停止更新全局辅助任务的种群。特别是针对UPF和CPF重叠率较低的问题时,该算法效率较上述算法效率提升效果明显。
后续继续添加