[Generative Design] Stop Using "Randomize": The Engineer’s Guide to True Optimization
Why "Shuffle" fails and how UV Coordinates teach AI to evolve.
https://www.linkedin.com/pulse/generative-design-optimize-wonho-cho-rkstc
Introduction: The Automation Paradox Can a computer truly generate better design alternatives than a human? The answer is yes, but not in the way most people think. Many mistake Generative Design (GD) for a "magic button" where a perfect answer appears instantly.
In reality, obtaining an alternative that surpasses human intuition requires the "Automation Paradox": to automate a process, you need the deep-rooted experience of a seasoned expert to define the rules. Optimization is not about replacing humans; it is about transplanting human experience into algorithms.
In this post, based on a spatial layout and auto-routing case study, I will explain why you must stop "rolling the dice" with Randomize and how to orchestrate the "Optimize" function to achieve tangible results.
1. The Limit of "Randomize": Why Rolling Dice Fails Most GD beginners start with the Randomize method. It shuffles input values in hopes of stumbling upon a good alternative by chance. In our test case (placing Red, Green, and Blue spaces to minimize piping length), Randomize failed to find a viable solution.
The Problem: Because the rotation and placement were arbitrary, the AI generated countless "Garbage Options" that clashed with site boundaries.
The Reality: Randomization creates variety, not quality. It cannot learn from its mistakes.
2. The Technical Shift: Abandoning "Shuffle" for "UV Coordinates" The critical turning point in moving from "Curiosity" to "Conviction" is how you define your variables.
The Trap of Shuffle: If you use a
List.Shufflenode in Dynamo, the order of operations changes randomly every run. The Genetic Algorithm cannot learn cause-and-effect. It cannot say, "Moving this wall 1 meter resulted in a better score," because the logic is scrambled every time.The Solution (UV Tendency): We replaced Shuffle with UV Parameters (0.0 to 1.0). This creates continuity. The AI can now reason: "When I increased the U value by 0.1, the piping length decreased."
The Result: Instead of guessing, the AI begins a sophisticated "Number Game," finely adjusting the inputs to converge on the optimal solution.
3. The Definitive Guide to GD Optimize Settings To guide the AI effectively, you must set the board correctly. Here is the recommended configuration based on our successful experiments:
Method: Select Optimize. (Do not use Randomize for complex problems).
Inputs (Variables): Set all spatial coordinates (U/V) as Variables. Give the AI full autonomy to move elements anywhere within the boundary.
Goals (Objectives): Set Multiple Goals (e.g., Minimize L1, L2, and L3).
Why? If you only set one goal (e.g., Minimize L3), the AI might "cheat" by pushing other elements off the map to achieve that single score. Multi-objective optimization forces a balanced, rational solution.
Generation Settings:
Population Size: 40~50 (The default of 20 is too low for complex layouts).
Generations: 30+ (You need at least 30 generations for the AI to gain "insight" and converge).
4. The Evolutionary Process If you run the study with these settings, you will witness a distinct evolutionary timeline:
Gen 1~5 (Chaos): Placements are random, and scores fluctuate wildly.
Gen 10~20 (Pattern Recognition): The AI discovers tendencies (e.g., "Blue needs to be near the pipe rack").
Gen 30+ (Convergence): The AI finalizes the optimal layout. Blue sticks to the rack, while Red and Green find optimal spots without overlapping.
Conclusion: From Architect of Plans to Architect of Algorithms Generative Design transforms vague curiosity into quantified conviction.
Randomize is the Inspiration that suggests, "This is possible."
Optimize is the Solution that proves, "This is the best."
The role of the engineer is shifting. We are no longer just drawing plans; we are becoming "Architects of Algorithms"—defining the playground (Constraints) and the goalposts (Objectives) so that AI can score the goal.
댓글
댓글 쓰기