More generally, if you could completely specify what makes a solution "fit" using logic, you could just ask Prolog to find a solution that satisfies those predicates. The search would then be handled by Prolog's built-in resolution and backtracking mechanisms rather than needing a GA.
Do you have a specific type of problem in mind?