Class DEOptimCellFactory

  • Direct Known Subclasses:
    ConstrainedCellFactory, Rand1Bin

    public abstract class DEOptimCellFactory
    extends SimpleCellFactory
    A DEOptimCellFactory produces DEOptimCellFactory.DeOptimCells. A DEOptimCellFactory.DeOptimCell is a chromosome for a real valued function (an optimization problem) and a candidate solution. They together define the two genetic operations of an Differential Evolution implementation.
    • Mutation by perturbing the vector population by vector differences;
    • Crossover by performing a uniform crossover (discrete recombination).
    • Field Detail

      • Cr

        protected final double Cr
        the crossover probability
      • F

        protected final double F
        the scaling factor
    • Constructor Detail

      • DEOptimCellFactory

        protected DEOptimCellFactory​(double Cr,
                                     double F,
                                     RandomLongGenerator uniform)
        Construct an instance of a DEOptimCellFactory.
        Parameters:
        Cr - the crossover probability
        F - the scaling factor
        uniform - a uniform random number generator
      • DEOptimCellFactory

        protected DEOptimCellFactory​(DEOptimCellFactory that)
        Copy constructor.
        Parameters:
        that - a DEOptimCellFactory
    • Method Detail

      • Fmin

        public static double Fmin​(double Cr,
                                  int nPopulation)
        Compute the F critical value.
        Parameters:
        Cr - the crossover probability
        nPopulation - the population size
        Returns:
        the minimum value for F
        See Also:
        "eq. 2.32"
      • setPopulation

        public void setPopulation​(List<Chromosome> population)
        Set the current generation.
        Parameters:
        population - the current population pool
      • getPopulation

        protected List<Chromosome> getPopulation()
        Get the current generation.
        Returns:
        the current generation