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:
Extensible
,Algorithm
,Configurable
,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, velocities
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected double
constrictionCoefficient
(double c1, double c2) Returns the velocity constriction coefficient.protected void
mutate
(int i) Applies the mutation operator to an individual particle.protected void
updateVelocity
(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, updateVelocities
Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.core.Algorithm
evaluateAll, evaluateAll, run, run
Methods inherited from interface org.moeaframework.core.configuration.Configurable
applyConfiguration, getConfiguration
Methods 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:AbstractPSOAlgorithm
Update the speed of an individual particle.- Overrides:
updateVelocity
in classAbstractPSOAlgorithm
- Parameters:
i
- the index of the particle
-
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:AbstractPSOAlgorithm
Applies the mutation operator to an individual particle.- Overrides:
mutate
in classAbstractPSOAlgorithm
- Parameters:
i
- the index of the particle
-