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.

Best Regards,
Adil Raja

----- 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

Hello everyone

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?