Class SBXCrossover
java.lang.Object
org.uma.jmetal.operator.crossover.impl.SBXCrossover
- All Implemented Interfaces:
Serializable,CrossoverOperator<DoubleSolution>,Operator<List<DoubleSolution>,List<DoubleSolution>>
This class allows to apply a SBX crossover operator using two parent solutions (Double encoding).
A
RepairDoubleSolution object is used to decide the strategy to apply when a value is out
of range.
The implementation is based on the NSGA-II code available in http://www.iitk.ac.in/kangal/codes.shtml
- Author:
- Antonio J. Nebro, Juan J. Durillo
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionSBXCrossover(double crossoverProbability, double distributionIndex) ConstructorSBXCrossover(double crossoverProbability, double distributionIndex, RepairDoubleSolution solutionRepair) ConstructorSBXCrossover(double crossoverProbability, double distributionIndex, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) ConstructorSBXCrossover(double crossoverProbability, double distributionIndex, RandomGenerator<Double> randomGenerator) Constructor -
Method Summary
Modifier and TypeMethodDescriptiondoublevoidcrossoverProbability(double probability) doublevoiddistributionIndex(double distributionIndex) doCrossover(double probability, DoubleSolution parent1, DoubleSolution parent2) doCrossover methodexecute(List<DoubleSolution> solutions) Execute() methodintint
-
Constructor Details
-
SBXCrossover
public SBXCrossover(double crossoverProbability, double distributionIndex) Constructor -
SBXCrossover
public SBXCrossover(double crossoverProbability, double distributionIndex, RandomGenerator<Double> randomGenerator) Constructor -
SBXCrossover
public SBXCrossover(double crossoverProbability, double distributionIndex, RepairDoubleSolution solutionRepair) Constructor -
SBXCrossover
public SBXCrossover(double crossoverProbability, double distributionIndex, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenerator) Constructor
-
-
Method Details
-
crossoverProbability
public double crossoverProbability()- Specified by:
crossoverProbabilityin interfaceCrossoverOperator<DoubleSolution>
-
distributionIndex
public double distributionIndex() -
crossoverProbability
public void crossoverProbability(double probability) -
distributionIndex
public void distributionIndex(double distributionIndex) -
execute
Execute() method- Specified by:
executein interfaceOperator<List<DoubleSolution>,List<DoubleSolution>> - Parameters:
solutions- The data to process
-
doCrossover
public List<DoubleSolution> doCrossover(double probability, DoubleSolution parent1, DoubleSolution parent2) doCrossover method -
numberOfRequiredParents
public int numberOfRequiredParents()- Specified by:
numberOfRequiredParentsin interfaceCrossoverOperator<DoubleSolution>
-
numberOfGeneratedChildren
public int numberOfGeneratedChildren()- Specified by:
numberOfGeneratedChildrenin interfaceCrossoverOperator<DoubleSolution>
-