我使用了JGAp的java遗传算法库。当我评估染色体时,我在总体样本运行中有重复的染色体:
evaluation 0
A B C
A D F
S F W
evaluation 1:
A B C
A D F
A D F
evaluation 2:
A D F
A D F
A D F我使用的配置是:
conf.setKeepPopulationSizeConstant(true);
conf.setRandomGenerator(new StockRandomGenerator());
conf.verifyStateIsValid();有没有什么配置可以用来获得独特的染色体?
发布于 2012-05-07 20:39:19
您可以确保只使用不允许重复的NaturalSelectors。示例代码:
conf.getNaturalSelectors(false).clear();
BestChromosomesSelector bcs = new BestChromosomesSelector(conf, 1.0d);
bcs.setDoubletteChromosomesAllowed(false);
conf.addNaturalSelector(bcs, false);请注意,只使用SwappingMutationOperator可能会使人们的创造力匮乏。修改JGAP中的MinimizingMakeChange示例,但只使用SwappingMutationOperator的测试表明,群体很快就会停止生产以前从未见过的个体。
https://stackoverflow.com/questions/10473397
复制相似问题