Class ParticleSwarmOptimizationAlgorithm
java.lang.Object
org.uma.jmetal.component.algorithm.ParticleSwarmOptimizationAlgorithm
- All Implemented Interfaces:
Serializable,Runnable,Algorithm<List<DoubleSolution>>,ObservableEntity<Map<String,Object>>
public class ParticleSwarmOptimizationAlgorithm
extends Object
implements Algorithm<List<DoubleSolution>>, ObservableEntity<Map<String,Object>>
Template for particle swarm optimization algorithms. Its mains features are:
- The steps of the algorithm are carried out by objects (components)
- The algorithms are
ObservableEntity, which can be observed by Observer objects.
- The observable element is a map of pairs (String, Object), which is initialized and
updated by the initProgress() and updateProgress() methods.
- It is assumed than an external archive is used to store the global best particles- Author:
- Antonio J. Nebro (ajnebro@uma.es)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionParticleSwarmOptimizationAlgorithm(String name, SolutionsCreation<DoubleSolution> createInitialSwarm, Evaluation<DoubleSolution> evaluation, Termination termination, VelocityInitialization velocityInitialization, LocalBestInitialization localBestInitialization, GlobalBestInitialization globalBestInitialization, InertiaWeightComputingStrategy inertiaWeightComputingStrategy, VelocityUpdate velocityUpdate, PositionUpdate positionUpdate, Perturbation perturbation, GlobalBestUpdate globalBestUpdate, LocalBestUpdate localBestUpdate, GlobalBestSelection globalBestSelection, BoundedArchive<DoubleSolution> globalBestArchive) Constructor -
Method Summary
Modifier and TypeMethodDescriptionlongvoidevaluation(Evaluation<DoubleSolution> evaluation) protected voidname()intresult()voidrun()swarm()voidtermination(Termination termination) longprotected void
-
Constructor Details
-
ParticleSwarmOptimizationAlgorithm
public ParticleSwarmOptimizationAlgorithm(String name, SolutionsCreation<DoubleSolution> createInitialSwarm, Evaluation<DoubleSolution> evaluation, Termination termination, VelocityInitialization velocityInitialization, LocalBestInitialization localBestInitialization, GlobalBestInitialization globalBestInitialization, InertiaWeightComputingStrategy inertiaWeightComputingStrategy, VelocityUpdate velocityUpdate, PositionUpdate positionUpdate, Perturbation perturbation, GlobalBestUpdate globalBestUpdate, LocalBestUpdate localBestUpdate, GlobalBestSelection globalBestSelection, BoundedArchive<DoubleSolution> globalBestArchive) Constructor- Parameters:
name-createInitialSwarm-evaluation-termination-velocityInitialization-localBestInitialization-globalBestInitialization-inertiaWeightComputingStrategy-velocityUpdate-positionUpdate-perturbation-globalBestUpdate-localBestUpdate-globalBestSelection-globalBestArchive-
-
-
Method Details
-
run
public void run() -
initProgress
protected void initProgress() -
updateProgress
protected void updateProgress() -
currentComputingTime
public long currentComputingTime() -
numberOfEvaluations
public int numberOfEvaluations() -
totalComputingTime
public long totalComputingTime() -
result
- Specified by:
resultin interfaceAlgorithm<List<DoubleSolution>>
-
swarm
-
name
- Specified by:
namein interfaceAlgorithm<List<DoubleSolution>>
-
description
- Specified by:
descriptionin interfaceAlgorithm<List<DoubleSolution>>
-
evaluation
-
observable
- Specified by:
observablein interfaceObservableEntity<Map<String,Object>>
-
termination
-
evaluation
-