private void summarizeFitness() { mOverallFitness = 1.0f; float weightSum = 0.0f; int index = 0; for (FitnessOption fo : mFitnessOptionList) { mOverallFitness *= Math.pow(mFitness[index++], fo.getWeight()); weightSum += fo.getWeight(); } mOverallFitness = (float) Math.pow(mOverallFitness, 1.0f / weightSum); }
private void calculateIndividualFitness(StereoMolecule mol) { mProperty = new float[mFitnessOptionList.length]; mFitness = new float[mFitnessOptionList.length]; int index = 0; for (FitnessOption fo : mFitnessOptionList) { mProperty[index] = fo.calculateProperty(mol); mFitness[index] = fo.evaluateFitness(mProperty[index]); index++; } }