standard tier · 72 briefs · 1,368 runs · results db2e24e

CityFormGen

Generative and optimisation methods for middle housing, compared under matched compute

RESEARCH GENERATIVE-DESIGN BENCHMARK - NOT CONSTRUCTION DOCUMENTATION OR CODE CERTIFICATION.

Methods

Everything below is also in the repository's research/ directory, where the hypotheses were committed before the main benchmark ran.

Representation

Metres, site frame: the origin is the front-left lot corner on the street; x runs along the street, y into the lot. Rooms are axis-aligned rectangles on storeys. Doors and windows are derived from geometry, never searched. The tree-based methods search guillotine slicing trees: rooms tile their containers exactly, and common cores, stairs and courtyards stack by construction. CP-SAT places free rectangles on a 0.5 m grid instead; LLM proposals are arbitrary rectangles. One checker scores them all.

Briefs

72 synthetic briefs from a seeded generator (brief set 1.1.0, hash 31a635ad375385d2): six typologies — duplex, triplex, fourplex, rowhouse, courtyard housing and a principal dwelling with an accessory unit — each at three difficulty bands set by the ratio of programme area to buildable volume.

Benchmark constraints

Seventeen rules. They are benchmark constraints, not building code, and no jurisdiction is implied.

IDNameRule
C01geometry validEvery room rectangle is finite with strictly positive extents.
C02no overlapNo two rooms on the same storey overlap.
C03within buildableEvery room lies inside the lot minus its setbacks.
C04min room areaEach room meets the benchmark minimum area for its type.
C05min room dimensionEach room's shorter side meets the benchmark minimum clear dimension.
C06max room aspectEach room's aspect ratio is within the benchmark maximum for its type.
C07min unit areaEach dwelling meets the brief's minimum floor area.
C08unit connectivityEvery room of a dwelling is reachable from that dwelling's entry.
C09street accessEvery dwelling's entry is reachable from the street.
C10habitable daylightEvery habitable room has an exterior wall able to take a window.
C11required adjacencyBrief-required room adjacencies are present as door-capable contacts.
C12forbidden doorNo door connects a brief-forbidden pair of room types.
C13open spaceOpen space net of parking meets the brief's target fraction of the lot.
C14courtyard provisionA required courtyard void is delivered at usable size.
C15programme completeEvery room the brief requires is present, once, on its required storey.
C16unit contiguityA dwelling's rooms on a storey form a single contiguous block.
C17vertical supportEvery upper-storey room sits over built floor area on the storey below (a stacking proxy, not a structural check).

Objectives

Six proxies, kept as a vector. Scores are oriented higher-is-better in [0, 1]; raw values are stored so any score can be recomputed under another band.

ObjectiveRaw quantityBandDirection
densityGFA / (buildable area x storeys)0.35 -> 0, 1.00 -> 1higher is better
daylightgeometric daylight availability per habitable roomas computed, 0-1higher is better
privacybedroom depth, street distance, party walls, overlookas computed, 0-1higher is better
circulationcirculation share, walking distance, reachas computed, 0-1higher is better
carbonkgCO2e / m2 GFA, A1-A3, modelled elements only620 -> 0, 260 -> 1lower raw is better
costunitless cost index / m2 GFA (no currency)3.30 -> 0, 1.75 -> 1lower raw is better

Methods compared

Protocol

72 briefs × 3 seeds; 1,500 evaluations per run through one metered evaluator; CP-SAT gets 6.4 s, the median single-process time NSGA-II needs for that budget. Hypervolume is estimated by Monte Carlo on one fixed sample cloud, so differences between methods are paired. Brief-level statistics: seed-averaged, bootstrapped 10,000 times, sign-flip permutation tests with Holm correction.

Amendments made before the main run

  1. Brief count 60 → 72, so tiers are exact multiples of the 18-brief typology × band cycle.
  2. Wall-clock caps made safety-only for evaluation-budgeted methods; CP-SAT's time set from a smoke-tier measurement.
  3. Open-ground depth measured per exterior wall segment rather than from each wall's midpoint.
  4. Density band ceiling moved to its natural bound (1.0) after it saturated on the smoke tier; the carbon band was not changed.

Reproduce

make setup      # venv + editable install
make test       # pytest + property tests
make benchmark  # STANDARD tier, resumable from checkpoints
make repair     # repair ablation
make analyze    # statistics and sensitivity
make figures    # publication figures
make site       # export data, build this site