Class MOPSOParameterFactory
java.lang.Object
org.uma.evolver.parameter.factory.MOPSOParameterFactory
- All Implemented Interfaces:
ParameterFactory<org.uma.jmetal.solution.doublesolution.DoubleSolution>
public class MOPSOParameterFactory
extends Object
implements ParameterFactory<org.uma.jmetal.solution.doublesolution.DoubleSolution>
Factory class for creating and configuring categorical parameters specific to the MOPSO algorithm.
This factory implements the ParameterFactory interface to provide type-safe creation of various
MOPSO-specific components and their parameters.
The factory supports the creation of parameters for different MOPSO components including:
- Archive management (leader and external archives)
- Swarm initialization and velocity computation
- Mutation and perturbation strategies
- Inertia weight computation
- Velocity and position update mechanisms
- Local and global best management
This implementation is specifically designed for the MOPSO algorithm working with double-encoded solutions and provides appropriate parameter types that are compatible with the DoubleSolution interface.
- Since:
- 1.0
- Author:
- Antonio J. Nebro
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateParameter(String parameterName, List<String> values) Creates and returns a specificCategoricalParameterinstance based on the provided parameter name.
-
Constructor Details
-
MOPSOParameterFactory
public MOPSOParameterFactory()
-
-
Method Details
-
createParameter
Creates and returns a specificCategoricalParameterinstance based on the provided parameter name. This factory method centralizes the creation of all parameter types used in the MOPSO algorithm.The following parameter types are supported:
Supported MOPSO Parameter Types Parameter Name Creates Description leaderArchive ExternalArchiveParameterArchive for storing leader particles externalArchiveType ExternalArchiveParameterType of external archive for non-dominated solutions swarmInitialization CreateInitialSolutionsDoubleParameterStrategy for initializing the swarm velocityInitialization VelocityInitializationParameterMethod for initializing particle velocities perturbation PerturbationParameterPerturbation strategy for maintaining diversity mutation DoubleMutationParameterMutation operator for particles mutationRepairStrategy RepairDoubleSolutionStrategyParameterRepair strategy for mutation operations inertiaWeightComputingStrategy InertiaWeightComputingParameterStrategy for computing inertia weight velocityUpdate VelocityUpdateParameterVelocity update strategy localBestInitialization LocalBestInitializationParameterMethod for initializing local best positions localBestUpdate LocalBestUpdateParameterStrategy for updating local best positions globalBestInitialization GlobalBestInitializationParameterMethod for initializing global best position globalBestSelection GlobalBestSelectionParameterStrategy for selecting global best globalBestUpdate GlobalBestUpdateParameterStrategy for updating global best position positionUpdate PositionUpdateParameterPosition update strategy any other value CategoricalParameterBasic categorical parameter with the given name - Specified by:
createParameterin interfaceParameterFactory<org.uma.jmetal.solution.doublesolution.DoubleSolution>- Parameters:
parameterName- the name of the parameter to create (case-sensitive)values- the list of possible string values for the parameter (must not be null or empty)- Returns:
- an instance of
CategoricalParametercorresponding to the specified parameter name - Throws:
IllegalArgumentException- if the values list is null or empty- See Also:
-