All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.cilib.moo.iterationstrategies.HigherLevelIterationStrategy Maven / Gradle / Ivy

package net.sourceforge.cilib.moo.iterationstrategies;

import net.sourceforge.cilib.algorithm.Algorithm;
import net.sourceforge.cilib.algorithm.population.IterationStrategy;
import net.sourceforge.cilib.problem.boundaryconstraint.BoundaryConstraint;
import net.sourceforge.cilib.util.Cloneable;

public interface HigherLevelIterationStrategy extends Cloneable {

    /**
     * {@inheritDoc}
     */
    @Override
    HigherLevelIterationStrategy getClone();

    /**
     * Perform the iteration of the Algorithm.
     * 

* Due to the nature of the Algorithms, the actual manner in which the algorithm's * iteration is performed is deferred to the specific iteration strategy being used. *

* This implies that the general structure of the iteration for a specific flavor of * algorithm is constant with modifications on that algorithm being made. For example, * within a Genetic Algorithm you would expect: *

    *
  1. Parent individuals to be selected in some manner
  2. *
  3. A crossover process to be done on the selected parent individuals to create * the offspring
  4. *
  5. A mutation process to alter the generated offspring
  6. *
  7. Recombine the existing parent individuals and the generated offspring to create * the next generation
  8. *
* * @param algorithm The algorithm to perform the iteration process on. */ void performIteration(Algorithm algorithm); /** * Get the currently associated {@linkplain BoundaryConstraint}. * @return The current {@linkplain BoundaryConstraint}. */ BoundaryConstraint getBoundaryConstraint(); /** * Set the {@linkplain BoundaryConstraint} to maintain within this {@linkplain IterationStrategy}. * @param boundaryConstraint The {@linkplain BoundaryConstraint} to set. */ void setBoundaryConstraint(BoundaryConstraint boundaryConstraint); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy