algorithmic-patterns
L-systems, cellular automata, agent-based modeling, swarm intelligence, reaction-diffusion, growth algorithms, packing…
Evolutionary algorithms, multi-objective optimization, design space exploration, fitness function design, population-based methods, and generative workflows for AEC computational design
$ npx -y skills add Abhinavbwj/Claude-skills-for-Computational-Designers --skill generative-design --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/generative-designContext preview
The summary Claude sees to decide when to auto-load this skill.
Evolutionary algorithms, multi-objective optimization, design space exploration, fitness function design, population-based methods, and generative workflows for AEC computational design
title: Generative Design description: Evolutionary algorithms, multi-objective optimization, design space exploration, fitness function design, population-based methods, and generative workflows for AEC computational design version: 1.0.0 tags: [generative, evolutionary, optimization, genetic-algorithm, NSGA-II, design-space, fitness] auto_activate: true user_invocable: true invocation: /generative-design
Generative design is a computational design methodology in which a designer defines a problem through goals, constraints, and variable parameters, and an algorithmic system autonomously generates, evaluates, and evolves candidate solutions across a defined design space. Unlike traditional design where the human produces every solution manually, generative design shifts the designer's role from direct form-maker to curator of outcomes — defining *what* is desired rather than *how* to achieve it.
In the AEC context, generative design applies to problems ranging from single-building floor plan layouts and structural topologies to neighborhood-scale massing studies and infrastructure routing. The common thread is a design space too large for exhaustive manual exploration.
The confusion between parametric and generative design is pervasive. The distinction is fundamental:
| Aspect | Parametric Design | Generative Design | |---|---|---| | **Core action** | Define relationships between parameters | Explore the solution space algorithmically | | **Designer's role** | Adjust sliders, observe outcomes | Define objectives and constraints, curate results | | **Output** | One solution per parameter state | Population of diverse candidate solutions | | **Search method** | Manual, intuition-driven | Automated, algorithm-driven | | **Model requirement** | Parametric model with exposed variables | Parametric model + fitness function + solver | | **Typical scale** | Dozens to hundreds of manual explorations | Thousands to millions of evaluated candidates |
A parametric model is a *prerequisite* for generative design — it provides the mechanism by which the solver manipulates geometry. But parametric design alone does not search; it merely responds to human input. Generative design automates the search.
Every generative design process follows a three-phase loop:
1. **Generate** — The solver creates candidate solutions by sampling or evolving design variable values within defined ranges. In evolutionary approaches, this involves applying genetic operators (crossover, mutation) to parent solutions.
2. **Evaluate** — Each candidate is assessed against one or more fitness functions. This is typically the computational bottleneck: running energy simulations, structural analyses, daylight calculations, or spatial adjacency checks for every individual in every generation.
3. **Evolve** — Based on evaluation results, the solver selects better-performing candidates and uses them to produce the next generation. Over many iterations, the population converges toward high-performing regions of the design space.
This loop continues until convergence criteria are met: a generation limit is reached, fitness improvements plateau below a threshold, or population diversity drops below a minimum.
Generative design is appropriate when:
Generative design is **not** appropriate when:
The designer retains authorship because they define the problem, construct the fitness landscape, set constraints, and select solutions. The algorithm is a tool with no intent. However, generative design shifts creative decisions upstream: defining what matters (fitness functions), what is possible (variable ranges), and what is acceptable (feasibility thresholds). This demands deeper understanding of design performance than traditional workflows.
**Fully automated**: Solver runs autonomously from initialization to convergence. Designer intervenes only at setup and selection. Appropriate for well-defined problems with reliable fitness functions.
**Human-in-the-loop (IEC)**: Designer evaluates candidates subjectively during optimization, guiding evolution toward aesthetically or experientially desirable outcomes.
The hybrid approach — automated fitness for quantifiable metrics, human selection for qualitative criteria — is often most productive in practice.
---
The Genetic Algorithm is the foundational evolutionary optimization method used in AEC generative design. Inspired by Darwinian natural selection, it maintains a population of candidate solutions that evolve over generations through selection, crossover, and mutation.
The encoding (genotype representation) determines how design variables are stored and manipulated:
**Binary encoding**: Variables as bit strings (e.g., 8-bi
L-systems, cellular automata, agent-based modeling, swarm intelligence, reaction-diffusion, growth algorithms, packing…
Revit API fundamentals, Dynamo for Revit, pyRevit framework, IFC schema and openBIM, model checking, automated documentation,…
Python calculators for geometry analysis, structural checking, solar calculations, panel optimization, mesh analysis, material…
Auto-activating foundation layer providing computational design paradigms, key pioneers, tools landscape, core concepts, and…
NURBS curves and surfaces, mesh geometry, boolean operations, subdivision surfaces, tessellation methods, surface analysis, and…
GIS integration, sensor data, occupancy analytics, space syntax analysis, urban data analytics, climate data processing, and API…