Should crossover operation in a genetic algorithm modify individuals in order to be "valid"?
In my experience, a well crafted operator that avoids or repairs constraint violations is nearly always far preferable to one that relies on selection alone to find feasible solutions.