EASEA defined parameters

De
Révision datée du 3 mars 2015 à 15:40 par Collet (discussion | contributions) (→‎Surviving parents)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Here is a quick presentation of the various parameters that can be found and used in a .ez file

Basic Parameters

Number of generations

Description :
Gives the maximum number of generations during wich the evolutionary algorithm will run.

EASEA syntax :

Number of generations:

Values : Integer strictly over 0.

Command line syntax :

--nbGen=

Values : Integer strictly over 0.

Time limit

Description :
Sets the maximum amount of time in seconds during wich the evolutionary algorithm will be allowed to run. Setting this parameter to 0 deactivates the time limit.

EASEA syntax :

Time limit :

Values : Positive Integer.

Command line syntax :

--timeLimit=

Values : Positive Integer.

Population size

Description :
Sets the size of the population that will be evolved.

EASEA syntax :

Population size :

Values : Integer strictly over 0.

Command line syntax :

--popSize=

Values : Integer strictly over 0.

Offspring size

Description :
Sets the number of individual that will be produced trough evolutionary crossover and/or mutation.

EASEA syntax :

Offspring size :

Values : Integer strictly over 0.

Command line syntax :

--nbOffspring=

Values : Integer strictly over 0.

Mutation probability

Desciption :
This parameter determines the probability that an individual will be mutated during it's creation process.

EASEA syntax :

Mutation probability :

Values : Real number between 0.0 and 1.0 .

Command line syntax :
This parameter is not avaible in command line yet.

Crossover probability

Description :
This parameter determines the probability that an individual will be the result of a crossover during it's creation process.

EASEA syntax :

Crossover probability :

Values : Real number between 0.0 and 1.0 .

Command line syntax :
This parameter is not avaible in command line yet.

Evaluator goal

Description :
This parameter will set the goal of the evolutionary algorithm.

EASEA syntax :

Evaluator goal :

Values : minimis/ze or maximis/ze

Command line syntax :
This parameter is too fundamental to the behaviour of the algorithm to be changed in command line.

Selection operator

Description :
This parameter decides of the way individuals of the parent population will be selected to create the new individuals. Several operator are avaiable in EASEA:

  • Tournament (need a selection pressure)
  • Deterministic
  • Roulette (only when Evaluator goal = maximise)
  • Random

When the selection pressure is an integer over 0, the best individual from the n will be selected.
When the selection pressure is a real number between 0.0 and 1.0, the best individual of 2 will be selection with the probability p given by the selection pressure.

EASEA syntax :

Selection operator: OPERATOR SELECTION_PRESSURE

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Compile line syntax :

--selectionOperator=
--selectionPressure=

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Surviving parents

Description :
This parameter will determine the number of children that will be participating in the run for the next generation (IL VA FALLOIR MODIFIER CETTE DESCRITPION)

EASEA syntax :

Surviving parents:

Values : Integer strictly positive or Percentage (example: 100%)

Command line syntax :

--survivingParents=

Values : Integer strictly positive or Real number value between 0.0 and 1.0

Reduce parents operator

Description :
This parameter decides of the way individuals of the parent population will be selected to participate in the next selection process. Several operator are avaiable in EASEA:

  • Tournament (need a selection pressure)
  • Deterministic
  • Roulette (only when Evaluator goal = maximise)
  • Random

When the selection pressure is an integer over 0, the best individual from the n will be selected.
When the selection pressure is a real number between 0.0 and 1.0, the best individual of 2 will be selection with the probability p given by the selection pressure.

EASEA syntax :

Reduce parents operator: OPERATOR SELECTION_PRESSURE

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Compile line syntax :

--reduceParentsOperator=
--reduceParentsPressure=

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Reduce offspring operator

Description :
This parameter decides of the way individuals of the offspring population will be selected to participate in the next selection process. Several operator are avaiable in EASEA:

  • Tournament (need a selection pressure)
  • Deterministic
  • Roulette (only when Evaluator goal = maximise)
  • Random

When the selection pressure is an integer over 0, the best individual from the n will be selected.
When the selection pressure is a real number between 0.0 and 1.0, the best individual of 2 will be selection with the probability p given by the selection pressure.

EASEA syntax :

Reduce offspring operator: OPERATOR SELECTION_PRESSURE

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Compile line syntax :

--reduceOffspringOperator=
--reduceOffspringPressure=

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Final reduce operator

Description :
This parameter decides of the way individuals will be selected to participate in the next generation. Several operator are avaiable in EASEA:

  • Tournament (need a selection pressure)
  • Deterministic
  • Roulette (only when Evaluator goal = maximise)
  • Random

When the selection pressure is an integer over 0, the best individual from the n will be selected.
When the selection pressure is a real number between 0.0 and 1.0, the best individual of 2 will be selection with the probability p given by the selection pressure.

EASEA syntax :

Final reduce operator: OPERATOR SELECTION_PRESSURE

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Compile line syntax :

--reduceFinalOperator=
--reduceFinalPressure=

Values for operators : Tournament Deterministic Roulette Random
Values for selection pressure : Integer strictly over 0 or Real number between 0.0 and 1.0 .

Elitism

Description :
This parameter determines the type of elitism of the evolutionary algorithm.

EASEA syntax :

Elitism :

Values : Strong or Weak

Compile line syntax :

---eliteType=

Values : 1 (for Strong) or 0 (for Weak)

Elite

Description :
This parameter sets the number of individuals that are going to be "elites". Set this parameter to 0 to deactivate the elitism

EASEA syntax :

Elite :

Values : Positive Integer. 0 to deactive elitism.

Command line syntax :

--elite=

Values : Positive Integer. 0 to deactive elitism.

Remote Island Model Parameters

Remote island model

Description :
Boolean that will activate the migration of individuals towards other EASEA instances of the same problem that are located on remote machines. The address of the machines has to be specified in the IP file parameter.

EASEA syntax :

Remote island model :

Values : true or false.

Command line syntax :

---remoteIslandModel=

Values : 1 (for true) or 0 (for false).

IP file

Description :
This parameter contains the path to the File containing the IP addresses and port of all the remote machines that can receive individuals. This file needs to be structure as such:
a1.b1.c1.d1:p1
a2.b2.c2.d2:p2
...
an.bn.cn.dn:pn
No blank line is allowed at the end of the file.
An individual can be send to a machine that isn't active.
The IP address and port of the local machine can be present in the file. EASEA will recognize and ignore it.
If there are no IP addresses in the file, or if only the local machine's address is present in that file, the Remote island model Parameter will be set to false.

EASEA syntax :

IP file :

Values : The path to the file containing the IP addresses (example: ./ip.txt)

Command line syntax :

--ipFile=

Values : The path to the file containing the IP addresses (example: ./ip.txt)

Server Port

'Description :
This parameter sets the port that will be used by the island server to listen for the arrival of newcomers.

EASEA syntax :

Server port :

Values : A valid port number.

Command line syntax :

---serverPort=

Values : A valid port number.


Migration probability

Description :
This parameter sets the probability for and individual to migrate to a remote machine every generation.

EASEA syntax :

Migration probability :

Values : A real number between 0.0 and 1.0 .

Command line syntax :

--migrationProbability=

Values : A real number between 0.0 and 1.0 .

Memetic Parameters

Number of optimisation iterations

Description :
This parameters gives the number of iterations the local search algorithm will perform.

EASEA syntax :

Number of optimisation iterations :

Values : A positive integer.

Command line syntax :

--optimiseIterations=

Values : A positive integer.

Baldwinism

Description :
This parameter will set the behaviour of the memetic algorithm. Setting it to true will turn the algorithm into a Baldwinian memetic algorithm. Setting it to false will turn the algorithm into a Lamarckian memetic algorithm. This parameter's default value is true.

EASEA syntax :

Baldwinism :

Values : true or false.

Command line syntax :

--baldwinism=

Values : 1 (for true) or 0 (for false).

Miscalleous Parameters

Print stats

Description :
This parameter set to true will show different stats every generations:

  • Generation number
  • Time passed since the start of the algorithm
  • Number of evaluations completed
  • Fitness of the best individual found
  • Avegrage fitness
  • Standard deviation of the fitness

This parameter's default value is true.

EASEA syntax :

Print stats :

Value : true or false.

Command line syntax :

printStats=

Values : 1 (for true) or 0 (for false).

Plot stats

Description
This parameter set to true will open a gnuplot process, that will plot the curves representing the evolution of:

  • The best fitness
  • The avegage fitness
  • The standard deviation of the fitness

To be able to use this parameter, gnuplot has to be installed on the machine. This parameter is only avaiable for Linux users.
The ploting of the curves will happen simultaniously to the evolution. At the end of the evolution, the resulting curves will be saved in a .png file. It's name will be the same as the project name.
This parameter's default value is false.

EASEA syntax :

Plot stats :

Value : true or false.

Command line syntax :

plotStats=

Values : 1 (for true) or 0 (for false).

Generate csv stats file

Description :
This parameter set to true will save the different stats shown with the Print stats parameter to a .csv file at the end of the evolution. The file name will be the same as the project name. This parameter's default value is false.

EASEA syntax :

Generate csv stats file :

Values : true or false.

Command line syntax :

--generateCSV=

Values : 1 (for true) or 0 (for false).

Generate gnuplot script

Description :
This parameter set to true will create a gnuplot script that will allow to plot the evolution in a .png file which, name will be the same as the project name. To plot the evolution, the script will save the stats in a .dat file. This parameter's default value is false.

EASEA syntax :

Generate gnuplot script :

Values : true or false.

Command line syntax :

--generateGnuplotScript=

Values : 1 (for true) or 0 (for false).

Generate R script

Description :
This parameter set to true will create a R script that will allow to plot the evolution in a .png file, which name will be the same as the project name. To plot the evolution, the script will save the stats in a .csv file. This parameter's default value is false.

EASEA syntax :

Generate R script :

Values : true or false.

Command line syntax :

--generateRScript=

Values : 1 (for true) or 0 (for false).

Save population

Description :
This parameter set to true will save the final population in a .pop file, which name will be the same as the project name. The population will be in a EASEA serialized form. This parameter's default value is false.

EASEA syntax :

Save population :

Values : true or false.

Command line syntax :

--savePopulation=

Values : 1 (for true) or 0 (for false).

Start from file

Description :
This parameter set to true will initialize the population using the population saved the .pop file that is in the current folder. The file has to have the save name as the project. For this initialization to work, the individuals contained in the file has to have the exact same Genome, and the number of individuals has to be equal or greater to the population size.
The individuals have to be in the EASEA serialization form.
This parameter's default value is false.

EASEA syntax :

Start from file :

Values : true or false.

Command line syntax :

--saveFromFile=

Values : 1 (for true) or 0 (for false).

Print initial population

Description :
This parameter allow to print the initial population. This parameter's default value is 0.

EASEA syntax :
This is a command line exclusive parameter.

Command line syntax :

--printInitialPopulation=

Values : 1 (for true) or 0 (for false).

Print final population

Description :
This parameter allow to print the final population. This parameter's default value is 0.

EASEA syntax :
This is a command line exclusive parameter.

Command line syntax :

--printFinalPopulation=

Values : 1 (for true) or 0 (for false).

User defined parameters

EASEA defines 5 parameters that are left free to be used by the ".ez" programmer.

User parameters :

 --u1 arg                      User defined parameter 1
 --u2 arg                      User defined parameter 2
 --u3 arg                      User defined parameter 3
 --u4 arg                      User defined parameter 4
 --u5 arg                      User defined parameter 5

Types : u1 and u2 are string variables, u3 to u5 are integers.

Usage Exemple : In the .ez source code

  int a = setVariable("u3",b);

where :
"a" is the variable set to the argument or default value.
"u3" is the argument name.
"b" is the default integer value, if the u3 argument has not been set.