自适应SBX交叉算子

时间:2020-03-01 21:47:23

标签: matlab crossover

我遇到了与自适应SBX交叉算子有关的问题:

我现在正在使用NSGA III解决与电力系统资产管理相关的多目标优化问题。我的MATLAB代码面临的一个问题是,快速收敛到一套解决方案。也就是说,算法一旦找到可行的解决方案,便开始探索该解决方案附近的区域,以获得更多可行的解决方案。我敢肯定,在搜索空间的其他区域,还有更多算法无法找到的解决方案。

我在NSGA III中使用SBX交叉运算符。我了解SBX Crossover运算符的原理以及工作原理。由于上述问题,我计划使用Adaptive SBX运算符来增加代码的浏览能力。我遇到了以下有关此问题的论文:

1)http://gpbib.cs.ucl.ac.uk/gecco2007/docs/p1187.pdf 2)https://www.researchgate.net/publication/44260546_Self-Adaptive_Mechanism_for_Multi-objective_Evolutionary_Algorithms

我了解自适应SBX的工作原理。但是,在这两篇论文的最后部分,为创建的每个子个体都分配了一个分配索引“ nc”,以便迭代可以继续进行,并使用这些新的“ nc”值应用SBX。

但是,我不清楚我应该如何在第一次迭代之后将交叉运算符应用于具有不同分布索引“ nc”的两个父级个体(上一次迭代中的子级个体)。 / strong>是否与创建两个子解决方案有关,一个使用第一个父级的nc,另一个使用第二个父级的nc?或者,当跨越两个具有不同分布指数nc的个体时,是否意味着获得4个而不是2个子解?这最后一点意味着要使用一个父级的nc来生成前两个子解决方案,然后使用第二个父级的nc来生成最后两个子解决方案吗?。

如果对此有任何评论,请告诉我,以便我可以在MATLAB中修改SBX代码。许多问候:

LUIS

0 个答案:

没有答案