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

Parameter: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()

Parameter:level – the zlib compression level
setGAEngine(ga_engine)
Sets the GA Engine handler
setGroupName(name)

Sets the group name

Parameter: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.

Parameter: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

Parameter:num_individuals – the number of individuals
setNumReplacement(num_individuals)

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

Parameter: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

Parameter: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()

Parameter:level – the zlib compression level
setGAEngine(ga_engine)
Sets the GA Engine handler
setGroupName(name)

Sets the group name

Parameter: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.

Parameter: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

Parameter:num_individuals – the number of individuals
setNumReplacement(num_individuals)

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

Parameter:num_individuals – the number of individuals to be replaced
setTopology(graph)

Sets the topology of the migrations

Parameter:graph – the Util.Graph instance
start()
Start capture of packets and initialize the migration scheme
stop()
Stops the migration engine


Previous topic

Network – network utility module

Next topic

Interaction – interaction module

This Page