Global Index (all files) (short | long) | Local contents | Local Index (files in subdir) (short | long)
NewChrom = mutswaptyp(Chrom, VLUB, MutOpt)
MUTation by SWAPping variables of identical type This function takes the individuals of the current population and mutates each indivdual by swapping variables of the individual. Only variables of the same type (same boundaries of domain, for instance, binary, signed and unsigned char, signed and unsigned integer, and real variables with the same boundaries) are exchanged/swapped. Currently, only one exchange per individual takes place (mutation rate fixed to 1/number of variables). Later: If mutation is 1/Nvar or larger, every individual is mutated ones. If mutation rate is > 1/Nvar, additional mutations (swap of variables) are performed. That means, for some individuals more than one swap of variables takes place. A mutation rate of 2/Nvar produces (statistically) 2 swaps of variables per individual. The mutation range and precision are used for all mutations. The resulting population is returned. This mutation operator may be used with every variable representation, as long as the swap of the variables with identical boundaries makes any sense. The mutation operator just exchanges/swaps the variables, no change of the variable value is performed. Syntax: NewChrom = mutswaptyp(Chrom, VLUB, MutOpt) Input parameters: Chrom - A matrix containing the chromosomes of the current population. Each row corresponds to an individuals string representation. VLUB - Matrix containing the boundaries of each variable. not used here, necessary for compatibility with real valued mutation MutOpt - (optional) Vector containing mutation options MutOpt(1): MutRate - number containing the mutation rate - probability for mutation of a variable if omitted or NaN, MutRate = 1/variables per individual is assumed MutOpt(2): MutRange - (optional) number for shrinking the mutation range in the range [0 1], possibility to shrink the range of the mutation depending on, for instance actual generation. if omitted or NaN, MutRange = .2 is assumed MutOpt(3): MutPreci - (optional) precision of mutation steps if omitted or NaN, MutPreci = 8 is assumed Output parameter: NewChrom - Matrix containing a mutated version of Chrom. See also: mutate, mutswap, mutexch, mutreal, mutbin, mutint, initip
This function calls | |
---|---|