org.eclipse.viatra.dse.evolutionary.crossovers

## Class SwapTransitionCrossover

- java.lang.Object
- - org.eclipse.viatra.dse.evolutionary.crossovers.SwapTransitionCrossover

- All Implemented Interfaces:
    ICrossover

      public class SwapTransitionCrossover
      extends java.lang.Object
      implements ICrossover

  Makes two child trajectories from two parent trajectories.
  A single crossover point on both parents' trajectories is selected randomly. All transitions beyond that point in either trajectory is swapped between the two parent trajectories. The resulting trajectories are the children.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SwapTransitionCrossover()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ICrossover` | `createNew()`
    `boolean` | `mutate(TrajectoryFitness parent1, TrajectoryFitness parent2, ThreadContext context)`
    `boolean` | `mutateAlternate(TrajectoryFitness parent1, TrajectoryFitness parent2, ThreadContext context)`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SwapTransitionCrossover

          public SwapTransitionCrossover()

  - ### Method Detail

    - #### mutate

          public boolean mutate(TrajectoryFitness parent1,
                                TrajectoryFitness parent2,
                                ThreadContext context)

      Specified by:
        `mutate` in interface `ICrossover`

    - #### mutateAlternate

          public boolean mutateAlternate(TrajectoryFitness parent1,
                                         TrajectoryFitness parent2,
                                         ThreadContext context)

      Specified by:
        `mutateAlternate` in interface `ICrossover`

    - #### createNew

          public ICrossover createNew()

      Specified by:
        `createNew` in interface `ICrossover`