The only other way I can think of is that to keep on mutating and crossing
over the parents till the time they produce a valid pair of offsprings, and
consequently allow them in the population. Given my gut feeling about the
problem I can not think of any other problem.
----- Original Message ----
From: Paul Fisher <[log in to unmask]>
To: [log in to unmask]
Sent: Wed, March 9, 2011 5:33:02 PM
Subject: Help on a general GA issue
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?