1. A method for optimizing clustering in a design structure matrix comprising the steps of: applying at least one genetic operator to a parent population of design structure matrix clusterings to produce an offspring population of design structure matrix clusterings; using a scoring metric to score each of said offspring population of design structure matrix clusterings; terminating the method if a termination condition has been satisfied and defining an optimal design structure matrix clustering; and, performing a selection operation to generate a new parent population of design structure matrix clusterings if said termination condition has not been satisfied and repeating said steps of applying at least one genetic operator to said new parent population to generate a new offspring population, using a scoring metric to score said new offspring population, and terminating the method if a termination condition has been satisfied, until said termination condition is satisfied.