Generative design describes a broad class of design where the design instances are created automatically from a high-level specification. Most often, the underlying mechanisms for generating the design instances in some way model biological processes: evolutionary genetics, cellular growth, etc.
These artificial simulations of life processes provide a good conceptual basis for designing products. One of the more popular of these mechanisms is evolutionary programming.
Early experiments of applying these genetic algorithms to design tasks required expensive massively parallel computers to generate and evaluate the many thousands of generations of design instances, where each generation would consist of hundreds of individual instances.
Practical application of these techniques is today made possible by a combination of the widespread availability of fast inexpensive computer hardware and an approach that relies on a human user to evaluate and select the viable design instances.