1. A method comprising: determining a plurality of constraint compliant values; determining that a candidate solution, which was created from two or more of a plurality of candidate solutions via a crossover operation, fails to comply with a constraint condition for an optimization problem, wherein the two or more of the plurality of candidate solutions comply with the constraint condition; and assigning a value from the plurality of constraint compliant values to a constrained variable of the candidate solution in response to the determining that the candidate solution fails to comply with the constraint condition, wherein the value assigned from the plurality of constraint compliant values is randomly selected from the plurality of constraint compliant values, and wherein the at least one constrained variable is constrained to comply with the constraint condition.