Class RingMigration

  • All Implemented Interfaces:
    Migration

    public class RingMigration
    extends Object
    implements Migration
    Migrates a fixed number of individuals from each island to the adjacent island. Operates as if the islands are arranged in a ring with migration occurring in a clockwise direction. The individuals to be migrated are chosen completely at random.
    • Constructor Detail

      • RingMigration

        public RingMigration()
    • Method Detail

      • migrate

        public <T> void migrate​(List<List<EvaluatedCandidate<T>>> islandPopulations,
                                int migrantCount,
                                Random rng)
        Migrates a fixed number of individuals from each island to the adjacent island. Operates as if the islands are arranged in a ring with migration occurring in a clockwise direction. The individuals to be migrated are chosen completely at random.
        Specified by:
        migrate in interface Migration
        Type Parameters:
        T - The type of entity being evolved.
        Parameters:
        islandPopulations - A list of the populations of each island.
        migrantCount - The number of (randomly selected) individuals to be moved on from each island.
        rng - A source of randomness.