Class DoubleMOEAD

java.lang.Object
org.uma.evolver.algorithm.base.moead.BaseMOEAD<org.uma.jmetal.solution.doublesolution.DoubleSolution>
org.uma.evolver.algorithm.base.moead.DoubleMOEAD
All Implemented Interfaces:
BaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution>

public class DoubleMOEAD extends BaseMOEAD<org.uma.jmetal.solution.doublesolution.DoubleSolution>
Configurable implementation of the MOEA/D algorithm for real-coded (double) problems.

This class provides a customizable version of MOEA/D specifically designed for continuous optimization problems with real-valued decision variables. It extends the base BaseMOEAD class with double-specific configurations and operations.

Features

  • Support for real-valued decision variables
  • Configurable crossover and mutation operators for real-coded optimization
  • Customizable weight vector generation and neighborhood structures
  • Support for various aggregation functions
  • Configurable termination conditions and evaluation strategies

Usage Example


 // Create and configure the algorithm
 ParameterSpace parameterSpace = new MOEADDoubleParameterSpace();
 DoubleMOEAD algorithm = new DoubleMOEAD(100, "weightVectors/", parameterSpace);
 
 // Parse command line arguments to override default parameters
 algorithm.parse(args);
 
 // Build and run the algorithm
 EvolutionaryAlgorithm<DoubleSolution> moead = algorithm.build();
 moead.run();
 
 // Get the resulting non-dominated solutions
 List<DoubleSolution> result = moead.result();
 

Configuration Parameters

The algorithm can be configured using the following parameters in the parameter space:

  • maximumNumberOfReplacedSolutions: Controls how many solutions are replaced in the neighborhood
  • aggregationFunction: The aggregation function used to combine objectives
  • sequenceGenerator: The sequence generation strategy for weight vectors
  • And other parameters inherited from BaseMOEAD

Non-configurable parameters, such as the number of problem variables, maximum number of replaced solutions, and derived values for mutation or neighborhood, are set automatically based on the problem and algorithm configuration.

See Also: