Design Advisor¶
The Design Advisor is a useful tool that recommends appropriate experimental designs based on your factor types, experimental phase, budget constraints, and modeling goals. It analyzes your problem structure and suggests an appropriate design family for your specific scenario.
Note
The Design Advisor is a recommendation tool and should be used as a guide. Always review the suggested designs and consider your specific experimental context when making a final decision. It is possible to start a design without using the advisor.
Main Function¶
- doetools.suggest_design(factors, phase='optimization', model_order=None, max_experiments=None, constraints=False, performed_exp=False, print_output=True)[source]¶
Suggest experimental design(s) based on factors, phase, model order, budget, and constraints.
- Parameters:
factors (
dict)phase (
Literal['screening','optimization'])model_order (
Optional[Literal['linear','2FI','quadratic']])max_experiments (
int)constraints (
bool) – Whether the feasible region includes coupled constraints or forbidden factor combinations that make it non-rectangular. This flag does not accept constraint expressions.performed_exp (
bool)print_output (
bool) – Whether to print formatted recommendations to stdout.
- Return type:
List[DesignRecommendation]
Notes
For screening phase with continuous factors, they should be configured with 2 levels (low/high). For optimization, use 3+ levels.
Parameters Guide¶
phase¶
Choose the experimental phase:
"screening": For identifying important factors among many candidates (typically uses 2-level designs)"optimization": For finding optimal conditions and modeling response surfaces (uses 3+ level designs)
model_order¶
Specify the expected model complexity:
"linear": Main effects only (no interactions or curvature)"2FI": Two-factor interactions (main effects + pairwise interactions)"quadratic": Full quadratic model (main effects + interactions + quadratic terms)
Setting model_order helps the advisor recommend designs with sufficient degrees of freedom and appropriate structure for your modeling goals.
max_experiments¶
The maximum number of experimental runs you can perform. The advisor will:
Recommend designs that fit within this budget
Suggest alternatives if no suitable design exists
Indicate when the budget is insufficient and provide guidance
constraints¶
Set to True if your feasible region has:
Coupled constraints (e.g., var1 / var2 < some limit)
Forbidden combinations of factor levels
When True, the advisor typically recommends D-Optimal designs that can work within complex constraint regions.
performed_exp¶
Set to True if you have already performed some experiments and want to:
Augment existing data with new runs
Improve model precision sequentially
The advisor will recommend D-Optimal augmentation strategies instead of starting fresh designs.
Decision Logic¶
The Design Advisor follows a structured decision tree to provide recommendations. The diagrams below show the complete decision logic.
Screening with Process Factors¶
Screening with Mixture Factors¶
Optimization with Process Factors¶
Optimization with Mixture Factors¶
Usage Examples¶
Note
The examples below are self-contained summaries of common use cases. See Examples for complete design notebooks.
Example: Screening Process Factors¶
Screen 5 continuous factors with a limited budget:
from doetools import ContinuousFactor as ContF, suggest_design
factors = {
'Temperature': ContF(n_levels=2, lower_bound=20, upper_bound=80),
'Pressure': ContF(n_levels=2, lower_bound=1, upper_bound=5),
'pH': ContF(n_levels=2, lower_bound=3, upper_bound=9),
'Catalyst': ContF(n_levels=2, lower_bound=0.1, upper_bound=1.0),
'Time': ContF(n_levels=2, lower_bound=10, upper_bound=60)
}
recommendations = suggest_design(
factors=factors,
phase='screening',
model_order='linear',
max_experiments=12,
constraints=False,
performed_exp=False
)
Output: Recommends Plackett-Burman Design (8 runs) for efficient main-effects screening.
See Also¶
Process Designs - Process design documentation
Mixture Designs - Mixture design documentation
Optimal Designs - D-Optimal design documentation