Class DoubleNSGAII

java.lang.Object
org.uma.evolver.algorithm.base.nsgaii.BaseNSGAII<org.uma.jmetal.solution.doublesolution.DoubleSolution>
org.uma.evolver.algorithm.base.nsgaii.DoubleNSGAII
All Implemented Interfaces:
BaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution>

public class DoubleNSGAII extends BaseNSGAII<org.uma.jmetal.solution.doublesolution.DoubleSolution>
A configurable implementation of the Non-dominated Sorting Genetic Algorithm II (NSGA-II) specifically designed for continuous (real-valued) optimization problems.

This class extends the base BaseNSGAII implementation to handle double-encoded solutions, providing specialized support for continuous optimization problems with real-valued variables.

Key features include:

  • Support for real-valued solution spaces
  • Configurable genetic operators through the parameter space
  • Automatic handling of solution bounds and constraints
  • Integration with JMetal's double solution interface
  • Support for various crossover and mutation operators

Example usage:


 // Create a continuous problem instance
 DoubleProblem problem = new MyDoubleProblem();
 
 // Configure the algorithm
 int populationSize = 100;
 int maxEvaluations = 25000;
 ParameterSpace parameterSpace = new NSGAIIDoubleParameterSpace();
 // Configure parameter space with desired operators and parameters
 
 // Create and run the algorithm
 DoubleNSGAII algorithm = new DoubleNSGAII(problem, populationSize, maxEvaluations, parameterSpace);
 algorithm.run();
 
 // Get results
 List<DoubleSolution> population = algorithm.result();
 

The algorithm automatically configures non-configurable parameters such as the number of variables and their bounds based on the problem definition. For mutation operators like non-uniform mutation, it also configures the maximum number of iterations based on the evaluation budget.

Since:
version
See Also: