I'm working in a hyper-heuristic GA to evolve machine learning algorithms.
I was using a traditional breeding pipeline (tournament selection -->
crossover --> mutation), but I decided to change it so it would look
something like this: (tournament selection -->
reproduction/crossover/mutation), in which there is 5% of chance of
reproducing (cloning) the selected individuals, 5% of chance of mutating
the individuals and 90% of chance of them suffering crossover. In other
words, the probabilities should sum to 1 considering that the selected
individuals will undergo one of the three operations at a time.

I edited my parameter file to look like this:

pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline
pop.subpop.0.species.pipe.num-sources = 3
pop.subpop.0.species.pipe.source.0 = ec.breed.ReproductionPipeline
pop.subpop.0.species.pipe.source.0.prob = 0.05
pop.subpop.0.species.pipe.source.1 = ec.vector.breed.VectorCrossoverPipeline
pop.subpop.0.species.pipe.source.1.prob = 0.90
pop.subpop.0.species.pipe.source.2 = ec.vector.breed.VectorMutationPipeline
pop.subpop.0.species.pipe.source.2.prob = 0.05

pop.subpop.0.species.pipe.source.0.source.0 =
pop.subpop.0.species.pipe.source.1.source.0 =
pop.subpop.0.species.pipe.source.1.source.1 = same
pop.subpop.0.species.pipe.source.2.source.0 =

pop.subpop.0.species.crossover-type = one
pop.subpop.0.species.mutation-prob = 0.5
pop.subpop.0.species.mutation-type = reset

select.tournament.size = 2

Is this correct? Or am I missing something important? Apparently it works,
but I'm not sure it is working as it should.

Thank you for your help.

Rodrigo Coelho Barros, MSc.
PhD Candidate
Bioinspired Computation Laboratory (BioCom)
Department of Computer Science
University of São Paulo at São Carlos (ICMC-USP)
e-mail (1): [log in to unmask]
e-mail (2): [log in to unmask]

mobile: +55 16 8138-3627