Class BaseRDEMOEA<S extends org.uma.jmetal.solution.Solution<?>>

java.lang.Object
org.uma.evolver.algorithm.base.rdsmoea.BaseRDEMOEA<S>
Type Parameters:
S - the solution type handled by the algorithm
All Implemented Interfaces:
BaseLevelAlgorithm<S>
Direct Known Subclasses:
DoubleRDEMOEA, PermutationRDEMOEA

public abstract class BaseRDEMOEA<S extends org.uma.jmetal.solution.Solution<?>> extends Object implements BaseLevelAlgorithm<S>
Abstract base class for configurable NSGA-II algorithm implementations for evolutionary algorithms.

This class provides a flexible and extensible foundation for building NSGA-II variants for different solution types. It manages the configuration and assembly of the main algorithmic components (selection, variation, replacement, evaluation, termination, etc.) using a parameter space abstraction.

Subclasses must implement the setNonConfigurableParameters() method to set any parameters that are fixed or derived from the problem instance.

Typical usage involves:

  • Creating a concrete subclass for a specific solution type (e.g., permutation, double).
  • Configuring the parameter space and problem instance.
  • Calling build() to obtain a ready-to-run EvolutionaryAlgorithm instance.

Example usage:


 NSGAIIPermutation algorithm = new NSGAIIPermutation(problem, 100, 25000);
 algorithm.parse(args);
 EvolutionaryAlgorithm<PermutationSolution<Integer>> nsgaii = algorithm.build();
 nsgaii.run();