Package io.jenetics

Class SwapMutator<G extends Gene<?,​G>,​C extends Comparable<? super C>>

  • All Implemented Interfaces:
    Alterer<G,​C>

    public class SwapMutator<G extends Gene<?,​G>,​C extends Comparable<? super C>>
    extends Mutator<G,​C>
    The SwapMutation changes the order of genes in a chromosome, with the hope of bringing related genes closer together, thereby facilitating the production of building blocks. This mutation operator can also be used for combinatorial problems, where no duplicated genes within a chromosome are allowed, e.g. for the TSP.

    This mutator is also known as Partial Shuffle Mutator (PSM).

    Since:
    1.0
    Version:
    5.0
    See Also:
    Analyzing the Performance of Mutation Operators to Solve the Travelling Salesman Problem
    • Method Detail

      • mutate

        protected MutatorResult<Chromosome<G>> mutate​(Chromosome<G> chromosome,
                                                      double p,
                                                      Random random)
        Swaps the genes in the given array, with the mutation probability of this mutation.
        Overrides:
        mutate in class Mutator<G extends Gene<?,​G>,​C extends Comparable<? super C>>
        Parameters:
        chromosome - the chromosome to mutate
        p - the mutation probability for the underlying genetic objects
        random - the random engine used for the genotype mutation
        Returns:
        the mutation result
        See Also:
        Mutator.mutate(Gene, Random)