PermChromosome (JEvolution)
Date: 2013-03-21

evSOLve.JEvolution.chromosomes

## Class PermChromosome

- java.lang.Object
- - evSOLve.JEvolution.chromosomes.Chromosome
  - - evSOLve.JEvolution.chromosomes.IntChromosome
    - - evSOLve.JEvolution.chromosomes.PermChromosome

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable
  Direct Known Subclasses:
    SubsetPermChromosome

      public class PermChromosome
      extends IntChromosome

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class evSOLve.JEvolution.chromosomes.IntChromosome

      `bases, high, low`

    - ### Fields inherited from class evSOLve.JEvolution.chromosomes.Chromosome

      `BIASED, crossoverPoints, crossoverRate, LAPLACE, length, mutationRate, soupType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PermChromosome()` The standard constructor with default length of chromosome.
    `PermChromosome(Element c)` Creates a PermChromosome via XML.
    `PermChromosome(int length)` Constructs a chromosome of given length.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `doCrossover(Chromosome father)` PMX Crossover.
    `void` | `doMutation()` Mutate by swapping two bases saving the permutation property.
    `void` | `mixSoup()` Initial creation of alleles.

    - ### Methods inherited from class evSOLve.JEvolution.chromosomes.IntChromosome

      `clone, equals, fromString, getBases, getHigh, getLow, hashCode, setHigh, setLow, toString, toXml`

    - ### Methods inherited from class evSOLve.JEvolution.chromosomes.Chromosome

      `create, getCrossoverPoints, getCrossoverRate, getLength, getMutationRate, getSoupType, setCrossoverPoints, setCrossoverRate, setLength, setMutationRate, setSoupType`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PermChromosome

          public PermChromosome()

      The standard constructor with default length of chromosome.

    - #### PermChromosome

          public PermChromosome(int length)

      Constructs a chromosome of given length.
      Parameters:
        `length` - the number of bases

    - #### PermChromosome

          public PermChromosome(Element c)

      Creates a PermChromosome via XML.
      Parameters:
        `c` - an XML Chromosome element

  - ### Method Detail

    - #### doMutation

          public void doMutation()

      Mutate by swapping two bases saving the permutation property.
      Overrides:
        `doMutation` in class `IntChromosome`

    - #### doCrossover

          public void doCrossover(Chromosome father)

      PMX Crossover.
      Overrides:
        `doCrossover` in class `IntChromosome`
      Parameters:
        `father` - A parent Chromosome.

    - #### mixSoup

          public void mixSoup()

      Initial creation of alleles.
      Overrides:
        `mixSoup` in class `IntChromosome`