使用JGAp(遗传算法库)和重复的染色体

我使用了JGAp java遗传算法库。 当我评估染色体时,我在人口样本运行中有染色体重复:

evaluation 0 ABC ADF SFW evaluation 1: ABC ADF ADF evaluation 2: ADF ADF ADF 

我使用的配置是:

 conf.setKeepPopulationSizeConstant(true); conf.setRandomGenerator(new StockRandomGenerator()); conf.verifyStateIsValid(); 

我可以使用任何配置来获得独特的染色体吗?

您可以确保仅使用不允许重复的NaturalSelectors 。 示例代码:

 conf.getNaturalSelectors(false).clear(); BestChromosomesSelector bcs = new BestChromosomesSelector(conf, 1.0d); bcs.setDoubletteChromosomesAllowed(false); conf.addNaturalSelector(bcs, false); 

请注意,只有使用SwappingMutationOperator才可能会破坏人口的聪明才智。 从JGAP修改MinimizingMakeChange示例的测试,但仅使用SwappingMutationOperator,显示群体快速停止生成之前未见过的个体。