A set of original model candidates are first grouped into pairs of original model candidates. A pair of child model candidates is generated for each of the pairs of original model candidates by performing mutation, crossover, or both on the each of the pairs of original model candidates. From the original model candidates and the child model candidates, a set of new model candidates are derived, which includes pairing, based on a similarity function, each child model candidate with one of the corresponding original model candidates; selecting one or both of the model candidates in each of the parent-child pairs based on the similarity function and an objective function as new model candidates; and performing niche clearing to keep a number of the new model candidates in each of niches from exceeding a maximum number. The grouping, generating and deriving operations are then iterated.
展开▼