本文整理汇总了Java中org.apache.commons.math3.exception.util.LocalizedFormats.INVALID_BINARY_CHROMOSOME属性的典型用法代码示例。如果您正苦于以下问题:Java LocalizedFormats.INVALID_BINARY_CHROMOSOME属性的具体用法?Java LocalizedFormats.INVALID_BINARY_CHROMOSOME怎么用?Java LocalizedFormats.INVALID_BINARY_CHROMOSOME使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.apache.commons.math3.exception.util.LocalizedFormats
的用法示例。
在下文中一共展示了LocalizedFormats.INVALID_BINARY_CHROMOSOME属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: mutate
/**
* Mutate the given chromosome. Randomly changes one gene.
*
* @param original the original chromosome.
* @return the mutated chromosome.
* @throws MathIllegalArgumentException if <code>original</code> is not an instance of {@link BinaryChromosome}.
*/
public Chromosome mutate(Chromosome original) throws MathIllegalArgumentException {
if (!(original instanceof BinaryChromosome)) {
throw new MathIllegalArgumentException(LocalizedFormats.INVALID_BINARY_CHROMOSOME);
}
BinaryChromosome origChrom = (BinaryChromosome) original;
List<Integer> newRepr = new ArrayList<Integer>(origChrom.getRepresentation());
// randomly select a gene
int geneIndex = GeneticAlgorithm.getRandomGenerator().nextInt(origChrom.getLength());
// and change it
newRepr.set(geneIndex, origChrom.getRepresentation().get(geneIndex) == 0 ? 1 : 0);
Chromosome newChrom = origChrom.newFixedLengthChromosome(newRepr);
return newChrom;
}