1. A method comprising: receiving, by a slave processor, a pair of parent chromosome data structures, wherein each parent chromosome data structure provides a plurality of genes representative of variables that are permitted to evolve; combining, by the slave processor, genes of the two parent chromosome data structures according to at least one first evolutionary operator to generate at least one first child chromosome data structure; evaluating, by the slave processor, the at least one first child chromosome data structures according to a plurality of constraint functions to generate a respective plurality of constraint function values for each of the at least one first child chromosome data structure, wherein the constraint functions define constraints on a feasible solution set; determining whether any of the at least one first child chromosome data structure is within the feasible solution set based upon the respective plurality of constraint function values, wherein the prior combining, evaluating, and determining steps are repeated for a first number of first iterations until a first child chromosome data structure is determined to be within the feasible solution set or until a first maximum number of first iterations has been reached.