← All Use Cases
🪨
Plackett-Burman Design

Aggregate Gradation Optimization

Plackett-Burman screening of coarse aggregate ratio, sand fineness modulus, max aggregate size, fines content, and angularity for workability and strength

Summary

This experiment investigates aggregate gradation optimization. Plackett-Burman screening of coarse aggregate ratio, sand fineness modulus, max aggregate size, fines content, and angularity for workability and strength.

The design varies 5 factors: coarse pct (%), ranging from 50 to 75, fineness mod (FM), ranging from 2.3 to 3.1, max size mm (mm), ranging from 10 to 25, fines pct (%), ranging from 0 to 5, and angularity (level), ranging from 1 to 5. The goal is to optimize 2 responses: workability score (pts) (maximize) and strength 28d mpa (MPa) (maximize). Fixed conditions held constant across all runs include cement = type_I, target slump = 100mm.

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 workability score, the most influential factors were angularity (32.5%), fineness mod (22.5%), fines pct (20.0%). The best observed value was 7.6 (at coarse pct = 50, fineness mod = 3.1, max size mm = 10).

For strength 28d mpa, the most influential factors were fineness mod (32.1%), max size mm (20.8%), fines pct (20.8%). The best observed value was 34.0 (at coarse pct = 75, fineness mod = 2.3, max size mm = 10).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
coarse_pct5075%
fineness_mod2.33.1FM
max_size_mm1025mm
fines_pct05%
angularity15level

Fixed: cement = type_I, target_slump = 100mm

Responses

ResponseDirectionUnit
workability_score↑ maximizepts
strength_28d_mpa↑ maximizeMPa

Configuration

use_cases/236_concrete_aggregate/config.json
{ "metadata": { "name": "Aggregate Gradation Optimization", "description": "Plackett-Burman screening of coarse aggregate ratio, sand fineness modulus, max aggregate size, fines content, and angularity for workability and strength" }, "factors": [ { "name": "coarse_pct", "levels": [ "50", "75" ], "type": "continuous", "unit": "%" }, { "name": "fineness_mod", "levels": [ "2.3", "3.1" ], "type": "continuous", "unit": "FM" }, { "name": "max_size_mm", "levels": [ "10", "25" ], "type": "continuous", "unit": "mm" }, { "name": "fines_pct", "levels": [ "0", "5" ], "type": "continuous", "unit": "%" }, { "name": "angularity", "levels": [ "1", "5" ], "type": "continuous", "unit": "level" } ], "fixed_factors": { "cement": "type_I", "target_slump": "100mm" }, "responses": [ { "name": "workability_score", "optimize": "maximize", "unit": "pts" }, { "name": "strength_28d_mpa", "optimize": "maximize", "unit": "MPa" } ], "settings": { "operation": "plackett_burman", "test_script": "use_cases/236_concrete_aggregate/sim.sh" } }

Experimental Matrix

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

Runcoarse_pctfineness_modmax_size_mmfines_pctangularity
1753.12501
2502.32551
3503.11051
4753.12555
5503.11005
6752.31055
7502.32505
8752.31001

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/236_concrete_aggregate/config.json
2

Generate the runner script

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

Execute the experiments

Terminal
$ bash use_cases/236_concrete_aggregate/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/236_concrete_aggregate/config.json
5

Get optimization recommendations

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

Generate the HTML report

Terminal
$ doe report --config use_cases/236_concrete_aggregate/config.json \ --output use_cases/236_concrete_aggregate/results/report.html

Features Exercised

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

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: workability_score

Top factors: angularity (32.5%), fineness_mod (22.5%), fines_pct (20.0%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
coarse_pct10.32000.32000.1670.7000
fineness_mod11.62001.62000.8440.4005
max_size_mm10.72000.72000.3750.5671
fines_pct11.28001.28000.6670.4513
angularity13.38003.38001.7600.2419
coarse_pct*fineness_mod10.72000.72000.3750.5671
coarse_pct*max_size_mm11.62001.62000.8440.4005
coarse_pct*fines_pct13.38003.38001.7600.2419
coarse_pct*angularity11.28001.28000.6670.4513
fineness_mod*max_size_mm10.32000.32000.1670.7000
fineness_mod*fines_pct11.62001.62000.8440.4005
fineness_mod*angularity10.72000.72000.3750.5671
max_size_mm*fines_pct10.72000.72000.3750.5671
max_size_mm*angularity11.62001.62000.8440.4005
fines_pct*angularity10.32000.32000.1670.7000
Error(LenthPSE)59.60001.9200
Total79.66001.3800

Pareto Chart

Pareto chart for workability_score

Main Effects Plot

Main effects plot for workability_score

Normal Probability Plot of Effects

Normal probability plot for workability_score

Half-Normal Plot of Effects

Half-normal plot for workability_score

Model Diagnostics

Model diagnostics for workability_score

Response: strength_28d_mpa

Top factors: fineness_mod (32.1%), max_size_mm (20.8%), fines_pct (20.8%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
coarse_pct11.12501.12500.0500.8326
fineness_mod136.125036.12501.5920.2627
max_size_mm115.125015.12500.6670.4513
fines_pct115.125015.12500.6670.4513
angularity115.125015.12500.6670.4513
coarse_pct*fineness_mod115.125015.12500.6670.4513
coarse_pct*max_size_mm136.125036.12501.5920.2627
coarse_pct*fines_pct115.125015.12500.6670.4513
coarse_pct*angularity115.125015.12500.6670.4513
fineness_mod*max_size_mm11.12501.12500.0500.8326
fineness_mod*fines_pct13.12503.12500.1380.7257
fineness_mod*angularity13.12503.12500.1380.7257
max_size_mm*fines_pct13.12503.12500.1380.7257
max_size_mm*angularity13.12503.12500.1380.7257
fines_pct*angularity11.12501.12500.0500.8326
Error(LenthPSE)5113.437522.6875
Total788.875012.6964

Pareto Chart

Pareto chart for strength_28d_mpa

Main Effects Plot

Main effects plot for strength_28d_mpa

Normal Probability Plot of Effects

Normal probability plot for strength_28d_mpa

Half-Normal Plot of Effects

Half-normal plot for strength_28d_mpa

Model Diagnostics

Model diagnostics for strength_28d_mpa

Response Surface Plots

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

strength 28d mpa coarse pct vs angularity

RSM surface: strength 28d mpa coarse pct vs angularity

strength 28d mpa coarse pct vs fineness mod

RSM surface: strength 28d mpa coarse pct vs fineness mod

strength 28d mpa coarse pct vs fines pct

RSM surface: strength 28d mpa coarse pct vs fines pct

strength 28d mpa coarse pct vs max size mm

RSM surface: strength 28d mpa coarse pct vs max size mm

strength 28d mpa fineness mod vs angularity

RSM surface: strength 28d mpa fineness mod vs angularity

strength 28d mpa fineness mod vs fines pct

RSM surface: strength 28d mpa fineness mod vs fines pct

strength 28d mpa fineness mod vs max size mm

RSM surface: strength 28d mpa fineness mod vs max size mm

strength 28d mpa fines pct vs angularity

RSM surface: strength 28d mpa fines pct vs angularity

strength 28d mpa max size mm vs angularity

RSM surface: strength 28d mpa max size mm vs angularity

strength 28d mpa max size mm vs fines pct

RSM surface: strength 28d mpa max size mm vs fines pct

workability score coarse pct vs angularity

RSM surface: workability score coarse pct vs angularity

workability score coarse pct vs fineness mod

RSM surface: workability score coarse pct vs fineness mod

workability score coarse pct vs fines pct

RSM surface: workability score coarse pct vs fines pct

workability score coarse pct vs max size mm

RSM surface: workability score coarse pct vs max size mm

workability score fineness mod vs angularity

RSM surface: workability score fineness mod vs angularity

workability score fineness mod vs fines pct

RSM surface: workability score fineness mod vs fines pct

workability score fineness mod vs max size mm

RSM surface: workability score fineness mod vs max size mm

workability score fines pct vs angularity

RSM surface: workability score fines pct vs angularity

workability score max size mm vs angularity

RSM surface: workability score max size mm vs angularity

workability score max size mm vs fines pct

RSM surface: workability score max size mm vs fines pct

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

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
workability_score 1.5
0.5649
6.10 0.5649 6.10 pts
strength_28d_mpa 1.5
0.9545
34.00 0.9545 34.00 MPa

Recommended Settings

FactorValue
coarse_pct75 %
fineness_mod2.3 FM
max_size_mm10 mm
fines_pct0 %
angularity1 level

Source: from observed run #4

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
strength_28d_mpa34.0034.00+0.00

Top 3 Runs by Desirability

RunDFactor Settings
#10.5992coarse_pct=75, fineness_mod=2.3, max_size_mm=10, fines_pct=5, angularity=5
#50.5317coarse_pct=75, fineness_mod=3.1, max_size_mm=25, fines_pct=0, angularity=1

Model Quality

ResponseType
strength_28d_mpa0.4459linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.7343 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- workability_score 1.5 0.5649 6.10 pts ↑ strength_28d_mpa 1.5 0.9545 34.00 MPa ↑ Recommended settings: coarse_pct = 75 % fineness_mod = 2.3 FM max_size_mm = 10 mm fines_pct = 0 % angularity = 1 level (from observed run #4) Trade-off summary: workability_score: 6.10 (best observed: 7.60, sacrifice: +1.50) strength_28d_mpa: 34.00 (best observed: 34.00, sacrifice: +0.00) Model quality: workability_score: R² = 0.4731 (linear) strength_28d_mpa: R² = 0.4459 (linear) Top 3 observed runs by overall desirability: 1. Run #4 (D=0.7343): coarse_pct=75, fineness_mod=2.3, max_size_mm=10, fines_pct=0, angularity=1 2. Run #1 (D=0.5992): coarse_pct=75, fineness_mod=2.3, max_size_mm=10, fines_pct=5, angularity=5 3. Run #5 (D=0.5317): coarse_pct=75, fineness_mod=3.1, max_size_mm=25, fines_pct=0, angularity=1

Full Analysis Output

doe analyze
=== Main Effects: workability_score === Factor Effect Std Error % Contribution -------------------------------------------------------------- angularity 1.3000 0.4153 32.5% fineness_mod -0.9000 0.4153 22.5% fines_pct -0.8000 0.4153 20.0% max_size_mm -0.6000 0.4153 15.0% coarse_pct -0.4000 0.4153 10.0% === ANOVA Table: workability_score === Source DF SS MS F p-value ----------------------------------------------------------------------------- coarse_pct 1 0.3200 0.3200 0.167 0.7000 fineness_mod 1 1.6200 1.6200 0.844 0.4005 max_size_mm 1 0.7200 0.7200 0.375 0.5671 fines_pct 1 1.2800 1.2800 0.667 0.4513 angularity 1 3.3800 3.3800 1.760 0.2419 coarse_pct*fineness_mod 1 0.7200 0.7200 0.375 0.5671 coarse_pct*max_size_mm 1 1.6200 1.6200 0.844 0.4005 coarse_pct*fines_pct 1 3.3800 3.3800 1.760 0.2419 coarse_pct*angularity 1 1.2800 1.2800 0.667 0.4513 fineness_mod*max_size_mm 1 0.3200 0.3200 0.167 0.7000 fineness_mod*fines_pct 1 1.6200 1.6200 0.844 0.4005 fineness_mod*angularity 1 0.7200 0.7200 0.375 0.5671 max_size_mm*fines_pct 1 0.7200 0.7200 0.375 0.5671 max_size_mm*angularity 1 1.6200 1.6200 0.844 0.4005 fines_pct*angularity 1 0.3200 0.3200 0.167 0.7000 Error (Lenth PSE) 5 9.6000 1.9200 Total 7 9.6600 1.3800 Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design) === Interaction Effects: workability_score === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ coarse_pct fines_pct 1.3000 17.6% coarse_pct max_size_mm -0.9000 12.2% fineness_mod fines_pct 0.9000 12.2% max_size_mm angularity 0.9000 12.2% coarse_pct angularity -0.8000 10.8% coarse_pct fineness_mod -0.6000 8.1% fineness_mod angularity 0.6000 8.1% max_size_mm fines_pct 0.6000 8.1% fineness_mod max_size_mm -0.4000 5.4% fines_pct angularity -0.4000 5.4% === Summary Statistics: workability_score === coarse_pct: Level N Mean Std Min Max ------------------------------------------------------------ 50 4 6.2500 1.2369 5.2000 7.6000 75 4 5.8500 1.2583 4.1000 7.1000 fineness_mod: Level N Mean Std Min Max ------------------------------------------------------------ 2.3 4 6.5000 1.0677 5.2000 7.6000 3.1 4 5.6000 1.2410 4.1000 7.0000 max_size_mm: Level N Mean Std Min Max ------------------------------------------------------------ 10 4 6.3500 0.8888 5.2000 7.1000 25 4 5.7500 1.4799 4.1000 7.6000 fines_pct: Level N Mean Std Min Max ------------------------------------------------------------ 0 4 6.4500 1.5885 4.1000 7.6000 5 4 5.6500 0.5196 5.2000 6.1000 angularity: Level N Mean Std Min Max ------------------------------------------------------------ 1 4 5.4000 1.2463 4.1000 7.1000 5 4 6.7000 0.7348 6.1000 7.6000 === Main Effects: strength_28d_mpa === Factor Effect Std Error % Contribution -------------------------------------------------------------- fineness_mod 4.2500 1.2598 32.1% max_size_mm 2.7500 1.2598 20.8% fines_pct 2.7500 1.2598 20.8% angularity -2.7500 1.2598 20.8% coarse_pct 0.7500 1.2598 5.7% === ANOVA Table: strength_28d_mpa === Source DF SS MS F p-value ----------------------------------------------------------------------------- coarse_pct 1 1.1250 1.1250 0.050 0.8326 fineness_mod 1 36.1250 36.1250 1.592 0.2627 max_size_mm 1 15.1250 15.1250 0.667 0.4513 fines_pct 1 15.1250 15.1250 0.667 0.4513 angularity 1 15.1250 15.1250 0.667 0.4513 coarse_pct*fineness_mod 1 15.1250 15.1250 0.667 0.4513 coarse_pct*max_size_mm 1 36.1250 36.1250 1.592 0.2627 coarse_pct*fines_pct 1 15.1250 15.1250 0.667 0.4513 coarse_pct*angularity 1 15.1250 15.1250 0.667 0.4513 fineness_mod*max_size_mm 1 1.1250 1.1250 0.050 0.8326 fineness_mod*fines_pct 1 3.1250 3.1250 0.138 0.7257 fineness_mod*angularity 1 3.1250 3.1250 0.138 0.7257 max_size_mm*fines_pct 1 3.1250 3.1250 0.138 0.7257 max_size_mm*angularity 1 3.1250 3.1250 0.138 0.7257 fines_pct*angularity 1 1.1250 1.1250 0.050 0.8326 Error (Lenth PSE) 5 113.4375 22.6875 Total 7 88.8750 12.6964 Note: Error estimated using Lenth's pseudo-standard-error (unreplicated design) === Interaction Effects: strength_28d_mpa === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ coarse_pct max_size_mm 4.2500 22.4% coarse_pct fineness_mod 2.7500 14.5% coarse_pct fines_pct -2.7500 14.5% coarse_pct angularity 2.7500 14.5% fineness_mod fines_pct -1.2500 6.6% fineness_mod angularity 1.2500 6.6% max_size_mm fines_pct 1.2500 6.6% max_size_mm angularity -1.2500 6.6% fineness_mod max_size_mm 0.7500 3.9% fines_pct angularity 0.7500 3.9% === Summary Statistics: strength_28d_mpa === coarse_pct: Level N Mean Std Min Max ------------------------------------------------------------ 50 4 29.7500 3.5940 25.0000 33.0000 75 4 30.5000 4.0415 27.0000 34.0000 fineness_mod: Level N Mean Std Min Max ------------------------------------------------------------ 2.3 4 28.0000 3.4641 25.0000 33.0000 3.1 4 32.2500 2.3629 29.0000 34.0000 max_size_mm: Level N Mean Std Min Max ------------------------------------------------------------ 10 4 28.7500 2.3629 27.0000 32.0000 25 4 31.5000 4.3589 25.0000 34.0000 fines_pct: Level N Mean Std Min Max ------------------------------------------------------------ 0 4 28.7500 3.8622 25.0000 34.0000 5 4 31.5000 3.1091 27.0000 34.0000 angularity: Level N Mean Std Min Max ------------------------------------------------------------ 1 4 31.5000 3.1091 27.0000 34.0000 5 4 28.7500 3.8622 25.0000 34.0000

Optimization Recommendations

doe optimize
=== Optimization: workability_score === Direction: maximize Best observed run: #2 coarse_pct = 50 fineness_mod = 3.1 max_size_mm = 10 fines_pct = 5 angularity = 1 Value: 7.6 RSM Model (linear, R² = 0.5756, Adj R² = -0.4855): Coefficients: intercept +6.0500 coarse_pct -0.4500 fineness_mod -0.0750 max_size_mm +0.0250 fines_pct +0.1750 angularity -0.6750 Predicted optimum (from linear model, at observed points): coarse_pct = 50 fineness_mod = 2.3 max_size_mm = 25 fines_pct = 5 angularity = 1 Predicted value: 7.4500 Surface optimum (via L-BFGS-B, linear model): coarse_pct = 50 fineness_mod = 2.3 max_size_mm = 25 fines_pct = 5 angularity = 1 Predicted value: 7.4500 Model quality: Moderate fit — use predictions directionally, not precisely. Factor importance: 1. angularity (effect: -1.3, contribution: 48.2%) 2. coarse_pct (effect: -0.9, contribution: 32.1%) 3. fines_pct (effect: 0.3, contribution: 12.5%) 4. fineness_mod (effect: -0.2, contribution: 5.4%) 5. max_size_mm (effect: 0.0, contribution: 1.8%) === Optimization: strength_28d_mpa === Direction: maximize Best observed run: #4 coarse_pct = 75 fineness_mod = 2.3 max_size_mm = 10 fines_pct = 5 angularity = 5 Value: 34.0 RSM Model (linear, R² = 0.8172, Adj R² = 0.3601): Coefficients: intercept +30.1250 coarse_pct +2.3750 fineness_mod -0.1250 max_size_mm -0.8750 fines_pct -0.1250 angularity +1.6250 Predicted optimum (from linear model, at observed points): coarse_pct = 75 fineness_mod = 2.3 max_size_mm = 10 fines_pct = 5 angularity = 5 Predicted value: 35.0000 Surface optimum (via L-BFGS-B, linear model): coarse_pct = 75 fineness_mod = 2.3 max_size_mm = 10 fines_pct = 0 angularity = 5 Predicted value: 35.2500 Model quality: Good fit — general trends are captured, some noise remains. Factor importance: 1. coarse_pct (effect: 4.8, contribution: 46.3%) 2. angularity (effect: 3.2, contribution: 31.7%) 3. max_size_mm (effect: -1.8, contribution: 17.1%) 4. fineness_mod (effect: -0.2, contribution: 2.4%) 5. fines_pct (effect: -0.2, contribution: 2.4%)
← All Use Cases All Use Cases →