← All Use Cases
🌊
Plackett-Burman Design

Beach Nourishment Longevity

Plackett-Burman screening of sand grain size, berm width, dune height, groin spacing, and nourishment volume for retention and storm resilience

Summary

This experiment investigates beach nourishment longevity. Plackett-Burman screening of sand grain size, berm width, dune height, groin spacing, and nourishment volume for retention and storm resilience.

The design varies 5 factors: grain mm (mm), ranging from 0.3 to 1.0, berm width m (m), ranging from 20 to 60, dune height m (m), ranging from 2 to 5, groin spacing m (m), ranging from 100 to 400, and volume m3 m (m3/m), ranging from 30 to 100. The goal is to optimize 2 responses: retention yrs (yrs) (maximize) and storm resilience (pts) (maximize). Fixed conditions held constant across all runs include wave climate = moderate, longshore drift = southward.

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 retention yrs, the most influential factors were dune height m (49.8%), groin spacing m (14.8%), grain mm (14.8%). The best observed value was 10.3 (at grain mm = 1.0, berm width m = 60, dune height m = 5).

For storm resilience, the most influential factors were dune height m (60.5%), volume m3 m (26.6%), groin spacing m (8.5%). The best observed value was 8.8 (at grain mm = 1.0, berm width m = 60, dune height m = 5).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
grain_mm0.31.0mm
berm_width_m2060m
dune_height_m25m
groin_spacing_m100400m
volume_m3_m30100m3/m

Fixed: wave_climate = moderate, longshore_drift = southward

Responses

ResponseDirectionUnit
retention_yrs↑ maximizeyrs
storm_resilience↑ maximizepts

Configuration

use_cases/258_beach_nourishment/config.json
{ "metadata": { "name": "Beach Nourishment Longevity", "description": "Plackett-Burman screening of sand grain size, berm width, dune height, groin spacing, and nourishment volume for retention and storm resilience" }, "factors": [ { "name": "grain_mm", "levels": [ "0.3", "1.0" ], "type": "continuous", "unit": "mm" }, { "name": "berm_width_m", "levels": [ "20", "60" ], "type": "continuous", "unit": "m" }, { "name": "dune_height_m", "levels": [ "2", "5" ], "type": "continuous", "unit": "m" }, { "name": "groin_spacing_m", "levels": [ "100", "400" ], "type": "continuous", "unit": "m" }, { "name": "volume_m3_m", "levels": [ "30", "100" ], "type": "continuous", "unit": "m3/m" } ], "fixed_factors": { "wave_climate": "moderate", "longshore_drift": "southward" }, "responses": [ { "name": "retention_yrs", "optimize": "maximize", "unit": "yrs" }, { "name": "storm_resilience", "optimize": "maximize", "unit": "pts" } ], "settings": { "operation": "plackett_burman", "test_script": "use_cases/258_beach_nourishment/sim.sh" } }

Experimental Matrix

The Plackett-Burman Design produces 8 runs. Each row is one experiment with specific factor settings.

Rungrain_mmberm_width_mdune_height_mgroin_spacing_mvolume_m3_m
11.060510030
20.320540030
30.360240030
41.0605400100
50.3602100100
61.0202400100
70.3205100100
81.020210030

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/258_beach_nourishment/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/258_beach_nourishment/config.json \ --output use_cases/258_beach_nourishment/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/258_beach_nourishment/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/258_beach_nourishment/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/258_beach_nourishment/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/258_beach_nourishment/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/258_beach_nourishment/config.json \ --output use_cases/258_beach_nourishment/results/report.html

Features Exercised

FeatureValue
Design typeplackett_burman
Factor typescontinuous (all 5)
Arg styledouble-dash
Responses2 (retention_yrs ↑, storm_resilience ↑)
Total runs8

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: retention_yrs

Top factors: dune_height_m (49.8%), groin_spacing_m (14.8%), grain_mm (14.8%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
grain_mm14.80504.80500.6670.4513
berm_width_m10.72000.72000.1000.7647
dune_height_m154.080054.08007.5030.0408
groin_spacing_m14.80504.80500.6670.4513
volume_m3_m14.80504.80500.6670.4513
grain_mm*berm_width_m154.080054.08007.5030.0408
grain_mm*dune_height_m10.72000.72000.1000.7647
grain_mm*groin_spacing_m14.80504.80500.6670.4513
grain_mm*volume_m3_m14.80504.80500.6670.4513
berm_width_m*dune_height_m14.80504.80500.6670.4513
berm_width_m*groin_spacing_m10.18000.18000.0250.8806
berm_width_m*volume_m3_m10.08000.08000.0110.9202
dune_height_m*groin_spacing_m10.08000.08000.0110.9202
dune_height_m*volume_m3_m10.18000.18000.0250.8806
groin_spacing_m*volume_m3_m14.80504.80500.6670.4513
Error(LenthPSE)536.03757.2075
Total769.47509.9250

Pareto Chart

Pareto chart for retention_yrs

Main Effects Plot

Main effects plot for retention_yrs

Normal Probability Plot of Effects

Normal probability plot for retention_yrs

Half-Normal Plot of Effects

Half-normal plot for retention_yrs

Model Diagnostics

Model diagnostics for retention_yrs

Response: storm_resilience

Top factors: dune_height_m (60.5%), volume_m3_m (26.6%), groin_spacing_m (8.5%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
grain_mm10.03120.03120.0740.7964
berm_width_m10.01130.01130.0270.8767
dune_height_m114.311214.311233.9230.0021
groin_spacing_m10.28120.28120.6670.4513
volume_m3_m12.76122.76126.5450.0507
grain_mm*berm_width_m114.311314.311333.9230.0021
grain_mm*dune_height_m10.01130.01130.0270.8767
grain_mm*groin_spacing_m12.76122.76126.5450.0507
grain_mm*volume_m3_m10.28120.28120.6670.4513
berm_width_m*dune_height_m10.03130.03130.0740.7964
berm_width_m*groin_spacing_m11.53131.53133.6300.1151
berm_width_m*volume_m3_m10.66130.66131.5670.2660
dune_height_m*groin_spacing_m10.66130.66131.5670.2660
dune_height_m*volume_m3_m11.53131.53133.6300.1151
groin_spacing_m*volume_m3_m10.03120.03120.0740.7964
Error(LenthPSE)52.10940.4219
Total719.58882.7984

Pareto Chart

Pareto chart for storm_resilience

Main Effects Plot

Main effects plot for storm_resilience

Normal Probability Plot of Effects

Normal probability plot for storm_resilience

Half-Normal Plot of Effects

Half-normal plot for storm_resilience

Model Diagnostics

Model diagnostics for storm_resilience

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

retention yrs berm width m vs dune height m

RSM surface: retention yrs berm width m vs dune height m

retention yrs berm width m vs groin spacing m

RSM surface: retention yrs berm width m vs groin spacing m

retention yrs berm width m vs volume m3 m

RSM surface: retention yrs berm width m vs volume m3 m

retention yrs dune height m vs groin spacing m

RSM surface: retention yrs dune height m vs groin spacing m

retention yrs dune height m vs volume m3 m

RSM surface: retention yrs dune height m vs volume m3 m

retention yrs grain mm vs berm width m

RSM surface: retention yrs grain mm vs berm width m

retention yrs grain mm vs dune height m

RSM surface: retention yrs grain mm vs dune height m

retention yrs grain mm vs groin spacing m

RSM surface: retention yrs grain mm vs groin spacing m

retention yrs grain mm vs volume m3 m

RSM surface: retention yrs grain mm vs volume m3 m

retention yrs groin spacing m vs volume m3 m

RSM surface: retention yrs groin spacing m vs volume m3 m

storm resilience berm width m vs dune height m

RSM surface: storm resilience berm width m vs dune height m

storm resilience berm width m vs groin spacing m

RSM surface: storm resilience berm width m vs groin spacing m

storm resilience berm width m vs volume m3 m

RSM surface: storm resilience berm width m vs volume m3 m

storm resilience dune height m vs groin spacing m

RSM surface: storm resilience dune height m vs groin spacing m

storm resilience dune height m vs volume m3 m

RSM surface: storm resilience dune height m vs volume m3 m

storm resilience grain mm vs berm width m

RSM surface: storm resilience grain mm vs berm width m

storm resilience grain mm vs dune height m

RSM surface: storm resilience grain mm vs dune height m

storm resilience grain mm vs groin spacing m

RSM surface: storm resilience grain mm vs groin spacing m

storm resilience grain mm vs volume m3 m

RSM surface: storm resilience grain mm vs volume m3 m

storm resilience groin spacing m vs volume m3 m

RSM surface: storm resilience groin spacing m vs volume m3 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.9545

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
retention_yrs 1.5
0.9545
10.30 0.9545 10.30 yrs
storm_resilience 1.5
0.9545
8.80 0.9545 8.80 pts

Recommended Settings

FactorValue
grain_mm1.0 mm
berm_width_m60 m
dune_height_m5 m
groin_spacing_m400 m
volume_m3_m100 m3/m

Source: from observed run #4

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
storm_resilience8.808.80+0.00

Top 3 Runs by Desirability

RunDFactor Settings
#10.6755grain_mm=1.0, berm_width_m=60, dune_height_m=5, groin_spacing_m=100, volume_m3_m=30
#70.5388grain_mm=0.3, berm_width_m=20, dune_height_m=5, groin_spacing_m=100, volume_m3_m=100

Model Quality

ResponseType
storm_resilience0.9024linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.9545 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- retention_yrs 1.5 0.9545 10.30 yrs ↑ storm_resilience 1.5 0.9545 8.80 pts ↑ Recommended settings: grain_mm = 1.0 mm berm_width_m = 60 m dune_height_m = 5 m groin_spacing_m = 400 m volume_m3_m = 100 m3/m (from observed run #4) Trade-off summary: retention_yrs: 10.30 (best observed: 10.30, sacrifice: +0.00) storm_resilience: 8.80 (best observed: 8.80, sacrifice: +0.00) Model quality: retention_yrs: R² = 0.7567 (linear) storm_resilience: R² = 0.9024 (linear) Top 3 observed runs by overall desirability: 1. Run #4 (D=0.9545): grain_mm=1.0, berm_width_m=60, dune_height_m=5, groin_spacing_m=400, volume_m3_m=100 2. Run #1 (D=0.6755): grain_mm=1.0, berm_width_m=60, dune_height_m=5, groin_spacing_m=100, volume_m3_m=30 3. Run #7 (D=0.5388): grain_mm=0.3, berm_width_m=20, dune_height_m=5, groin_spacing_m=100, volume_m3_m=100

Full Analysis Output

doe analyze
=== Main Effects: retention_yrs === Factor Effect Std Error % Contribution -------------------------------------------------------------- dune_height_m 5.2000 1.1138 49.8% groin_spacing_m 1.5500 1.1138 14.8% grain_mm -1.5500 1.1138 14.8% volume_m3_m 1.5500 1.1138 14.8% berm_width_m -0.6000 1.1138 5.7% === ANOVA Table: retention_yrs === Source DF SS MS F p-value ----------------------------------------------------------------------------- grain_mm 1 4.8050 4.8050 0.667 0.4513 berm_width_m 1 0.7200 0.7200 0.100 0.7647 dune_height_m 1 54.0800 54.0800 7.503 0.0408 groin_spacing_m 1 4.8050 4.8050 0.667 0.4513 volume_m3_m 1 4.8050 4.8050 0.667 0.4513 grain_mm*berm_width_m 1 54.0800 54.0800 7.503 0.0408 grain_mm*dune_height_m 1 0.7200 0.7200 0.100 0.7647 grain_mm*groin_spacing_m 1 4.8050 4.8050 0.667 0.4513 grain_mm*volume_m3_m 1 4.8050 4.8050 0.667 0.4513 berm_width_m*dune_height_m 1 4.8050 4.8050 0.667 0.4513 berm_width_m*groin_spacing_m 1 0.1800 0.1800 0.025 0.8806 berm_width_m*volume_m3_m 1 0.0800 0.0800 0.011 0.9202 dune_height_m*groin_spacing_m 1 0.0800 0.0800 0.011 0.9202 dune_height_m*volume_m3_m 1 0.1800 0.1800 0.025 0.8806 groin_spacing_m*volume_m3_m 1 4.8050 4.8050 0.667 0.4513 Error (Lenth PSE) 5 36.0375 7.2075 Total 7 69.4750 9.9250 Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design) === Interaction Effects: retention_yrs === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ grain_mm berm_width_m 5.2000 40.0% grain_mm volume_m3_m -1.5500 11.9% grain_mm groin_spacing_m -1.5500 11.9% berm_width_m dune_height_m -1.5500 11.9% groin_spacing_m volume_m3_m 1.5500 11.9% grain_mm dune_height_m -0.6000 4.6% berm_width_m groin_spacing_m -0.3000 2.3% dune_height_m volume_m3_m 0.3000 2.3% berm_width_m volume_m3_m 0.2000 1.5% dune_height_m groin_spacing_m -0.2000 1.5% === Summary Statistics: retention_yrs === grain_mm: Level N Mean Std Min Max ------------------------------------------------------------ 0.3 4 5.8000 3.7974 1.4000 10.3000 1.0 4 4.2500 2.6715 1.7000 6.8000 berm_width_m: Level N Mean Std Min Max ------------------------------------------------------------ 20 4 5.3250 4.1153 1.7000 10.3000 60 4 4.7250 2.4459 1.4000 6.8000 dune_height_m: Level N Mean Std Min Max ------------------------------------------------------------ 2 4 2.4250 1.3574 1.4000 4.4000 5 4 7.6250 1.8136 6.3000 10.3000 groin_spacing_m: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 4.2500 3.1225 1.4000 7.1000 400 4 5.8000 3.4361 2.2000 10.3000 volume_m3_m: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 4.2500 2.8665 1.4000 7.1000 30 4 5.8000 3.6524 1.7000 10.3000 === Main Effects: storm_resilience === Factor Effect Std Error % Contribution -------------------------------------------------------------- dune_height_m 2.6750 0.5914 60.5% volume_m3_m 1.1750 0.5914 26.6% groin_spacing_m 0.3750 0.5914 8.5% grain_mm 0.1250 0.5914 2.8% berm_width_m -0.0750 0.5914 1.7% === ANOVA Table: storm_resilience === Source DF SS MS F p-value ----------------------------------------------------------------------------- grain_mm 1 0.0312 0.0312 0.074 0.7964 berm_width_m 1 0.0113 0.0113 0.027 0.8767 dune_height_m 1 14.3112 14.3112 33.923 0.0021 groin_spacing_m 1 0.2812 0.2812 0.667 0.4513 volume_m3_m 1 2.7612 2.7612 6.545 0.0507 grain_mm*berm_width_m 1 14.3113 14.3113 33.923 0.0021 grain_mm*dune_height_m 1 0.0113 0.0113 0.027 0.8767 grain_mm*groin_spacing_m 1 2.7612 2.7612 6.545 0.0507 grain_mm*volume_m3_m 1 0.2812 0.2812 0.667 0.4513 berm_width_m*dune_height_m 1 0.0313 0.0313 0.074 0.7964 berm_width_m*groin_spacing_m 1 1.5313 1.5313 3.630 0.1151 berm_width_m*volume_m3_m 1 0.6613 0.6613 1.567 0.2660 dune_height_m*groin_spacing_m 1 0.6613 0.6613 1.567 0.2660 dune_height_m*volume_m3_m 1 1.5313 1.5313 3.630 0.1151 groin_spacing_m*volume_m3_m 1 0.0312 0.0312 0.074 0.7964 Error (Lenth PSE) 5 2.1094 0.4219 Total 7 19.5888 2.7984 Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design) === Interaction Effects: storm_resilience === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ grain_mm berm_width_m 2.6750 35.9% grain_mm groin_spacing_m -1.1750 15.8% berm_width_m groin_spacing_m -0.8750 11.7% dune_height_m volume_m3_m 0.8750 11.7% berm_width_m volume_m3_m -0.5750 7.7% dune_height_m groin_spacing_m 0.5750 7.7% grain_mm volume_m3_m -0.3750 5.0% berm_width_m dune_height_m 0.1250 1.7% groin_spacing_m volume_m3_m -0.1250 1.7% grain_mm dune_height_m -0.0750 1.0% === Summary Statistics: storm_resilience === grain_mm: Level N Mean Std Min Max ------------------------------------------------------------ 0.3 4 5.9250 2.0056 4.5000 8.8000 1.0 4 6.0500 1.5801 4.5000 7.9000 berm_width_m: Level N Mean Std Min Max ------------------------------------------------------------ 20 4 6.0250 1.9259 4.5000 8.8000 60 4 5.9500 1.6783 4.5000 7.9000 dune_height_m: Level N Mean Std Min Max ------------------------------------------------------------ 2 4 4.6500 0.2380 4.5000 5.0000 5 4 7.3250 1.3048 5.8000 8.8000 groin_spacing_m: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 5.8000 1.4989 4.5000 7.9000 400 4 6.1750 2.0467 4.5000 8.8000 volume_m3_m: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 5.4000 1.1165 4.5000 6.8000 30 4 6.5750 2.0887 4.6000 8.8000

Optimization Recommendations

doe optimize
=== Optimization: retention_yrs === Direction: maximize Best observed run: #4 grain_mm = 1.0 berm_width_m = 60 dune_height_m = 5 groin_spacing_m = 400 volume_m3_m = 100 Value: 10.3 RSM Model (linear, R² = 0.2538, Adj R² = -1.6118): Coefficients: intercept +5.0250 grain_mm +0.1000 berm_width_m +1.2500 dune_height_m -0.3750 groin_spacing_m +0.7000 volume_m3_m +0.0250 Predicted optimum (from linear model, at observed points): grain_mm = 0.3 berm_width_m = 60 dune_height_m = 2 groin_spacing_m = 400 volume_m3_m = 30 Predicted value: 7.2250 Surface optimum (via L-BFGS-B, linear model): grain_mm = 1 berm_width_m = 60 dune_height_m = 2 groin_spacing_m = 400 volume_m3_m = 100 Predicted value: 7.4750 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. berm_width_m (effect: 2.5, contribution: 51.0%) 2. groin_spacing_m (effect: 1.4, contribution: 28.6%) 3. dune_height_m (effect: -0.7, contribution: 15.3%) 4. grain_mm (effect: 0.2, contribution: 4.1%) 5. volume_m3_m (effect: -0.0, contribution: 1.0%) === Optimization: storm_resilience === Direction: maximize Best observed run: #4 grain_mm = 1.0 berm_width_m = 60 dune_height_m = 5 groin_spacing_m = 400 volume_m3_m = 100 Value: 8.8 RSM Model (linear, R² = 0.6553, Adj R² = -0.2065): Coefficients: intercept +5.9875 grain_mm +0.0375 berm_width_m +1.1375 dune_height_m -0.2625 groin_spacing_m +0.4625 volume_m3_m +0.1625 Predicted optimum (from linear model, at observed points): grain_mm = 0.3 berm_width_m = 60 dune_height_m = 2 groin_spacing_m = 400 volume_m3_m = 30 Predicted value: 7.6500 Surface optimum (via L-BFGS-B, linear model): grain_mm = 1 berm_width_m = 60 dune_height_m = 2 groin_spacing_m = 400 volume_m3_m = 100 Predicted value: 8.0500 Model quality: Moderate fit — use predictions directionally, not precisely. Factor importance: 1. berm_width_m (effect: 2.3, contribution: 55.2%) 2. groin_spacing_m (effect: 0.9, contribution: 22.4%) 3. dune_height_m (effect: -0.5, contribution: 12.7%) 4. volume_m3_m (effect: -0.3, contribution: 7.9%) 5. grain_mm (effect: 0.1, contribution: 1.8%)
← All Use Cases All Use Cases →