Class DEOptimCellFactory
- java.lang.Object
-
- dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleCellFactory
-
- dev.nm.solver.multivariate.geneticalgorithm.minimizer.deoptim.DEOptimCellFactory
-
- Direct Known Subclasses:
ConstrainedCellFactory,Rand1Bin
public abstract class DEOptimCellFactory extends SimpleCellFactory
ADEOptimCellFactoryproduces 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).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classDEOptimCellFactory.DeOptimCellADeOptimCellis a chromosome for a real valued function (an optimization problem) and a candidate solution.-
Nested classes/interfaces inherited from class dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleCellFactory
SimpleCellFactory.SimpleCell
-
-
Field Summary
Fields Modifier and Type Field Description protected doubleCrthe crossover probabilityprotected doubleFthe scaling factor-
Fields inherited from class dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleCellFactory
uniform
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDEOptimCellFactory(double Cr, double F, RandomLongGenerator uniform)Construct an instance of aDEOptimCellFactory.protectedDEOptimCellFactory(DEOptimCellFactory that)Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static doubleFmin(double Cr, int nPopulation)Compute the F critical value.DEOptimCellFactory.DeOptimCellgetBase()Pick a base chromosome from the population.DEOptimCellFactory.DeOptimCellgetOne()Pick a random chromosome from the population.protected List<Chromosome>getPopulation()Get the current generation.voidsetPopulation(List<Chromosome> population)Set the current generation.-
Methods inherited from class dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleCellFactory
getSimpleCell
-
-
-
-
Constructor Detail
-
DEOptimCellFactory
protected DEOptimCellFactory(double Cr, double F, RandomLongGenerator uniform)Construct an instance of aDEOptimCellFactory.- Parameters:
Cr- the crossover probabilityF- the scaling factoruniform- a uniform random number generator
-
DEOptimCellFactory
protected DEOptimCellFactory(DEOptimCellFactory that)
Copy constructor.- Parameters:
that- aDEOptimCellFactory
-
-
Method Detail
-
Fmin
public static double Fmin(double Cr, int nPopulation)Compute the F critical value.- Parameters:
Cr- the crossover probabilitynPopulation- 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
-
getBase
public DEOptimCellFactory.DeOptimCell getBase()
Pick a base chromosome from the population.- Returns:
- the base chromosome
-
getOne
public DEOptimCellFactory.DeOptimCell getOne()
Pick a random chromosome from the population.- Returns:
- a random chromosome
-
-