对称交叉的差分进化算法

标准差分进化算法产生新个体时,采用的交叉算子是以交叉因子CR为依据的交叉方式,当(rand() < CR)时,这一维度上的变量采用经过变异后的相应维度上的变量,其余的维度上仍保持原来的值不变,经过变异交叉后产生的这个新个体与父个体通过选择操作选优。

像上面使用的单向交叉算子,如果在CR设置不太合适的时候,使得算法性能不佳,也就是算法对CR依赖性很强。因此提出对称交叉,在与原交叉算子一样产生新个体的同时,产生一个与之交叉方式对称的另外一个个体。就是相对于某一维度,原来产生个体选择变异后的变量,而另外一个个体选择父代相应维度上的变量;反之一个个体选择父代相应维度上的变量,而另外一个个体变异后的变量。

这样原标准差分进化算法的选择操作是基于一个子代与父代进行的选择操作,现在更改为两个子代与父代进行选择操作,算法的多样性更佳。



发表评论

You must be logged in to post a comment.