DistributedEvolutionaryAlgorithmsFramework
Class Deaf

java.lang.Object
  extended by DistributedEvolutionaryAlgorithmsFramework.Deaf

public class Deaf
extends java.lang.Object

Main file of the framework


Nested Class Summary
static class Deaf.IslandMapper
          Class for Hadoop framework.
 
Field Summary
static int dimensions
           
static int migratingPopSize
           
 
Constructor Summary
Deaf(java.lang.Class<? extends FitnessFunction> fitFunction, int D, java.lang.Class<? extends Algorithm> algorithm, int generationsPerRound, int islandCount, int populationSize, int migratingIndividuals)
           
 
Method Summary
 void addSubpopulaionsConfig(java.lang.Class<? extends Algorithm> alg, int popSize, java.util.Map<java.lang.String,java.lang.Double> subpopParameters)
           
 void addSubpopulaionsConfig(java.lang.Class<? extends Algorithm> alg, java.util.Map<java.lang.String,java.lang.Double> subpopParameters)
           
static void log(java.lang.String msg)
           
 Individual run(int rounds)
          Runs the hadoop framework with defined settings.
 void setEmigrationMethod(Population.expelEmigrantsMethod met)
          Determines how emigrating individuals are chosen.
 void setHistoryPath(java.lang.String r)
           
 void setImmigrationMethod(Population.acceptImmigrantsMethod met)
          Determines how immigrating individuals are handled.
 void setMapTasks(int mapTasks)
          Setting for hadoop.
 void setRepeatedTest(boolean b)
           
 void setTopology(java.lang.Class<? extends Topology> top)
           
 void setVerbose(boolean verb)
          If verbose setting is set to true, all populations with all their individuals will be written to Logger
 void setWriteHistory(boolean b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dimensions

public static int dimensions

migratingPopSize

public static int migratingPopSize
Constructor Detail

Deaf

public Deaf(java.lang.Class<? extends FitnessFunction> fitFunction,
            int D,
            java.lang.Class<? extends Algorithm> algorithm,
            int generationsPerRound,
            int islandCount,
            int populationSize,
            int migratingIndividuals)
Parameters:
fitFunction - FitnessFunction class implementation with optimalized fitness function.
D - Number of dimensions of defined fitness function.
algorithm - Algorithm class implementation with computational algorithm for optimalization of fitness function
generationsPerRound - Number of generations (cycles of algorithm)
islandCount - Number of islands for populations. Equals number of Hadoop Map Tasks if not set with setMapTasks().
populationSize - Default size of populations if not set specifically.
migratingIndividuals - Default number of migrating individuals if not set specifically.
Method Detail

addSubpopulaionsConfig

public void addSubpopulaionsConfig(java.lang.Class<? extends Algorithm> alg,
                                   int popSize,
                                   java.util.Map<java.lang.String,java.lang.Double> subpopParameters)
Parameters:
alg - Population specific algorith
popSize - Population specific population size
subpopParameters - Map collection of parameters for given algorithm

addSubpopulaionsConfig

public void addSubpopulaionsConfig(java.lang.Class<? extends Algorithm> alg,
                                   java.util.Map<java.lang.String,java.lang.Double> subpopParameters)
Parameters:
alg - Population specific algorith
subpopParameters - Map collection of parameters for given algorithm

setTopology

public void setTopology(java.lang.Class<? extends Topology> top)
Parameters:
top - Topology extending class defining the topology of islands (determines the destination island for migrating population)

setImmigrationMethod

public void setImmigrationMethod(Population.acceptImmigrantsMethod met)
Determines how immigrating individuals are handled.

Parameters:
met - One of Population.acceptImmigrantsMethod (REPLACE_WORST, REPLACE_BEST, REPLACE_RANDOM, NO_REPLACE).

setEmigrationMethod

public void setEmigrationMethod(Population.expelEmigrantsMethod met)
Determines how emigrating individuals are chosen.

Parameters:
met - One of Population.expelEmigrantsMethod (EXPEL_BEST, EXPEL_RANDOM).

setVerbose

public void setVerbose(boolean verb)
If verbose setting is set to true, all populations with all their individuals will be written to Logger

Parameters:
verb - true/false

setRepeatedTest

public void setRepeatedTest(boolean b)

setWriteHistory

public void setWriteHistory(boolean b)

setHistoryPath

public void setHistoryPath(java.lang.String r)

setMapTasks

public void setMapTasks(int mapTasks)
Setting for hadoop.

Parameters:
mapTasks - number of Hadoop Map Tasks

run

public Individual run(int rounds)
               throws java.io.IOException,
                      ConfigurationException
Runs the hadoop framework with defined settings.

Parameters:
rounds - Number of rounds/migrations
Returns:
Returns the best Individual from all populations
Throws:
java.io.IOException
ConfigurationException

log

public static void log(java.lang.String msg)
Parameters:
msg - Message to write to Logger with Level.INFO