GENET: A Connectionist Architecture for Solving Constraint Satisfaction Problems by Iterative Improvement