### Navigation

- index
- modules |
- next |
- previous |
- Pyevolve v0.6 final documentation »
- Modules »
- `pyevolve` – the main pyevolve namespace »

# `Migration` – the migration schemes, distributed GA

This module contains all the migration schemes and the distributed GA related functions.

New in version 0.6: The `Migration` module.

class `Migration.``MigrationScheme`(host, port, group_name)

  This is the base class for all migration schemes

  Parameters:

  - host – the source hostname
  - port – the source host port
  - group_name – the group name

  `exchange`()

    Exchange individuals

  `getCompressionLevel`()

    Get the zlib compression level of network data

    The values are in the interval described on the `Network.pickleAndCompress()`

  `getGroupName`()

    Gets the group name

    Note

    all islands of evolution which are supposed to exchange individuals, must have the same group name.

  `getMigrationRate`()

    Return the the generation frequency supposed to migrate and receive individuals

    Return type: | the number of generations

  `getNumIndividuals`()

    Return the number of individuals that will migrate

    Return type: | the number of individuals to be replaced

  `getNumReplacement`()

    Return the number of individuals that will be replaced in the migration process

  `isReady`()

    Returns true if is time to migrate

  `select`()

    Pickes an individual from population using specific selection method

    Return type: | an individual object

  `selectPool`(num_individuals)

    Select num_individuals number of individuals and return a pool

    Parameters: | num_individuals – the number of individuals to select
    Return type: | list with individuals

  `selector`

    This is the function slot for the selection method if you want to change the default selector, you must do this:

        migration_scheme.selector.set(Selectors.GRouletteWheel)

  `setCompressionLevel`(level)

    Set the zlib compression level of network data

    The values are in the interval described on the `Network.pickleAndCompress()`

    Parameters: | level – the zlib compression level

  `setGAEngine`(ga_engine)

    Sets the GA Engine handler

  `setGroupName`(name)

    Sets the group name

    Parameters: | name – the group name

    Note

    all islands of evolution which are supposed to exchange individuals, must have the same group name.

  `setMigrationRate`(generations)

    Sets the generation frequency supposed to migrate and receive individuals.

    Parameters: | generations – the number of generations

  `setMyself`(host, port)

    Which interface you will use to send/receive data

    Parameters:

    - host – your hostname
    - port – your port

  `setNumIndividuals`(num_individuals)

    Set the number of individuals that will migrate

    Parameters: | num_individuals – the number of individuals

  `setNumReplacement`(num_individuals)

    Return the number of individuals that will be replaced in the migration process

    Parameters: | num_individuals – the number of individuals to be replaced

  `start`()

    Initializes the migration scheme

  `stop`()

    Stops the migration engine

class `Migration.``WANMigration`(host, port, group_name)

  This is the Simple Migration class for distributed GA

  Example:

        >>> mig = WANMigration("192.168.0.1", "10000", "group1")

  Parameters:

  - host – the source hostname
  - port – the source port number
  - group_name – the group name

  `exchange`()

    This is the main method, is where the individuals are exchanged

  `getCompressionLevel`()

    Get the zlib compression level of network data

    The values are in the interval described on the `Network.pickleAndCompress()`

  `getGroupName`()

    Gets the group name

    Note

    all islands of evolution which are supposed to exchange individuals, must have the same group name.

  `getMigrationRate`()

    Return the the generation frequency supposed to migrate and receive individuals

    Return type: | the number of generations

  `getNumIndividuals`()

    Return the number of individuals that will migrate

    Return type: | the number of individuals to be replaced

  `getNumReplacement`()

    Return the number of individuals that will be replaced in the migration process

  `isReady`()

    Returns true if is time to migrate

  `select`()

    Pickes an individual from population using specific selection method

    Return type: | an individual object

  `selectPool`(num_individuals)

    Select num_individuals number of individuals and return a pool

    Parameters: | num_individuals – the number of individuals to select
    Return type: | list with individuals

  `selector`

    This is the function slot for the selection method if you want to change the default selector, you must do this:

        migration_scheme.selector.set(Selectors.GRouletteWheel)

  `setCompressionLevel`(level)

    Set the zlib compression level of network data

    The values are in the interval described on the `Network.pickleAndCompress()`

    Parameters: | level – the zlib compression level

  `setGAEngine`(ga_engine)

    Sets the GA Engine handler

  `setGroupName`(name)

    Sets the group name

    Parameters: | name – the group name

    Note

    all islands of evolution which are supposed to exchange individuals, must have the same group name.

  `setMigrationRate`(generations)

    Sets the generation frequency supposed to migrate and receive individuals.

    Parameters: | generations – the number of generations

  `setMyself`(host, port)

    Which interface you will use to send/receive data

    Parameters:

    - host – your hostname
    - port – your port

  `setNumIndividuals`(num_individuals)

    Set the number of individuals that will migrate

    Parameters: | num_individuals – the number of individuals

  `setNumReplacement`(num_individuals)

    Return the number of individuals that will be replaced in the migration process

    Parameters: | num_individuals – the number of individuals to be replaced

  `setTopology`(graph)

    Sets the topology of the migrations

    Parameters: | graph – the `Util.Graph` instance

  `start`()

    Start capture of packets and initialize the migration scheme

  `stop`()

    Stops the migration engine

### Navigation

- index
- modules |
- next |
- previous |
- Pyevolve v0.6 final documentation »
- Modules »
- `pyevolve` – the main pyevolve namespace »