Class DoubleRDEMOEA
java.lang.Object
org.uma.evolver.algorithm.base.rdsmoea.BaseRDEMOEA<org.uma.jmetal.solution.doublesolution.DoubleSolution>
org.uma.evolver.algorithm.base.rdsmoea.DoubleRDEMOEA
- All Implemented Interfaces:
BaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution>
public class DoubleRDEMOEA
extends BaseRDEMOEA<org.uma.jmetal.solution.doublesolution.DoubleSolution>
Configurable implementation of the NSGA-II algorithm for double-valued (real-coded) problems.
This class provides a highly customizable version of NSGA-II, supporting:
- Various selection strategies (e.g., tournament, random)
- Multiple crossover operators (e.g., SBX, BLX-Alpha, whole arithmetic)
- Different mutation approaches (e.g., uniform, polynomial, non-uniform)
- Optional external archive integration
Usage example:
NSGAIIDouble algorithm = new NSGAIIDouble(problem, 100, 25000);
algorithm.parse(args);
EvolutionaryAlgorithm<DoubleSolution> nsgaii = algorithm.build();
nsgaii.run();
Non-configurable parameters such as the number of problem variables and, depending on the mutation operator, the maximum number of iterations or perturbation value, are set automatically based on the problem and algorithm configuration.
- See Also:
-
Field Summary
Fields inherited from class org.uma.evolver.algorithm.base.rdsmoea.BaseRDEMOEA
densityEstimator, maximumNumberOfEvaluations, parameterSpace, populationSize, problem, ranking, rankingAndCrowdingComparator -
Constructor Summary
ConstructorsConstructorDescriptionDoubleRDEMOEA(int populationSize, ParameterSpace parameterSpace) Constructs an NSGAIIDouble instance with the given population size and a default parameter space.DoubleRDEMOEA(org.uma.jmetal.problem.Problem<org.uma.jmetal.solution.doublesolution.DoubleSolution> problem, int populationSize, int maximumNumberOfEvaluations, ParameterSpace parameterSpace) Constructs an NSGAIIDouble instance with the given problem, population size, and maximum number of evaluations. -
Method Summary
Modifier and TypeMethodDescriptionBaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution> createInstance(org.uma.jmetal.problem.Problem<org.uma.jmetal.solution.doublesolution.DoubleSolution> problem, int maximumNumberOfEvaluations) Creates a new instance of NSGAIIDouble for the given problem and maximum number of evaluations.protected voidSets non-configurable parameters that depend on the problem or algorithm configuration.Methods inherited from class org.uma.evolver.algorithm.base.rdsmoea.BaseRDEMOEA
build, createEvaluation, createExternalArchive, createInitialSolutions, createReplacement, createSelection, createTermination, createVariation, parameterSpaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.uma.evolver.algorithm.base.BaseLevelAlgorithm
parse
-
Constructor Details
-
DoubleRDEMOEA
Constructs an NSGAIIDouble instance with the given population size and a default parameter space.- Parameters:
populationSize- the population size to use
-
DoubleRDEMOEA
public DoubleRDEMOEA(org.uma.jmetal.problem.Problem<org.uma.jmetal.solution.doublesolution.DoubleSolution> problem, int populationSize, int maximumNumberOfEvaluations, ParameterSpace parameterSpace) Constructs an NSGAIIDouble instance with the given problem, population size, and maximum number of evaluations. Uses a default parameter space.- Parameters:
problem- the problem to solvepopulationSize- the population size to usemaximumNumberOfEvaluations- the maximum number of evaluations
-
-
Method Details
-
createInstance
public BaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution> createInstance(org.uma.jmetal.problem.Problem<org.uma.jmetal.solution.doublesolution.DoubleSolution> problem, int maximumNumberOfEvaluations) Creates a new instance of NSGAIIDouble for the given problem and maximum number of evaluations.- Parameters:
problem- the problem to solvemaximumNumberOfEvaluations- the evaluation budget- Returns:
- a new configured instance of NSGAIIDouble
-
setNonConfigurableParameters
protected void setNonConfigurableParameters()Sets non-configurable parameters that depend on the problem or algorithm configuration.This method automatically sets:
- The number of problem variables for the mutation operator.
- The maximum number of iterations for non-uniform mutation.
- The perturbation value for uniform mutation.
- Specified by:
setNonConfigurableParametersin classBaseRDEMOEA<org.uma.jmetal.solution.doublesolution.DoubleSolution>
-