Class PermutationGenotype<E>

  • Type Parameters:
    E - the type of elements
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess, Genotype, ListGenotype<E>

    public class PermutationGenotype<E>
    extends java.util.ArrayList<E>
    implements ListGenotype<E>

    The PermutationGenotype can be used as a Genotype. The order of these elements is to be optimized.

    Example problem: Select the order of five balls ball1, ball2, ball3, ball4, ball5
    Example usage:

     PermutationGenotype<Ball> genotype = new PermutationGenotype<Ball>(Arrays.asList(ball1, ball2, ball3, ball4, ball5));
     genotype.init(new Random());
     
    Example instance: [ball5, ball2, ball1, ball3, ball4]
    Example search space size: 5!

    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void init​(java.util.Random random)
      Randomizes this genotype by a random permutation.
      <G extends Genotype>
      G
      newInstance()
      Constructs a new (empty) instance of this Genotype.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
    • Constructor Detail

      • PermutationGenotype

        public PermutationGenotype​(java.util.Collection<E> values)
        Constructs a PermutationGenotype.
        Parameters:
        values - the initial values
    • Method Detail

      • newInstance

        public <G extends Genotype> G newInstance()
        Description copied from interface: Genotype
        Constructs a new (empty) instance of this Genotype.
        Specified by:
        newInstance in interface Genotype
        Type Parameters:
        G - the type of genotype for an implicit cast
        Returns:
        new instance of the genotype
      • init

        public void init​(java.util.Random random)
        Randomizes this genotype by a random permutation.
        Parameters:
        random - the random number generator