Watchmaker Framework for Evolutionary Computation API
(Version 0.7.1)

org.uncommons.watchmaker.framework.factories
Class ObjectArrayPermutationFactory<T>

java.lang.Object
  extended by org.uncommons.watchmaker.framework.factories.AbstractCandidateFactory<T[]>
      extended by org.uncommons.watchmaker.framework.factories.ObjectArrayPermutationFactory<T>
Type Parameters:
T - The element type of the arrays created.
All Implemented Interfaces:
CandidateFactory<T[]>

public class ObjectArrayPermutationFactory<T>
extends AbstractCandidateFactory<T[]>

Generates random candidates from a set of elements. Each candidate is a random permutation of the full set of elements.

Author:
Daniel Dyer

Constructor Summary
ObjectArrayPermutationFactory(T[] elements)
          Creates a factory that creates arrays that contain each of the specified elements exactly once.
 
Method Summary
 T[] generateRandomCandidate(Random rng)
          Generates a random permutation from the configured elements.
 
Methods inherited from class org.uncommons.watchmaker.framework.factories.AbstractCandidateFactory
generateInitialPopulation, generateInitialPopulation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectArrayPermutationFactory

public ObjectArrayPermutationFactory(T[] elements)
Creates a factory that creates arrays that contain each of the specified elements exactly once. The ordering of those elements within generated arrays is random.

Parameters:
elements - The elements to permute.
Method Detail

generateRandomCandidate

public T[] generateRandomCandidate(Random rng)
Generates a random permutation from the configured elements.

Parameters:
rng - A source of randomness used to generate the random permutation.
Returns:
A random permutation.

Watchmaker Framework for Evolutionary Computation API
(Version 0.7.1)