![JAR search and dependency download from the Maven repository](/logo.png)
net.sourceforge.cilib.niching.iterationstrategies.VectorBasedPSO Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cilib-library Show documentation
Show all versions of cilib-library Show documentation
A library of composable components enabling simpler Computational Intelligence
/** __ __
* _____ _/ /_/ /_ Computational Intelligence Library (CIlib)
* / ___/ / / / __ \ (c) CIRG @ UP
* / /__/ / / / /_/ / http://cilib.net
* \___/_/_/_/_.___/
*/
package net.sourceforge.cilib.niching.iterationstrategies;
import com.google.common.collect.Lists;
import net.sourceforge.cilib.algorithm.population.AbstractIterationStrategy;
import net.sourceforge.cilib.niching.NichingAlgorithm;
import static net.sourceforge.cilib.niching.NichingFunctions.createNiches;
import net.sourceforge.cilib.niching.NichingSwarms;
/**
*
*/
public class VectorBasedPSO extends AbstractIterationStrategy {
@Override
public AbstractIterationStrategy getClone() {
return this;
}
@Override
public void performIteration(NichingAlgorithm alg) {
NichingSwarms newSwarms = createNiches(alg.getNicheDetector(),
alg.getNicheCreator(),
alg.getMainSwarmCreationMerger())
.andThen(alg.getSubSwarmIterator())
.f(NichingSwarms.of(alg.getMainSwarm(), alg.getPopulations()));
alg.setPopulations(Lists.newArrayList(newSwarms._2().toCollection()));
alg.setMainSwarm(newSwarms._1());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy