Implementation of OMOPSO, a multi-objective particle swarm optimizer (MOPSO).
According to [2], OMOPSO is one of the top-performing PSO algorithms.
References:
Sierra, M. R. and C. A. Coello Coello (2005). Improving PSO-based
Multi-Objective Optimization using Crowding, Mutation and
ε-Dominance. Evolutionary Multi-Criterion Optimization,
pp. 505-519.
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
OMOPSO(Problem problem,
int swarmSize,
int leaderSize,
double[] epsilons,
double mutationProbability,
double mutationPerturbation,
int maxIterations)
Constructs a new OMOPSO instance.
Method Summary
protected void
mutate(int i)
Applies the mutation operator to an individual particle.
Methods inherited from class org.moeaframework.algorithm.pso.AbstractPSOAlgorithm
public OMOPSO(Problem problem,
int swarmSize,
int leaderSize,
double[] epsilons,
double mutationProbability,
double mutationPerturbation,
int maxIterations)
Constructs a new OMOPSO instance.
Parameters:
problem - the problem
swarmSize - the number of particles
leaderSize - the number of leaders
epsilons - the ε-values used in the external archive
mutationProbability - the mutation probability for uniform and
non-uniform mutation
mutationPerturbation - the perturbation index for uniform and
non-uniform mutation
maxIterations - the maximum iterations for scaling the non-uniform
mutation