Class LaplaceCrossover
java.lang.Object
org.uma.jmetal.operator.crossover.impl.LaplaceCrossover
- All Implemented Interfaces:
Serializable,CrossoverOperator<DoubleSolution>,Operator<List<DoubleSolution>,List<DoubleSolution>>
This class implements a Laplace Crossover (LX) operator for real-valued solutions. The Laplace
Crossover uses the Laplace distribution to generate offspring solutions. The scale parameter (b)
controls the spread of the distribution around the parent solutions. The scale parameter must be
a positive value (scale > 0). Typical values range between 0.1 and 0.5, where smaller values
generate offspring closer to the parents and larger values produce more diverse offspring.
Reference: Deep, K., Thakur, M. (2007). A new crossover operator for real coded genetic algorithms. Applied Mathematics and Computation, 188(1), 895-911.
- Author:
- Antonio J. Nebro
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionLaplaceCrossover(double crossoverProbability) Constructor with default scale parameterLaplaceCrossover(double crossoverProbability, double scale, RepairDoubleSolution solutionRepair) Constructor with configurable scale parameterLaplaceCrossover(double crossoverProbability, double scale, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) Constructor with configurable random generator -
Method Summary
Modifier and TypeMethodDescriptiondoubleexecute(List<DoubleSolution> solutions) doublegetScale()intint
-
Constructor Details
-
LaplaceCrossover
public LaplaceCrossover(double crossoverProbability) Constructor with default scale parameter -
LaplaceCrossover
public LaplaceCrossover(double crossoverProbability, double scale, RepairDoubleSolution solutionRepair) Constructor with configurable scale parameter -
LaplaceCrossover
public LaplaceCrossover(double crossoverProbability, double scale, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) Constructor with configurable random generator
-
-
Method Details
-
execute
- Specified by:
executein interfaceOperator<List<DoubleSolution>,List<DoubleSolution>> - Parameters:
solutions- The data to process
-
crossoverProbability
public double crossoverProbability()- Specified by:
crossoverProbabilityin interfaceCrossoverOperator<DoubleSolution>
-
numberOfRequiredParents
public int numberOfRequiredParents()- Specified by:
numberOfRequiredParentsin interfaceCrossoverOperator<DoubleSolution>
-
numberOfGeneratedChildren
public int numberOfGeneratedChildren()- Specified by:
numberOfGeneratedChildrenin interfaceCrossoverOperator<DoubleSolution>
-
getScale
public double getScale()
-