/** * generates a report on the current population * * @return a report as a String */ private String populationReport(int genNum) { int i; StringBuffer temp = new StringBuffer(); if (genNum == 0) { temp.append("\nInitial population\n"); } else { temp.append("\nGeneration: " + genNum + "\n"); } temp.append("merit \tscaled \tsubset\n"); for (i = 0; i < m_popSize; i++) { temp.append(Utils.doubleToString( Math.abs(m_population[i].getObjective()), 8, 5) + "\t" + Utils.doubleToString(m_population[i].getFitness(), 8, 5) + "\t"); temp.append(printPopMember(m_population[i].getChromosome()) + "\n"); } return temp.toString(); }