← All Use Cases
🌊
Central Composite Design

Mangrove Restoration Planting

Central composite design to maximize seedling survival and growth by tuning planting density, tidal zone position, and sediment amendment

Summary

This experiment investigates mangrove restoration planting. Central composite design to maximize seedling survival and growth by tuning planting density, tidal zone position, and sediment amendment.

The design varies 3 factors: density per m2 (plants/m2), ranging from 1 to 6, tidal zone (zone), ranging from 1 to 3, and amendment kg m2 (kg/m2), ranging from 0 to 3. The goal is to optimize 2 responses: survival 1yr pct (%) (maximize) and height gain cm (cm) (maximize). Fixed conditions held constant across all runs include species = rhizophora, site = estuary.

A Central Composite Design (CCD) was selected to fit a full quadratic response surface model, including curvature and interaction effects. With 3 factors this produces 22 runs including center points and axial (star) points that extend beyond the factorial range.

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For survival 1yr pct, the most influential factors were density per m2 (34.9%), amendment kg m2 (34.9%), tidal zone (30.2%). The best observed value was 81.0 (at density per m2 = 1, tidal zone = 1, amendment kg m2 = 0).

For height gain cm, the most influential factors were tidal zone (51.7%), amendment kg m2 (32.0%), density per m2 (16.3%). The best observed value was 38.0 (at density per m2 = 8.06435, tidal zone = 2, amendment kg m2 = 1.5).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
density_per_m216plants/m2
tidal_zone13zone
amendment_kg_m203kg/m2

Fixed: species = rhizophora, site = estuary

Responses

ResponseDirectionUnit
survival_1yr_pct↑ maximize%
height_gain_cm↑ maximizecm

Configuration

use_cases/256_mangrove_restoration/config.json
{ "metadata": { "name": "Mangrove Restoration Planting", "description": "Central composite design to maximize seedling survival and growth by tuning planting density, tidal zone position, and sediment amendment" }, "factors": [ { "name": "density_per_m2", "levels": [ "1", "6" ], "type": "continuous", "unit": "plants/m2" }, { "name": "tidal_zone", "levels": [ "1", "3" ], "type": "continuous", "unit": "zone" }, { "name": "amendment_kg_m2", "levels": [ "0", "3" ], "type": "continuous", "unit": "kg/m2" } ], "fixed_factors": { "species": "rhizophora", "site": "estuary" }, "responses": [ { "name": "survival_1yr_pct", "optimize": "maximize", "unit": "%" }, { "name": "height_gain_cm", "optimize": "maximize", "unit": "cm" } ], "settings": { "operation": "central_composite", "test_script": "use_cases/256_mangrove_restoration/sim.sh" } }

Experimental Matrix

The Central Composite Design produces 22 runs. Each row is one experiment with specific factor settings.

Rundensity_per_m2tidal_zoneamendment_kg_m2
13.521.5
2613
3130
43.53.825741.5
53.521.5
6-1.0643521.5
73.52-1.23861
83.521.5
9630
108.0643521.5
113.521.5
123.50.1742581.5
133.521.5
14113
153.521.5
16610
173.524.23861
18633
193.521.5
20110
21133
223.521.5

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/256_mangrove_restoration/config.json
2

Generate the runner script

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

Execute the experiments

Terminal
$ bash use_cases/256_mangrove_restoration/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/256_mangrove_restoration/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/256_mangrove_restoration/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/256_mangrove_restoration/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/256_mangrove_restoration/config.json \ --output use_cases/256_mangrove_restoration/results/report.html

Features Exercised

FeatureValue
Design typecentral_composite
Factor typescontinuous (all 3)
Arg styledouble-dash
Responses2 (survival_1yr_pct ↑, height_gain_cm ↑)
Total runs22

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: survival_1yr_pct

Top factors: density_per_m2 (34.9%), amendment_kg_m2 (34.9%), tidal_zone (30.2%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
density_per_m24341.947085.48671.2390.3607
tidal_zone4319.947079.98671.1600.3898
amendment_kg_m24537.3636134.34091.9470.1867
LackofFit2280.2311140.1155
PureError7482.8750
Error9763.106168.9821
Total211962.363693.4459

Pareto Chart

Pareto chart for survival_1yr_pct

Main Effects Plot

Main effects plot for survival_1yr_pct

Normal Probability Plot of Effects

Normal probability plot for survival_1yr_pct

Half-Normal Plot of Effects

Half-normal plot for survival_1yr_pct

Model Diagnostics

Model diagnostics for survival_1yr_pct

Response: height_gain_cm

Top factors: tidal_zone (51.7%), amendment_kg_m2 (32.0%), density_per_m2 (16.3%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
density_per_m2426.59096.64770.2300.9144
tidal_zone4319.174279.79362.7650.0945
amendment_kg_m24277.340969.33522.4030.1264
LackofFit2323.9848161.9924
PureError7202.0000
Error9525.984828.8571
Total211149.090954.7186

Pareto Chart

Pareto chart for height_gain_cm

Main Effects Plot

Main effects plot for height_gain_cm

Normal Probability Plot of Effects

Normal probability plot for height_gain_cm

Half-Normal Plot of Effects

Half-normal plot for height_gain_cm

Model Diagnostics

Model diagnostics for height_gain_cm

Response Surface Plots

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

height gain cm density per m2 vs amendment kg m2

RSM surface: height gain cm density per m2 vs amendment kg m2

height gain cm density per m2 vs tidal zone

RSM surface: height gain cm density per m2 vs tidal zone

height gain cm tidal zone vs amendment kg m2

RSM surface: height gain cm tidal zone vs amendment kg m2

survival 1yr pct density per m2 vs amendment kg m2

RSM surface: survival 1yr pct density per m2 vs amendment kg m2

survival 1yr pct density per m2 vs tidal zone

RSM surface: survival 1yr pct density per m2 vs tidal zone

survival 1yr pct tidal zone vs amendment kg m2

RSM surface: survival 1yr pct tidal zone vs amendment kg m2

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.8887

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
survival_1yr_pct 2.0
0.9545
81.00 0.9545 81.00 %
height_gain_cm 1.5
0.8079
33.00 0.8079 33.00 cm

Recommended Settings

FactorValue
density_per_m26 plants/m2
tidal_zone3 zone
amendment_kg_m20 kg/m2

Source: from observed run #2

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
height_gain_cm33.0038.00+5.00

Top 3 Runs by Desirability

RunDFactor Settings
#120.8842density_per_m2=3.5, tidal_zone=2, amendment_kg_m2=1.5
#180.7678density_per_m2=8.06435, tidal_zone=2, amendment_kg_m2=1.5

Model Quality

ResponseType
height_gain_cm0.0464linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.8887 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- survival_1yr_pct 2.0 0.9545 81.00 % ↑ height_gain_cm 1.5 0.8079 33.00 cm ↑ Recommended settings: density_per_m2 = 6 plants/m2 tidal_zone = 3 zone amendment_kg_m2 = 0 kg/m2 (from observed run #2) Trade-off summary: survival_1yr_pct: 81.00 (best observed: 81.00, sacrifice: +0.00) height_gain_cm: 33.00 (best observed: 38.00, sacrifice: +5.00) Model quality: survival_1yr_pct: R² = 0.0969 (linear) height_gain_cm: R² = 0.0464 (linear) Top 3 observed runs by overall desirability: 1. Run #2 (D=0.8887): density_per_m2=6, tidal_zone=3, amendment_kg_m2=0 2. Run #12 (D=0.8842): density_per_m2=3.5, tidal_zone=2, amendment_kg_m2=1.5 3. Run #18 (D=0.7678): density_per_m2=8.06435, tidal_zone=2, amendment_kg_m2=1.5

Full Analysis Output

doe analyze
=== Main Effects: survival_1yr_pct === Factor Effect Std Error % Contribution -------------------------------------------------------------- density_per_m2 19.2500 2.0610 34.9% amendment_kg_m2 19.2500 2.0610 34.9% tidal_zone 16.6667 2.0610 30.2% === ANOVA Table: survival_1yr_pct === Source DF SS MS F p-value ----------------------------------------------------------------------------- density_per_m2 4 341.9470 85.4867 1.239 0.3607 tidal_zone 4 319.9470 79.9867 1.160 0.3898 amendment_kg_m2 4 537.3636 134.3409 1.947 0.1867 Lack of Fit 2 280.2311 140.1155 2.031 0.2015 Pure Error 7 482.8750 68.9821 Error 9 763.1061 68.9821 Total 21 1962.3636 93.4459 === Summary Statistics: survival_1yr_pct === density_per_m2: Level N Mean Std Min Max ------------------------------------------------------------ -1.06435 1 77.0000 0.0000 77.0000 77.0000 1 4 57.7500 16.3172 43.0000 76.0000 3.5 12 63.1667 8.6111 49.0000 81.0000 6 4 66.0000 1.4142 64.0000 67.0000 8.06435 1 62.0000 0.0000 62.0000 62.0000 tidal_zone: Level N Mean Std Min Max ------------------------------------------------------------ 0.174258 1 49.0000 0.0000 49.0000 49.0000 1 4 63.5000 13.1276 45.0000 76.0000 2 12 65.6667 8.1054 53.0000 81.0000 3 4 60.2500 11.5866 43.0000 67.0000 3.82574 1 60.0000 0.0000 60.0000 60.0000 amendment_kg_m2: Level N Mean Std Min Max ------------------------------------------------------------ -1.23861 1 74.0000 0.0000 74.0000 74.0000 0 4 54.7500 12.5000 43.0000 67.0000 1.5 12 63.2500 8.9962 49.0000 81.0000 3 4 69.0000 4.6904 66.0000 76.0000 4.23861 1 64.0000 0.0000 64.0000 64.0000 === Main Effects: height_gain_cm === Factor Effect Std Error % Contribution -------------------------------------------------------------- tidal_zone 19.0000 1.5771 51.7% amendment_kg_m2 11.7500 1.5771 32.0% density_per_m2 6.0000 1.5771 16.3% === ANOVA Table: height_gain_cm === Source DF SS MS F p-value ----------------------------------------------------------------------------- density_per_m2 4 26.5909 6.6477 0.230 0.9144 tidal_zone 4 319.1742 79.7936 2.765 0.0945 amendment_kg_m2 4 277.3409 69.3352 2.403 0.1264 Lack of Fit 2 323.9848 161.9924 5.614 0.0351 Pure Error 7 202.0000 28.8571 Error 9 525.9848 28.8571 Total 21 1149.0909 54.7186 === Summary Statistics: height_gain_cm === density_per_m2: Level N Mean Std Min Max ------------------------------------------------------------ -1.06435 1 28.0000 0.0000 28.0000 28.0000 1 4 22.7500 13.8894 7.0000 38.0000 3.5 12 23.5000 6.8689 7.0000 33.0000 6 4 22.7500 2.8723 19.0000 26.0000 8.06435 1 22.0000 0.0000 22.0000 22.0000 tidal_zone: Level N Mean Std Min Max ------------------------------------------------------------ 0.174258 1 7.0000 0.0000 7.0000 7.0000 1 4 24.0000 9.7639 16.0000 38.0000 2 12 24.9167 4.6604 14.0000 33.0000 3 4 21.5000 10.0830 7.0000 30.0000 3.82574 1 26.0000 0.0000 26.0000 26.0000 amendment_kg_m2: Level N Mean Std Min Max ------------------------------------------------------------ -1.23861 1 29.0000 0.0000 29.0000 29.0000 0 4 17.2500 7.5884 7.0000 23.0000 1.5 12 23.2500 6.8108 7.0000 33.0000 3 4 28.2500 7.9320 19.0000 38.0000 4.23861 1 24.0000 0.0000 24.0000 24.0000

Optimization Recommendations

doe optimize
=== Optimization: survival_1yr_pct === Direction: maximize Best observed run: #2 density_per_m2 = 1 tidal_zone = 1 amendment_kg_m2 = 0 Value: 81.0 RSM Model (linear, R² = 0.1996, Adj R² = 0.0662): Coefficients: intercept +63.2727 density_per_m2 -0.3740 tidal_zone -5.1162 amendment_kg_m2 +0.6286 RSM Model (quadratic, R² = 0.5191, Adj R² = 0.1584): Coefficients: intercept +61.2464 density_per_m2 -0.3740 tidal_zone -5.1162 amendment_kg_m2 +0.6286 density_per_m2*tidal_zone -1.0000 density_per_m2*amendment_kg_m2 +0.2500 tidal_zone*amendment_kg_m2 +7.0000 density_per_m2^2 +1.4132 tidal_zone^2 -1.1368 amendment_kg_m2^2 +2.7632 Curvature analysis: amendment_kg_m2 coef=+2.7632 convex (has a minimum) density_per_m2 coef=+1.4132 convex (has a minimum) tidal_zone coef=-1.1368 concave (has a maximum) Notable interactions: tidal_zone*amendment_kg_m2 coef=+7.0000 (synergistic) density_per_m2*tidal_zone coef=-1.0000 (antagonistic) Predicted optimum (from quadratic model, at observed points): density_per_m2 = 6 tidal_zone = 1 amendment_kg_m2 = 0 Predicted value: 76.1495 Surface optimum (via L-BFGS-B, quadratic model): density_per_m2 = 6 tidal_zone = 1 amendment_kg_m2 = 0 Predicted value: 76.1495 Model quality: Moderate fit — use predictions directionally, not precisely. Factor importance: 1. tidal_zone (effect: 20.8, contribution: 38.9%) 2. density_per_m2 (effect: 20.0, contribution: 37.5%) 3. amendment_kg_m2 (effect: 12.6, contribution: 23.6%) === Optimization: height_gain_cm === Direction: maximize Best observed run: #12 density_per_m2 = 8.06435 tidal_zone = 2 amendment_kg_m2 = 1.5 Value: 38.0 RSM Model (linear, R² = 0.1798, Adj R² = 0.0431): Coefficients: intercept +23.3636 density_per_m2 +1.5826 tidal_zone -3.4029 amendment_kg_m2 -0.0651 RSM Model (quadratic, R² = 0.6244, Adj R² = 0.3428): Coefficients: intercept +22.5742 density_per_m2 +1.5826 tidal_zone -3.4029 amendment_kg_m2 -0.0651 density_per_m2*tidal_zone +0.7500 density_per_m2*amendment_kg_m2 -0.5000 tidal_zone*amendment_kg_m2 +4.7500 density_per_m2^2 +2.4947 tidal_zone^2 -2.6053 amendment_kg_m2^2 +1.2947 Curvature analysis: tidal_zone coef=-2.6053 concave (has a maximum) density_per_m2 coef=+2.4947 convex (has a minimum) amendment_kg_m2 coef=+1.2947 convex (has a minimum) Notable interactions: tidal_zone*amendment_kg_m2 coef=+4.7500 (synergistic) density_per_m2*tidal_zone coef=+0.7500 (synergistic) density_per_m2*amendment_kg_m2 coef=-0.5000 (antagonistic) Predicted optimum (from quadratic model, at observed points): density_per_m2 = 8.06435 tidal_zone = 2 amendment_kg_m2 = 1.5 Predicted value: 33.7794 Surface optimum (via L-BFGS-B, quadratic model): density_per_m2 = 6 tidal_zone = 1 amendment_kg_m2 = 0 Predicted value: 33.3090 Model quality: Moderate fit — use predictions directionally, not precisely. Factor importance: 1. tidal_zone (effect: 21.0, contribution: 47.4%) 2. density_per_m2 (effect: 16.5, contribution: 37.2%) 3. amendment_kg_m2 (effect: 6.8, contribution: 15.4%)
← All Use Cases All Use Cases →