/* * This file is part of JGAP. * * JGAP offers a dual license model containing the LGPL as well as the MPL. * * For licensing information please see the file license.txt included with JGAP * or have a look at the top of class org.jgap.Chromosome which representatively * includes the JGAP license policy applicable for any file delivered with JGAP. */ package org.jgap; import java.io.*; import org.jgap.util.ICloneable; /** * Interface for GA breeders. A breeder evolves a population by performing * genetic operations. * * @author Klaus Meffert * @since 3.2 */ public interface IBreeder extends ICloneable, Serializable, Comparable { /** String containing the CVS revision. Read out via reflection!*/ final static String CVS_REVISION = "$Revision: 1.5 $"; /** * Evolves the population of Chromosomes within a Genotype. This will * execute all of the genetic operators added to the present active * configuration and then invoke the natural selector to choose which * chromosomes will be included in the next generation population. * * @param a_pop the population to evolve * @param a_conf the configuration to use for evolution * * @author Klaus Meffert * @since 3.2 */ Population evolve(Population a_pop, Configuration a_conf); }