Package org.moeaframework.algorithm.pso
Class SMPSO
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.pso.AbstractPSOAlgorithm
org.moeaframework.algorithm.pso.SMPSO
- All Implemented Interfaces:
Algorithm,Extensible,Configurable,Named,Stateful
Implementation of SMPSO, the speed-constrained multi-objective particle swarm optimizer.
References:
- Nebro, A. J., J. J. Durillo, J. Garcia-Nieto, and C. A. Coello Coello (2009). SMPSO: A New PSO-based Metaheuristic for Multi-objective Optimization. 2009 IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making, pp. 66-73.
- Durillo, J. J., J. Garc�a-Nieto, A. J. Nebro, C. A. Coello Coello, F. Luna, and E. Alba (2009). Multi-Objective Particle Swarm Optimizers: An Experimental Comparison. Evolutionary Multi-Criterion Optimization, pp. 495-509.
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.pso.AbstractPSOAlgorithm
archive, dominanceComparator, leaderComparator, leaders, localBestParticles, mutation, particles, velocitiesFields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected doubleconstrictionCoefficient(double c1, double c2) Returns the velocity constriction coefficient.getName()Returns the name of this algorithm.protected voidmutate(int i) Applies the mutation operator to an individual particle.protected voidupdateVelocity(int i) Update the speed of an individual particle.Methods inherited from class org.moeaframework.algorithm.pso.AbstractPSOAlgorithm
copyToList, getArchive, getLeaders, getLeaderSize, getLocalBestParticles, getMutation, getParticles, getResult, getSwarmSize, initialize, iterate, loadState, mutate, saveState, selectLeader, setArchive, setLeaderSize, setSwarmSize, updateLocalBest, updatePosition, updatePositions, updateVelocitiesMethods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.moeaframework.algorithm.Algorithm
evaluateAll, evaluateAll, run, runMethods inherited from interface org.moeaframework.core.configuration.Configurable
applyConfiguration, getConfigurationMethods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, removeExtension
-
Constructor Details
-
SMPSO
Constructs a new SMPSO instance with default settings.- Parameters:
problem- the problem
-
SMPSO
public SMPSO(Problem problem, int swarmSize, int leaderSize, double mutationProbability, double distributionIndex) Constructs a new SMPSO instance.
-
-
Method Details
-
updateVelocity
protected void updateVelocity(int i) Description copied from class:AbstractPSOAlgorithmUpdate the speed of an individual particle.- Overrides:
updateVelocityin classAbstractPSOAlgorithm- Parameters:
i- the index of the particle
-
getName
Description copied from interface:AlgorithmReturns the name of this algorithm. Whenever possible, this name should match the name recognized byAlgorithmFactory.- Returns:
- the name of this algorithm
-
constrictionCoefficient
protected double constrictionCoefficient(double c1, double c2) Returns the velocity constriction coefficient.- Parameters:
c1- the velocity coefficient for the local bestc2- the velocity coefficient for the leader- Returns:
- the velocity constriction coefficient
-
mutate
protected void mutate(int i) Description copied from class:AbstractPSOAlgorithmApplies the mutation operator to an individual particle.- Overrides:
mutatein classAbstractPSOAlgorithm- Parameters:
i- the index of the particle
-