Fig. 2: The evolutionary design spectrum.
From: Engineering is evolution: a perspective on design processes to engineer biology

Design approaches in the bottom left have low numbers of variants (population sizes) and design cycles (generations). These require significant prior knowledge for successful design with an oracle able to create a perfect design in a single attempt. Design approaches at the top right make little use of prior knowledge and learning, require less evolvability, and their search is less constrained. Trial and error (with no prior knowledge), falls at this extreme, where hyper-astronomical scales are required to design non-trivial systems. Between these extremes, you have all other design methods. In all these cases, prior knowledge can be used to constrain the design space and learned knowledge can dynamically guide the process on the fly. Furthermore, automation and robotics can help to enhance evolutionary design processes, increasing their design throughput and the number of generations that can be feasibly run.