Class DoubleSMSEMOA

java.lang.Object
org.uma.evolver.algorithm.base.smsemoa.BaseSMSEMOA<org.uma.jmetal.solution.doublesolution.DoubleSolution>
org.uma.evolver.algorithm.base.smsemoa.DoubleSMSEMOA
All Implemented Interfaces:
BaseLevelAlgorithm<org.uma.jmetal.solution.doublesolution.DoubleSolution>

public class DoubleSMSEMOA extends BaseSMSEMOA<org.uma.jmetal.solution.doublesolution.DoubleSolution>
Configurable implementation of the SMS-EMOA (S-Metric Selection Evolutionary Multi-Objective Algorithm) for double-valued (real-coded) problems.

This class provides a highly customizable version of SMS-EMOA, 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
  • Hypervolume-based selection for maintaining diversity

Usage example:


 DoubleSMSEMOA algorithm = new DoubleSMSEMOA(problem, 100, 25000);
 algorithm.parse(args);
 EvolutionaryAlgorithm<DoubleSolution> smsemoa = algorithm.build();
 smsemoa.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: