Summary
This experiment investigates concert hall acoustic design. Plackett-Burman screening of ceiling height, width-to-length ratio, absorption coefficient, diffusion index, stage riser height, and balcony depth for clarity and warmth.
The design varies 5 factors: ceiling m (m), ranging from 8 to 18, width ratio (ratio), ranging from 0.5 to 0.9, absorption nrc (NRC), ranging from 0.3 to 0.7, diffusion idx (index), ranging from 0.2 to 0.8, and stage riser m (m), ranging from 0.3 to 1.2. The goal is to optimize 2 responses: clarity c80 (dB) (maximize) and warmth index (ratio) (maximize). Fixed conditions held constant across all runs include seats = 800, floor material = hardwood.
A Plackett-Burman screening design was used to efficiently test 5 factors in only 8 runs. This design assumes interactions are negligible and focuses on identifying the most influential main effects.
Key Findings
For clarity c80, the most influential factors were diffusion idx (65.1%), width ratio (20.5%), absorption nrc (10.8%). The best observed value was 4.5 (at ceiling m = 8, width ratio = 0.5, absorption nrc = 0.7).
For warmth index, the most influential factors were absorption nrc (42.5%), diffusion idx (31.2%), stage riser m (18.6%). The best observed value was 1.62 (at ceiling m = 8, width ratio = 0.9, absorption nrc = 0.3).
Recommended Next Steps
- Follow up with a response surface design (CCD or Box-Behnken) on the top 3–4 factors to model curvature and find the true optimum.
- Consider whether any fixed factors should be varied in a future study.
- The screening results can guide factor reduction — drop factors contributing less than 5% and re-run with a smaller, more focused design.
Experimental Setup
Factors
| Factor | Low | High | Unit |
ceiling_m | 8 | 18 | m |
width_ratio | 0.5 | 0.9 | ratio |
absorption_nrc | 0.3 | 0.7 | NRC |
diffusion_idx | 0.2 | 0.8 | index |
stage_riser_m | 0.3 | 1.2 | m |
Fixed: seats = 800, floor_material = hardwood
Responses
| Response | Direction | Unit |
clarity_c80 | ↑ maximize | dB |
warmth_index | ↑ maximize | ratio |
Configuration
{
"metadata": {
"name": "Concert Hall Acoustic Design",
"description": "Plackett-Burman screening of ceiling height, width-to-length ratio, absorption coefficient, diffusion index, stage riser height, and balcony depth for clarity and warmth"
},
"factors": [
{
"name": "ceiling_m",
"levels": [
"8",
"18"
],
"type": "continuous",
"unit": "m"
},
{
"name": "width_ratio",
"levels": [
"0.5",
"0.9"
],
"type": "continuous",
"unit": "ratio"
},
{
"name": "absorption_nrc",
"levels": [
"0.3",
"0.7"
],
"type": "continuous",
"unit": "NRC"
},
{
"name": "diffusion_idx",
"levels": [
"0.2",
"0.8"
],
"type": "continuous",
"unit": "index"
},
{
"name": "stage_riser_m",
"levels": [
"0.3",
"1.2"
],
"type": "continuous",
"unit": "m"
}
],
"fixed_factors": {
"seats": "800",
"floor_material": "hardwood"
},
"responses": [
{
"name": "clarity_c80",
"optimize": "maximize",
"unit": "dB"
},
{
"name": "warmth_index",
"optimize": "maximize",
"unit": "ratio"
}
],
"settings": {
"operation": "plackett_burman",
"test_script": "use_cases/165_concert_hall_design/sim.sh"
}
}
Experimental Matrix
The Plackett-Burman Design produces 8 runs. Each row is one experiment with specific factor settings.
| Run | ceiling_m | width_ratio | absorption_nrc | diffusion_idx | stage_riser_m |
| 1 | 18 | 0.9 | 0.7 | 0.2 | 0.3 |
| 2 | 8 | 0.5 | 0.7 | 0.8 | 0.3 |
| 3 | 8 | 0.9 | 0.3 | 0.8 | 0.3 |
| 4 | 18 | 0.9 | 0.7 | 0.8 | 1.2 |
| 5 | 8 | 0.9 | 0.3 | 0.2 | 1.2 |
| 6 | 18 | 0.5 | 0.3 | 0.8 | 1.2 |
| 7 | 8 | 0.5 | 0.7 | 0.2 | 1.2 |
| 8 | 18 | 0.5 | 0.3 | 0.2 | 0.3 |
Step-by-Step Workflow
1
Preview the design
$ doe info --config use_cases/165_concert_hall_design/config.json
2
Generate the runner script
$ doe generate --config use_cases/165_concert_hall_design/config.json \
--output use_cases/165_concert_hall_design/results/run.sh --seed 42
3
Execute the experiments
$ bash use_cases/165_concert_hall_design/results/run.sh
4
Analyze results
$ doe analyze --config use_cases/165_concert_hall_design/config.json
5
Get optimization recommendations
$ doe optimize --config use_cases/165_concert_hall_design/config.json
6
Multi-objective optimization
With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.
$ doe optimize --config use_cases/165_concert_hall_design/config.json --multi
7
Generate the HTML report
$ doe report --config use_cases/165_concert_hall_design/config.json \
--output use_cases/165_concert_hall_design/results/report.html
Features Exercised
| Feature | Value |
| Design type | plackett_burman |
| Factor types | continuous (all 5) |
| Arg style | double-dash |
| Responses | 2 (clarity_c80 ↑, warmth_index ↑) |
| Total runs | 8 |
Analysis Results
Generated from actual experiment runs using the DOE Helper Tool.
Response: clarity_c80
Top factors: diffusion_idx (65.1%), width_ratio (20.5%), absorption_nrc (10.8%).
ANOVA
| Source | DF | SS | MS | F | p-value |
| Source | DF | SS | MS | F | p-value |
| ceiling_m | 1 | 0.0050 | 0.0050 | 0.008 | 0.9312 |
| width_ratio | 1 | 1.4450 | 1.4450 | 2.379 | 0.1836 |
| absorption_nrc | 1 | 0.4050 | 0.4050 | 0.667 | 0.4513 |
| diffusion_idx | 1 | 14.5800 | 14.5800 | 24.000 | 0.0045 |
| stage_riser_m | 1 | 0.0200 | 0.0200 | 0.033 | 0.8631 |
| ceiling_m*width_ratio | 1 | 0.4050 | 0.4050 | 0.667 | 0.4513 |
| ceiling_m*absorption_nrc | 1 | 1.4450 | 1.4450 | 2.379 | 0.1836 |
| ceiling_m*diffusion_idx | 1 | 0.0200 | 0.0200 | 0.033 | 0.8631 |
| ceiling_m*stage_riser_m | 1 | 14.5800 | 14.5800 | 24.000 | 0.0045 |
| width_ratio*absorption_nrc | 1 | 0.0050 | 0.0050 | 0.008 | 0.9312 |
| width_ratio*diffusion_idx | 1 | 2.0000 | 2.0000 | 3.292 | 0.1293 |
| width_ratio*stage_riser_m | 1 | 32.0000 | 32.0000 | 52.675 | 0.0008 |
| absorption_nrc*diffusion_idx | 1 | 32.0000 | 32.0000 | 52.675 | 0.0008 |
| absorption_nrc*stage_riser_m | 1 | 2.0000 | 2.0000 | 3.292 | 0.1293 |
| diffusion_idx*stage_riser_m | 1 | 0.0050 | 0.0050 | 0.008 | 0.9312 |
| Error | (Lenth | PSE) | 5 | 3.0375 | 0.6075 |
| Total | 7 | 50.4550 | 7.2079 | | |
Pareto Chart
Main Effects Plot
Normal Probability Plot of Effects
Half-Normal Plot of Effects
Model Diagnostics
Response: warmth_index
Top factors: absorption_nrc (42.5%), diffusion_idx (31.2%), stage_riser_m (18.6%).
ANOVA
| Source | DF | SS | MS | F | p-value |
| Source | DF | SS | MS | F | p-value |
| ceiling_m | 1 | 0.0021 | 0.0021 | 0.061 | 0.8148 |
| width_ratio | 1 | 0.0010 | 0.0010 | 0.029 | 0.8710 |
| absorption_nrc | 1 | 0.1830 | 0.1830 | 5.279 | 0.0700 |
| diffusion_idx | 1 | 0.0990 | 0.0990 | 2.856 | 0.1518 |
| stage_riser_m | 1 | 0.0351 | 0.0351 | 1.013 | 0.3604 |
| ceiling_m*width_ratio | 1 | 0.1830 | 0.1830 | 5.279 | 0.0700 |
| ceiling_m*absorption_nrc | 1 | 0.0010 | 0.0010 | 0.029 | 0.8710 |
| ceiling_m*diffusion_idx | 1 | 0.0351 | 0.0351 | 1.013 | 0.3604 |
| ceiling_m*stage_riser_m | 1 | 0.0990 | 0.0990 | 2.856 | 0.1518 |
| width_ratio*absorption_nrc | 1 | 0.0021 | 0.0021 | 0.061 | 0.8148 |
| width_ratio*diffusion_idx | 1 | 0.0231 | 0.0231 | 0.667 | 0.4513 |
| width_ratio*stage_riser_m | 1 | 0.1891 | 0.1891 | 5.455 | 0.0667 |
| absorption_nrc*diffusion_idx | 1 | 0.1891 | 0.1891 | 5.455 | 0.0667 |
| absorption_nrc*stage_riser_m | 1 | 0.0231 | 0.0231 | 0.667 | 0.4513 |
| diffusion_idx*stage_riser_m | 1 | 0.0021 | 0.0021 | 0.061 | 0.8148 |
| Error | (Lenth | PSE) | 5 | 0.1733 | 0.0347 |
| Total | 7 | 0.5325 | 0.0761 | | |
Pareto Chart
Main Effects Plot
Normal Probability Plot of Effects
Half-Normal Plot of Effects
Model Diagnostics
Response Surface Plots
3D surfaces fitted with quadratic RSM. Red dots are observed data points.
clarity c80 absorption nrc vs diffusion idx
clarity c80 absorption nrc vs stage riser m
clarity c80 ceiling m vs absorption nrc
clarity c80 ceiling m vs diffusion idx
clarity c80 ceiling m vs stage riser m
clarity c80 ceiling m vs width ratio
clarity c80 diffusion idx vs stage riser m
clarity c80 width ratio vs absorption nrc
clarity c80 width ratio vs diffusion idx
clarity c80 width ratio vs stage riser m
warmth index absorption nrc vs diffusion idx
warmth index absorption nrc vs stage riser m
warmth index ceiling m vs absorption nrc
warmth index ceiling m vs diffusion idx
warmth index ceiling m vs stage riser m
warmth index ceiling m vs width ratio
warmth index diffusion idx vs stage riser m
warmth index width ratio vs absorption nrc
warmth index width ratio vs diffusion idx
warmth index width ratio vs stage riser m
Multi-Objective Optimization
When responses compete, Derringer–Suich desirability finds the best compromise.
Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.
Overall Desirability
D = 0.6437
Per-Response Desirability
| Response | Weight | Desirability | Predicted | Dir |
clarity_c80 |
1.5 |
|
3.46 0.8304 3.46 dB |
↑ |
warmth_index |
1.0 |
|
1.18 0.4394 1.18 ratio |
↑ |
Recommended Settings
| Factor | Value |
ceiling_m | 8.427 m |
width_ratio | 0.5725 ratio |
absorption_nrc | 0.6699 NRC |
diffusion_idx | 0.7185 index |
stage_riser_m | 0.387 m |
Source: from RSM model prediction
Trade-off Summary
Sacrifice = how much worse than single-objective best.
| Response | Predicted | Best Observed | Sacrifice |
warmth_index | 1.18 | 1.62 | +0.44 |
Top 3 Runs by Desirability
| Run | D | Factor Settings |
| #6 | 0.4382 | ceiling_m=8, width_ratio=0.9, absorption_nrc=0.3, diffusion_idx=0.8, stage_riser_m=0.3 |
| #5 | 0.3820 | ceiling_m=18, width_ratio=0.9, absorption_nrc=0.7, diffusion_idx=0.8, stage_riser_m=1.2 |
Model Quality
| Response | R² | Type |
warmth_index | 0.8122 | linear |
Full Multi-Objective Output
============================================================
MULTI-OBJECTIVE OPTIMIZATION
Method: Derringer-Suich Desirability Function
============================================================
Overall desirability: D = 0.6437
Response Weight Desirability Predicted Direction
---------------------------------------------------------------------
clarity_c80 1.5 0.8304 3.46 dB ↑
warmth_index 1.0 0.4394 1.18 ratio ↑
Recommended settings:
ceiling_m = 8.427 m
width_ratio = 0.5725 ratio
absorption_nrc = 0.6699 NRC
diffusion_idx = 0.7185 index
stage_riser_m = 0.387 m
(from RSM model prediction)
Trade-off summary:
clarity_c80: 3.46 (best observed: 4.50, sacrifice: +1.04)
warmth_index: 1.18 (best observed: 1.62, sacrifice: +0.44)
Model quality:
clarity_c80: R² = 0.7881 (linear)
warmth_index: R² = 0.8122 (linear)
Top 3 observed runs by overall desirability:
1. Run #4 (D=0.6321): ceiling_m=8, width_ratio=0.5, absorption_nrc=0.7, diffusion_idx=0.8, stage_riser_m=0.3
2. Run #6 (D=0.4382): ceiling_m=8, width_ratio=0.9, absorption_nrc=0.3, diffusion_idx=0.8, stage_riser_m=0.3
3. Run #5 (D=0.3820): ceiling_m=18, width_ratio=0.9, absorption_nrc=0.7, diffusion_idx=0.8, stage_riser_m=1.2
Full Analysis Output
=== Main Effects: clarity_c80 ===
Factor Effect Std Error % Contribution
--------------------------------------------------------------
diffusion_idx -2.7000 0.9492 65.1%
width_ratio -0.8500 0.9492 20.5%
absorption_nrc 0.4500 0.9492 10.8%
stage_riser_m -0.1000 0.9492 2.4%
ceiling_m -0.0500 0.9492 1.2%
=== ANOVA Table: clarity_c80 ===
Source DF SS MS F p-value
-----------------------------------------------------------------------------
ceiling_m 1 0.0050 0.0050 0.008 0.9312
width_ratio 1 1.4450 1.4450 2.379 0.1836
absorption_nrc 1 0.4050 0.4050 0.667 0.4513
diffusion_idx 1 14.5800 14.5800 24.000 0.0045
stage_riser_m 1 0.0200 0.0200 0.033 0.8631
ceiling_m*width_ratio 1 0.4050 0.4050 0.667 0.4513
ceiling_m*absorption_nrc 1 1.4450 1.4450 2.379 0.1836
ceiling_m*diffusion_idx 1 0.0200 0.0200 0.033 0.8631
ceiling_m*stage_riser_m 1 14.5800 14.5800 24.000 0.0045
width_ratio*absorption_nrc 1 0.0050 0.0050 0.008 0.9312
width_ratio*diffusion_idx 1 2.0000 2.0000 3.292 0.1293
width_ratio*stage_riser_m 1 32.0000 32.0000 52.675 0.0008
absorption_nrc*diffusion_idx 1 32.0000 32.0000 52.675 0.0008
absorption_nrc*stage_riser_m 1 2.0000 2.0000 3.292 0.1293
diffusion_idx*stage_riser_m 1 0.0050 0.0050 0.008 0.9312
Error (Lenth PSE) 5 3.0375 0.6075
Total 7 50.4550 7.2079
Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design)
=== Interaction Effects: clarity_c80 ===
Factor A Factor B Interaction % Contribution
------------------------------------------------------------------------
width_ratio stage_riser_m 4.0000 28.2%
absorption_nrc diffusion_idx 4.0000 28.2%
ceiling_m stage_riser_m 2.7000 19.0%
width_ratio diffusion_idx -1.0000 7.0%
absorption_nrc stage_riser_m -1.0000 7.0%
ceiling_m absorption_nrc 0.8500 6.0%
ceiling_m width_ratio -0.4500 3.2%
ceiling_m diffusion_idx 0.1000 0.7%
width_ratio absorption_nrc 0.0500 0.4%
diffusion_idx stage_riser_m 0.0500 0.4%
=== Summary Statistics: clarity_c80 ===
ceiling_m:
Level N Mean Std Min Max
------------------------------------------------------------
18 4 1.4000 2.3805 -1.3000 4.5000
8 4 1.3500 3.3392 -3.1000 4.5000
width_ratio:
Level N Mean Std Min Max
------------------------------------------------------------
0.5 4 1.8000 2.5729 -1.3000 4.5000
0.9 4 0.9500 3.1172 -3.1000 4.5000
absorption_nrc:
Level N Mean Std Min Max
------------------------------------------------------------
0.3 4 1.1500 3.9374 -3.1000 4.5000
0.7 4 1.6000 1.0863 0.8000 3.2000
diffusion_idx:
Level N Mean Std Min Max
------------------------------------------------------------
0.2 4 2.7250 2.0532 0.8000 4.5000
0.8 4 0.0250 2.7825 -3.1000 3.2000
stage_riser_m:
Level N Mean Std Min Max
------------------------------------------------------------
0.3 4 1.4250 3.3260 -3.1000 4.5000
1.2 4 1.3250 2.3977 -1.3000 4.5000
=== Main Effects: warmth_index ===
Factor Effect Std Error % Contribution
--------------------------------------------------------------
absorption_nrc -0.3025 0.0975 42.5%
diffusion_idx 0.2225 0.0975 31.2%
stage_riser_m 0.1325 0.0975 18.6%
ceiling_m 0.0325 0.0975 4.6%
width_ratio -0.0225 0.0975 3.2%
=== ANOVA Table: warmth_index ===
Source DF SS MS F p-value
-----------------------------------------------------------------------------
ceiling_m 1 0.0021 0.0021 0.061 0.8148
width_ratio 1 0.0010 0.0010 0.029 0.8710
absorption_nrc 1 0.1830 0.1830 5.279 0.0700
diffusion_idx 1 0.0990 0.0990 2.856 0.1518
stage_riser_m 1 0.0351 0.0351 1.013 0.3604
ceiling_m*width_ratio 1 0.1830 0.1830 5.279 0.0700
ceiling_m*absorption_nrc 1 0.0010 0.0010 0.029 0.8710
ceiling_m*diffusion_idx 1 0.0351 0.0351 1.013 0.3604
ceiling_m*stage_riser_m 1 0.0990 0.0990 2.856 0.1518
width_ratio*absorption_nrc 1 0.0021 0.0021 0.061 0.8148
width_ratio*diffusion_idx 1 0.0231 0.0231 0.667 0.4513
width_ratio*stage_riser_m 1 0.1891 0.1891 5.455 0.0667
absorption_nrc*diffusion_idx 1 0.1891 0.1891 5.455 0.0667
absorption_nrc*stage_riser_m 1 0.0231 0.0231 0.667 0.4513
diffusion_idx*stage_riser_m 1 0.0021 0.0021 0.061 0.8148
Error (Lenth PSE) 5 0.1733 0.0347
Total 7 0.5325 0.0761
Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design)
=== Interaction Effects: warmth_index ===
Factor A Factor B Interaction % Contribution
------------------------------------------------------------------------
width_ratio stage_riser_m -0.3075 19.5%
absorption_nrc diffusion_idx -0.3075 19.5%
ceiling_m width_ratio 0.3025 19.2%
ceiling_m stage_riser_m -0.2225 14.1%
ceiling_m diffusion_idx -0.1325 8.4%
width_ratio diffusion_idx -0.1075 6.8%
absorption_nrc stage_riser_m -0.1075 6.8%
width_ratio absorption_nrc -0.0325 2.1%
diffusion_idx stage_riser_m -0.0325 2.1%
ceiling_m absorption_nrc 0.0225 1.4%
=== Summary Statistics: warmth_index ===
ceiling_m:
Level N Mean Std Min Max
------------------------------------------------------------
18 4 1.0725 0.3669 0.8500 1.6200
8 4 1.1050 0.2053 0.9100 1.3900
width_ratio:
Level N Mean Std Min Max
------------------------------------------------------------
0.5 4 1.1000 0.3537 0.8500 1.6200
0.9 4 1.0775 0.2281 0.8800 1.3900
absorption_nrc:
Level N Mean Std Min Max
------------------------------------------------------------
0.3 4 1.2400 0.3360 0.8500 1.6200
0.7 4 0.9375 0.0602 0.8800 1.0200
diffusion_idx:
Level N Mean Std Min Max
------------------------------------------------------------
0.2 4 0.9775 0.1072 0.8500 1.1000
0.8 4 1.2000 0.3647 0.8800 1.6200
stage_riser_m:
Level N Mean Std Min Max
------------------------------------------------------------
0.3 4 1.0225 0.2478 0.8500 1.3900
1.2 4 1.1550 0.3231 0.8800 1.6200
Optimization Recommendations
=== Optimization: clarity_c80 ===
Direction: maximize
Best observed run: #2
ceiling_m = 8
width_ratio = 0.5
absorption_nrc = 0.7
diffusion_idx = 0.8
stage_riser_m = 0.3
Value: 4.5
RSM Model (linear, R² = 0.8712, Adj R² = 0.5491):
Coefficients:
intercept +1.3750
ceiling_m +1.0250
width_ratio +0.5500
absorption_nrc +0.9000
diffusion_idx +1.0750
stage_riser_m -1.4750
Predicted optimum (from linear model, at observed points):
ceiling_m = 18
width_ratio = 0.9
absorption_nrc = 0.7
diffusion_idx = 0.2
stage_riser_m = 0.3
Predicted value: 4.2500
Surface optimum (via L-BFGS-B, linear model):
ceiling_m = 18
width_ratio = 0.9
absorption_nrc = 0.7
diffusion_idx = 0.8
stage_riser_m = 0.3
Predicted value: 6.4000
Model quality: Good fit — general trends are captured, some noise remains.
Factor importance:
1. stage_riser_m (effect: -3.0, contribution: 29.4%)
2. diffusion_idx (effect: 2.2, contribution: 21.4%)
3. ceiling_m (effect: -2.0, contribution: 20.4%)
4. absorption_nrc (effect: 1.8, contribution: 17.9%)
5. width_ratio (effect: 1.1, contribution: 10.9%)
=== Optimization: warmth_index ===
Direction: maximize
Best observed run: #6
ceiling_m = 8
width_ratio = 0.9
absorption_nrc = 0.3
diffusion_idx = 0.2
stage_riser_m = 1.2
Value: 1.62
RSM Model (linear, R² = 0.9470, Adj R² = 0.8145):
Coefficients:
intercept +1.0887
ceiling_m -0.0962
width_ratio +0.0387
absorption_nrc -0.0262
diffusion_idx -0.1738
stage_riser_m +0.1463
Predicted optimum (from linear model, at observed points):
ceiling_m = 8
width_ratio = 0.9
absorption_nrc = 0.3
diffusion_idx = 0.2
stage_riser_m = 1.2
Predicted value: 1.5700
Surface optimum (via L-BFGS-B, linear model):
ceiling_m = 8
width_ratio = 0.9
absorption_nrc = 0.3
diffusion_idx = 0.2
stage_riser_m = 1.2
Predicted value: 1.5700
Model quality: Excellent fit — surface predictions are reliable.
Factor importance:
1. diffusion_idx (effect: -0.3, contribution: 36.1%)
2. stage_riser_m (effect: 0.3, contribution: 30.4%)
3. ceiling_m (effect: 0.2, contribution: 20.0%)
4. width_ratio (effect: 0.1, contribution: 8.1%)
5. absorption_nrc (effect: -0.1, contribution: 5.5%)