This is a plea for help on a general point regarding the genetic
algorithm method (rather than a technical ECJ issue). I hope my
question makes sense to someone who can point me in the right direction.
Simply put, if you have a large solution space (c.9000 element matrix)
with a set of constraints that make a large proportion of the possible
solutions invalid, how do you treat invalid solutions generated by the
reproduction process to ensure the population is composed of only (or
mostly) valid solutions? For example, what happens when you take two
good solutions from the initial population, cross them over and mutate
them according to some standard method, and the result is two solutions
which happen to violate the constraints of the solution space and
therefore render the new solutions invalid? How can you take two good
solutions and mate them in such a way to produce only valid solutions
according to the problem constraints?
The only way I have known how to treat invalid solutions so far is to
tolerate them in the population but score them out of the selection
process. The problem with this is that 9 times out of 10 the population
will be swamped by these duds and never get going.
Any suggestions please folks?