1. A method of designing a structure, the method comprising: a. defining a set of M design variables associated with an M-dimensional design space, and perturbing the M design variables to generate a first set of candidate designs in a first optimization process using a computer, each candidate design comprising a perturbed set of M design variables associated with the M-dimensional design space, each candidate design having an objective function value; b. analyzing the first set of candidate designs and selecting a subset of the first set of candidate designs based on the candidate design's objective function value using a computer; c. using only the selected subset of candidate designs to define an N-dimensional design space defined by N design variables using a computer, N being less than M; and d. perturbing the N design variables to generate a second set of one or more candidate designs in a second optimization process using a computer, each candidate design comprising a perturbed set of N design variables associated with the N-dimensional design space.