CANDO: Cooperative Agentic Network for Layout Design Optimization
Organizations: Shell Information Technology International · Shell China Limited · Delft University of Technology (TU Delft)
Abstract
Layout generation for real-world facilities is a challenging problem, requiring reasoning over irregular site boundaries, heterogeneous orientations, access-aware placements, and motion-planning feasibility. Yet, most existing layout benchmarks in the generative AI space target simpler placements over rectangular domains and rely on distributional metrics such as FID and IoU that reward conformity to dataset priors, thus discounting design innovation. Motivated by these gaps, we introduce ALPS-Bench, a benchmark of professionally annotated real-world facility layouts paired with an instance-specific scoring protocol grounded in a structured design manual. As a strong baseline for ALPS-Bench, we propose CANDO, a training-free multi-agent framework in which specialized agents iteratively refine layouts through a verification-grounded loop, concentrating reasoning on strategic spatial decisions. We demonstrate that CANDO surpasses state-of-the-art trained and LLM-based baselines on the widely adopted PubLayNet, RICO, and PKU-PosterLayout benchmarks, establishing cooperative agentic design as a broadly effective recipe for constraint-aware layout synthesis.
Figures & tables
| Method | Summary Statistics | Avg. Iterations to Comply | Time Complexity | Compliance (%) | |||
|---|---|---|---|---|---|---|---|
| AGG | CS | RE | |||||
| Qwen-LoRA-ALPS † | – | – | |||||
| LayoutDM † [ 19 ] | – | – | – | – | |||
| LayoutPrompter (GPT-5.2) [ 32 ] | – | – | |||||
| LayoutCoT (GPT-5.2) [ 44 ] | – | – | |||||
| Single-Agent (GPT-5.2) | |||||||
| RICO [ 7 ] | PubLayNet [ 59 ] | |||||||||
| Task | Method | mIoU | FID | Align | Over | mIoU | FID | Align | Over | |
| Gen-T | LayoutGAN++ [ 25 ] | 0.298 | 5.954 | 0.261 | 0.620 | 0.297 | 14.875 | 0.124 | 0.148 | |
| BLT [ 26 ] | 0.216 | 25.633 | 0.150 | 0.983 | 0.140 | 38.684 | 0.036 | 0.196 | ||
| LayoutFormer++ [ 22 ] | 0.432 | 1.096 | 0.230 | 0.530 | 0.348 | 8.411 | 0.020 | 0.008 | ||
| LayoutPrompter [ 32 ] | 0.604 | 2.134 | 0.002 | 0.029 | 0.619 | 1.648 | 0.001 | 0.004 | ||
| LayoutCoT [ 44 ] | 0.719 | 2.189 | 0.001 | 0.022 | 0.772 | 1.227 | 0.000 | 0.002 | ||
| Task | Method | Occ | Rea | Und S | Ove | FID |
|---|---|---|---|---|---|---|
| Gen-T | RALF [ 16 ] | 0.136 | 0.0127 | 0.890 | 0.0091 | 2.36 |
| UniLayDiff [ 33 ] | 0.122 | 0.0129 | 0.963 | 0.0018 | 3.09 | |
| CANDO (ours) | 0.144 | 0.0196 | 1.000 | 0.0009 | 9.83 | |
| Gen-TS | RALF [ 16 ] | 0.138 | 0.0123 | 0.876 | 0.0113 | 0.61 |
| UniLayDiff [ 33 ] | 0.128 | 0.0132 | 0.918 | 0.0046 | 0.66 | |
| CANDO (ours) | 0.145 | 0.0197 | 0.990 | 0.0000 | 4.47 |
| Variant | AGG | CS | RE | Verifier-Compliant Layouts | Mean Iterations | Regression Rate |
|---|---|---|---|---|---|---|
| CANDO (full) | 74% | 13.28 | 7.0% | |||
| w/o CoDe | 44% | 16.75 | 6.3% | |||
| w/o Historian | 59% | 13.35 | 6.7% | |||
| w/o ICL | 53% | 14.39 | 5.8% | |||
| w/o Planner | 51% | 14.63 | 6.7% | |||
| w/o Strategies | 53% | 14.60 | 18.4% |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Description |
|---|---|
| Layout domain (Section 3 ) | |
| Vocabulary of semantic element classes. | |
| Number of elements to be placed. | |
| Set of designated entrance and exit access regions. | |
| Full element specification (fixed input). | |
| Canonical (fixed) shape of element , centered at the origin. | |
| Vehicle type | Intermediate Waypoint Sequence |
|---|---|
| Car | Car Service Area |
| Car Service Area Car Parking | |
| Car Service Area Priority Parking | |
| Car Parking | |
| EV Service Area | |
| Bike | Bike Service Area |
| Constraint Type | Rule Specification |
|---|---|
| Compositionality | |
| Rectangular Blocks / Single Line | car service area (group size 4, distance tolerance up to 3.0 m), bike service area (group size 2, distance tolerance up to 3.0 m), and underground service facility (group size 2, distance tolerance up to 1.0 m). Odd counts format to primary lines; even counts format to dense multi-axis grids (for example, 2 by 2, or 2 by 3 blocks). |
| Strict Single Line | car parking (group size 3, tolerance up to 0.5 m), bike parking (size 4, tolerance up to 0.5 m), hgv service area (size 2, tolerance up to 10.0 m), priority parking (size 2, tolerance up to 1.0 m), ev service area (any size). |
| Proximity and Clearances | |
| Boundary Stacking | underground access point (longer edge), bike parking , hgv parking , and shop (longer edge) are ideally stacked against or placed proximally adjacent to the layout polygon . |
| Element Stacking | car parking (shorter edge) and priority parking must uniformly stack against the shop . priority parking must also remain placed closest to the entrance . |
| Vehicle | Length (m) | Width (m) |
|---|---|---|
| Car | 4.5 | 1.8 |
| Bike | 2.0 | 0.75 |
| HGV | 16.5 | 2.55 |
| Hyperparameter | PubLayNet | RICO | PKU-PosterLayout |
|---|---|---|---|
| Retrieved exemplars | |||
| Initial layouts | |||
| Branches | |||
| Steps per branch | |||
| Candidates per step | |||
| Maximum iterations |
| Method | Compute | Mean trial latency | Median | Batch wall time | Effective time/layout |
|---|---|---|---|---|---|
| Single-Agent (GPT-5.2) | Cloud API | h | h | h | 12 min 07 s |
| CANDO (BoN/GPT-5.2) | Cloud API | min | min | h | 1 min 30 s |
| CANDO (CoDe/GPT-5.2) | Cloud API | min | min | h | 1 min 26 s |
| CANDO (CoDe/Qwen) | 8 H100 (80 GB) | h | h | h | 10 min 02 s |
| Task | PubLayNet | RICO | PKU |
|---|---|---|---|
| Gen-T | 104.8 s | 66.8 s | 46.8 s |
| Gen-TS | 125.7 s | 137.4 s | 111.4 s |
| Gen-R | 166.1 s | 74.7 s | 102.9 s |
| Completion | 65.4 s | 31.1 s | 18.0 s |
| Refinement | 71.8 s | 54.1 s | 39.3 s |
| RICO | PubLayNet | |||||||||
| Task | Method | mIoU | FID | Align | Over | mIoU | FID | Align | Over | |
| Gen-T | LayoutGAN++ [ 25 ] | 0.298 | 5.954 | 0.261 | 0.620 | 0.297 | 14.875 | 0.124 | 0.148 | |
| BLT [ 26 ] | 0.216 | 25.633 | 0.150 | 0.983 | 0.140 | 38.684 | 0.036 | 0.196 | ||
| LayoutFormer++ [ 22 ] | 0.432 | 1.096 | 0.230 | 0.530 | 0.348 | 8.411 | 0.020 | 0.008 | ||
| LayoutPrompter [ 32 ] | 0.604 | 2.134 | 0.002 | 0.029 | 0.619 | 1.648 | 0.001 | 0.004 | ||
| LayoutCoT [ 44 ] | 0.719 | 2.189 | 0.001 | 0.022 | 0.772 | 1.227 | 0.000 | 0.002 | ||
| Task | Method | Occ | Rea | Und S | Ove | FID |
|---|---|---|---|---|---|---|
| Gen-T | RALF | 0.136 | 0.0127 | 0.890 | 0.0091 | 2.36 |
| UniLayDiff | 0.122 | 0.0129 | 0.963 | 0.0018 | 3.09 | |
| CANDO (ours) | 0.144 | 0.0196 | 1.000 | 0.0009 | 9.83 | |
| Gen-TS | RALF | 0.138 | 0.0123 | 0.876 | 0.0113 | 0.61 |
| UniLayDiff | 0.128 | 0.0132 | 0.918 | 0.0046 | 0.66 | |
| CANDO (ours) | 0.145 | 0.0197 | 0.990 | 0.0000 | 4.47 |
| Strategy | # Times Won | Win Percentage |
|---|---|---|
| Conservative | 930 | 17.6% |
| Proximity-focused | 875 | 16.6% |
| Surgical | 724 | 13.7% |
| Aggressive | 629 | 11.9% |
| Macro-spatial | 610 | 11.5% |
| Compositionality-focused | 548 | 10.4% |
| Hyperparameter | Evaluation Metric | ||||||
| CS | RE | AGG | |||||
| 4 | 10 | 6 | 6 | 0.76 | 0.42 | 0.59 | |
| 4 | 5 | 8 | 6 | 0.71 | 0.37 | 0.54 | |
| 2 | 5 | 4 | 6 | 0.68 | 0.37 | 0.52 | |
| 4 | 5 | 8 | 3 | 0.67 | 0.37 | 0.52 | |
| 2 | 10 | 8 | 9 | 0.63 | 0.38 | 0.51 | |
| Block Size ( ) | CS | Compliance Rate | Mean Iters to Comply |
|---|---|---|---|
| 1 | 30.6% | 7.0 | |
| 5 | 38.0% | 6.9 | |
| 8 | 40.0% | 6.1 | |
| 10 | 36.4% | 5.8 | |
| 20 | 42.4% | 8.3 |
| AGG | CS | RE | |||||||
| Comparison | 95% CI | 95% CI | 95% CI | ||||||
| CANDO-Qwen vs. Qwen-LoRA-ALPS | 0.543 | [0.497, 0.585] | 0.816 | [0.762, 0.864] | 0.281 | [0.228, 0.332] | |||
| CANDO-GPT vs. Qwen-LoRA-ALPS | 0.527 | [0.473, 0.578] | 0.768 | [0.697, 0.835] | 0.289 | [0.237, 0.341] | |||
| CANDO-Qwen vs. LayoutDM | 0.491 | [0.451, 0.529] | 0.822 | [0.770, 0.870] | 0.170 | [0.120, 0.220] | |||
| CANDO-GPT vs. LayoutDM | 0.475 | [0.429, 0.522] | 0.774 | [0.704, 0.839] | 0.178 | [0.127, 0.229] | |||
| CANDO-Qwen vs. LayoutPrompter | 0.451 | [0.416, 0.484] | 0.824 | [0.772, 0.872] | 0.088 | [0.050, 0.127] | |||