<< Click to Display Table of Contents >> SetOperators 

SetOperators(Population As Integer, CrossoverType As Integer, CrossoverRate As Single, MutationRate As Single)
Purpose: This function sets the parameters of the basic GeneHunter operators required for continuous/integer chromosomes.
Arguments: Population is the number of the population for which you are going to set the parameters of the operators. CrossoverType Only one crossover type is currently implemented: simple continuous crossover. Use the value of 1 for this type, or the symbolic constant SIMPLE_CONT_CROSS, defined in the module GALIB32.BAS. CrossoverRate is the rate of crossover, i.e., the probability that the crossover operator will be applied to a chromosome. This probability is calculated per chromosome. If an individual in the population has a number of chromosomes, the probability of crossover per individual is given by the expression:
total crossover rate = 1(1crossover rate)^n
where total crossover rate is the probability of crossover per individual; crossover rate is the probability of crossover per chromosome; and n is the number of chromosomes per individual. Usually, values of crossover rate in the range 0.81.0 are appropriate, and the value 0.9 is recommended. MutationRate is the rate of mutation per bit in a chromosome. Chromosomes can have different bit resolutions, so the probability of mutation per chromosome is given by the expression:
total mutation rate = 1(1mutation rate)^k
where total mutation rate is the probability of chromosome mutation; mutation rate is the rate of mutation per bit; and k is the number of bits in a chromosome (8, 16 or 32). The probability of the mutation of an individual is calculated by:
total mutation rate = 1(1mutation rate)^k
but k in this case stands for the total number of bits in the representations of all chromosomes of an individual. In other words, if there are 10 8bit chromosomes, then K = 8 * 10 = 80. Usually, values of mutation rate 0.0010.01 are appropriate. The value 0.01 is recommended when using the elitist strategy, otherwise, use the value 0.005.
Example: i = SetOperators(PopNum, SIMPLE_CONT_CROSS, 0.9, 0.003)
This example sets the parameters of the GeneHunter operators for the population PopNum. The crossover type is simple continuous. The crossover rate will be 0.9; the mutation rate will be 0.003.
Related Functions: SetEnumOperators, SetStrategy 