1. A method for optimizing a solution set in one or more computers, the solution set comprising members representing individual solutions to a problem, the method comprising, not necessarily in the sequence listed: generating a solution set; evaluating solutions in said solution set in the one or more computers; selecting desirable solutions from the solution set and saving said selected desirable solutions in the one or more computers; creating a structural model in the one or more computers using said desirable solutions; creating a surrogate fitness model in the one or more computers based on said structural model and said desirable solutions; generating a new solution set; wherein said generating a new solution set comprises: analyzing at least one of said structural model and said surrogate fitness model; determining a method for generating a new solution set based at least in part on said analyzing; generating a new solution set based on said determined method.