简体   繁体   中英

using JGAp (genetic algorithm library) and the duplicated chromosomes

I used the JGAp java genetic algorithm library. and when I evaluated the chromosomes , I had duplication of chromosomes in the population sample run :

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

and the configurations I have used are:

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

is there any configuration that I can used in order to get unique chromosomes?

You can make sure only to use NaturalSelectors that does not allow duplicates. Example code:

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

Please note that only using SwappingMutationOperator will probably starve the ingenuity of the population. A test modifying the MinimizingMakeChange example from JGAP, but using only the SwappingMutationOperator, shows that the population quickly stops producing individuals that have not been seen before.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM