Class FuzzyRecombinationCrossover
java.lang.Object
org.uma.jmetal.operator.crossover.impl.FuzzyRecombinationCrossover
- All Implemented Interfaces:
Serializable,CrossoverOperator<DoubleSolution>,Operator<List<DoubleSolution>,List<DoubleSolution>>
public class FuzzyRecombinationCrossover
extends Object
implements CrossoverOperator<DoubleSolution>
This class implements the Fuzzy Recombination (FR) operator for real-valued solutions.
FR is a real-parameter crossover operator that uses fuzzy connectives to combine parent solutions,
providing a flexible way to control exploration and exploitation.
Reference: Herrera, F., Lozano, M., invalid input: '&' Verdegay, J. L. (1998). Tackling real-coded genetic algorithms: Operators and tools for behavioural analysis. Artificial intelligence review, 12(4), 265-319.
- Author:
- Antonio J. Nebro
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFuzzyRecombinationCrossover(double crossoverProbability) Constructor with default parameter valuesFuzzyRecombinationCrossover(double crossoverProbability, double alpha, RepairDoubleSolution solutionRepair) Constructor with all parametersFuzzyRecombinationCrossover(double crossoverProbability, double alpha, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) Constructor with all parameters including random generator (for testing) -
Method Summary
Modifier and TypeMethodDescriptiondoublealpha()doubleexecute(List<DoubleSolution> solutions) intint
-
Constructor Details
-
FuzzyRecombinationCrossover
public FuzzyRecombinationCrossover(double crossoverProbability) Constructor with default parameter values- Parameters:
crossoverProbability- Crossover probability (must be in [0,1])
-
FuzzyRecombinationCrossover
public FuzzyRecombinationCrossover(double crossoverProbability, double alpha, RepairDoubleSolution solutionRepair) Constructor with all parameters- Parameters:
crossoverProbability- Crossover probability (must be in [0,1])alpha- Controls the spread of the fuzzy membership function (typically in [0.5, 2.0])solutionRepair- Strategy for repairing solutions
-
FuzzyRecombinationCrossover
public FuzzyRecombinationCrossover(double crossoverProbability, double alpha, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) Constructor with all parameters including random generator (for testing)- Parameters:
crossoverProbability- Crossover probability (must be in [0,1])alpha- Controls the spread of the fuzzy membership functionsolutionRepair- Strategy for repairing solutionsrandomGenerator- Random number 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>
-
alpha
public double alpha()- Returns:
- The alpha parameter (spread of the fuzzy membership function)
-