Как установить уникальную хромосому в начальной популяции в JGAP?
Я пытаюсь сделать следующее: у меня есть хромосома размера N, тип которой IntegerGene. Я заинтересован в том, чтобы эта уникальная хромосома была оценена по оператору кроссовера, поэтому я использую:
Configuration configuration = new DefaultConfiguration ();
Configuracion.getGeneticOperators (). Clear ();
CrossoverOperator crossover = new CrossoverOperator (configuration);
Configuracion.addGeneticOperator (crossover);
...
Genotype poblacion = Genotype.randomInitialGenotype(configuracion);
Например, я хочу использовать одну хромосому для создания следующих популяций, эта хромосома была бы | 9 | 5 | 10 | 0 | И поэтому я инициализирую это:
Gene [] genes = new Gene [4];
genes [0] = new IntegerGene (configuration, 9,9);
genes [1] = new IntegerGene (configuration, 5,5);
genes [2] = new IntegerGene (configuration, 10,10);
genes [3] = new IntegerGene (configuration, 0,0);
Когда я запускаю программу, вывод (решение хромосомы) всегда одинаков (| 9 | 5 | 10 | 0 |), он не выполняет оператор кроссовера....
Run:
Population Size: 10
...
9 5 10 0
Punctuation = 12.5
9 5 10 0
Punctuation = 12.5
9 5 10 0
Punctuation = 12.5
9 5 10 0
Punctuation = 12.5
Chromosome Solution [0] = 9
Chromosome Solution [1] = 5
Chromosome Solution [2] = 10
Chromosome Solution [3] = 0
Спасибо.