Skip to content

Commit ef64ae5

Browse files
authored
Update README.md
1 parent 84285ba commit ef64ae5

File tree

1 file changed

+102
-2
lines changed

1 file changed

+102
-2
lines changed

README.md

Lines changed: 102 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,103 @@
1-
# SMT Design Space Extension
21

3-
This module allows to use advanced design space implementation for hierachical variables handling.
2+
# SMT Design Space Extension 🌳
3+
4+
**Enhancing SMT with Hierarchical & Conditional Design Spaces**
5+
6+
This package is an extension to the SMT (Surrogate Modeling Toolbox), offering a powerful framework to define and manage **hierarchical**, **mixed-type**, and **conditionally active** variables in design spaces.
7+
8+
---
9+
10+
## 🔍 What It Does
11+
12+
- **Hierarchical variables**: Support for nested conditional variables (e.g., a rotor configuration branch that only activates when `use_rotor = yes`).
13+
- **Mixed types**: Handles continuous, integer, categorical, meta and indicator variables uniformly.
14+
- **Conditional activation**: Meta-variables powerfully control lower-level variable activation based on context.
15+
- **Graph-based design space representation**: Clean and intuitive implementation of complex, branching designs.
16+
- **Extensible subtress**: Easily add new types or layers of conditional logic.
17+
18+
---
19+
20+
## 📖 Why It Matters
21+
22+
In many engineering and simulation contexts, the design parameters form a structured, dependent hierarchy—optimizing them without a formal framework can lead to errors or inefficient models. This extension provides:
23+
24+
- A **formal representation** of hierarchical dependencies.
25+
- Seamless integration with surrogate modeling tools and optimization routines.
26+
- A foundation for improved experimental design and architectural exploration.
27+
28+
---
29+
30+
## 🔗 Reference
31+
32+
This implementation is based on:
33+
34+
> **Hierarchical Modeling and Architecture Optimization: Review and Unified Framework**
35+
> P. Saves, E. Hallé‑Hannan, J. Bussemaker, Y. Diouane, N. Bartoli (June 2025). arXiv:2506.22621 ([arXiv](https://arxiv.org/abs/2506.22621))
36+
37+
The paper provides a comprehensive survey and introduces a unified graph-based model that serves as the theoretical foundation for this extension.
38+
39+
---
40+
41+
## 📦 Installation
42+
43+
```bash
44+
pip install smt-design-space-ext
45+
```
46+
47+
---
48+
49+
## 🚀 Quick Start Example
50+
51+
```python
52+
from smt_design_space import DesignSpace
53+
54+
ds = DesignSpace()
55+
# Meta-variable to enable feature branching
56+
ds.add_categorical("enable_feature", ["yes", "no"])
57+
# Feature type only active if enabled
58+
ds.add_meta("feature_type",
59+
parent="enable_feature",
60+
active_if="yes",
61+
values=["typeA", "typeB"])
62+
# Parameter only active in typeA branch
63+
ds.add_numeric("featureA_param",
64+
parent="feature_type",
65+
active_if="typeA",
66+
bounds=(0.0, 1.0))
67+
```
68+
69+
This dynamically builds a tree-like structure of variables, enabling clear and constrained space exploration.
70+
71+
---
72+
73+
## 🧩 Integration
74+
75+
- Integrates readily with SMT’s Kriging and PyKriging modules.
76+
- Compatible with Bayesian, evolutionary, or gradient‑based optimizers.
77+
- Prepare space definitions for use with graph neural networks or surrogate modeling pipelines.
78+
79+
---
80+
81+
## 📚 Additional Resources
82+
83+
- The **SMT repository** contains tutorials and example notebooks to demonstrate usage.
84+
- Issue tracker and usage discussions can be found under `SMTorg/smt-design-space-ext`.
85+
- Author metadata and license summary confirm this is BSD‑licensed.
86+
87+
---
88+
89+
## ✅ Citation
90+
91+
If you use this package in research, please cite:
92+
93+
```
94+
P. Saves, E. Hallé‑Hannan, J. Bussemaker, Y. Diouane, N. Bartoli,
95+
“Hierarchical Modeling and Architecture Optimization: Review and Unified Framework,”
96+
arXiv:2506.22621, June 2025.
97+
```
98+
99+
---
100+
101+
## 📜 License
102+
103+
Distributed under the **BSD-3-Clause** license. See [LICENSE](LICENSE) for details.

0 commit comments

Comments
 (0)