合作协同进化 Cooperative Coevolution CC

合作协同进化是基于一种“分而治之”的思想:对于一个优化问题,将问题的变量分为若干组,各个组分别进行优化,且各个组相互之间进行协作,共同完成问题的优化。


一个优化问题可以表示为一个数学函数,其输入为一系列的变量,其输出为函数值,此函数值可用于评估输入的变量的好坏,优化算法的目标是找到好的解(这些变量的值),以求较好的解决相应的问题。


优化算法通过进化一个种群,以不断地得到更好的解,直到得到满意的结。一个种群由若干个体组成,每个个体是问题的一个解,对应输入变量的值。


优化过程就是不断地改变各个个体的变量的值,猜测较好的解。


这些猜测并不是随机的,而是采用了一系列的策略。


不同的进化算法采用不同的策略。总的来说,就是基于之前的猜测,建立对问题的认识,有策略地进行更新。


个体中的变量可以整体全部进行优化,也可以分成多组,分组优化,一个组优化时,其与组中的变量不变。而在评估时,将进化的这组变量与其余组中的变量组合起来,形成完整的解,以进行评估。


对于大规模优化问题,由于变量的数量较多,由于维度灾难,整体进行优化效率较低;而CC将变量分组,相当于将问题分为了多个小规模问题,降低了问题的难度,提升了优化效率。


但是,变量分组的策略需要慎重考虑。


变量之间可能存在关联,若没有分到同一组中,优化效果会大为降低。需要构思分组策略。

猜你喜欢

转载自blog.csdn.net/u010203404/article/details/79839323
cc