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
ADEOptimCellFactory
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).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
DEOptimCellFactory.DeOptimCell
ADeOptimCell
is 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 double
Cr
the crossover probabilityprotected double
F
the scaling factor-
Fields inherited from class dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleCellFactory
uniform
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DEOptimCellFactory(double Cr, double F, RandomLongGenerator uniform)
Construct an instance of aDEOptimCellFactory
.protected
DEOptimCellFactory(DEOptimCellFactory that)
Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static double
Fmin(double Cr, int nPopulation)
Compute the F critical value.DEOptimCellFactory.DeOptimCell
getBase()
Pick a base chromosome from the population.DEOptimCellFactory.DeOptimCell
getOne()
Pick a random chromosome from the population.protected List<Chromosome>
getPopulation()
Get the current generation.void
setPopulation(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
-
-