package Chromosomes; import GAutilities.*; abstract class DoubleChromosome extends Chromosome { // genes are doubles protected double[] gene = null; protected static double[] geneLowerBound = null; protected static double[] geneUpperBound = null; protected DoubleChromosome() { // construction only by subclasses super(); gene = new double[chromosomeLength]; } public void copyChromosome(Chromosome c) { // copy this to c DoubleChromosome dc = (DoubleChromosome) c; dc.fitness = this.fitness; // these three dc.rfitness = this.rfitness; // really belong dc.cfitness = this.cfitness; // in superclass for (int i = 0; i < chromosomeLength; i++) { dc.gene[i] = this.gene[i]; } } public Chromosome cloneChromosome() { MyChromosome theClone = new MyChromosome(); copyChromosome((Chromosome) theClone); return (Chromosome) theClone; } public void initializeChromosomeRandom() { for (int i = 0; i