You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
objective_function() scores adjacency and row/column balance only. A layout in which every whole plot carries the same sub-plot arrangement scores no worse than one where the arrangements vary. Where the input is systematic and already sits at a local optimum, speed() returns it essentially unchanged.
Row-spanning whole plots show it plainly:
wholeplot 1 a d c b score 132
2 b a d c
3 c b a d
4 a d c b <- block 2 identical to block 1
7 a d c b <- block 3 identical
This is a genuine optimum (per-block rotations score 150; 200 random arrangements score 156–285) but not the only one: 40 random-restart steepest-descent runs also reach 132 with 10 distinct arrangements of 12. Varied layouts exist at the same score; the search just never reaches them from a systematic start, because the tied optima sit in basins single swaps can't cross.
Compact whole plots (2×2) come out varied but only because the systematic start isn't optimal for that geometry, so the search leaves it. Nothing prevents repetition there either; it's luck of the geometry.
Why it matters: repeated arrangements confound sub-plot treatment with position within whole plot, regardless of whether the whole plots share rows or columns. A positional effect not captured by row + col is then inseparable from treatment. It wouldn't pass review as a randomised split-plot.
Directions:
Add a repetition/concurrence-of-position penalty to the objective so varied layouts are strictly preferred, not merely tied.
objective_function()scores adjacency and row/column balance only. A layout in which every whole plot carries the same sub-plot arrangement scores no worse than one where the arrangements vary. Where the input is systematic and already sits at a local optimum,speed()returns it essentially unchanged.Row-spanning whole plots show it plainly:
This is a genuine optimum (per-block rotations score 150; 200 random arrangements score 156–285) but not the only one: 40 random-restart steepest-descent runs also reach 132 with 10 distinct arrangements of 12. Varied layouts exist at the same score; the search just never reaches them from a systematic start, because the tied optima sit in basins single swaps can't cross.
Compact whole plots (2×2) come out varied but only because the systematic start isn't optimal for that geometry, so the search leaves it. Nothing prevents repetition there either; it's luck of the geometry.
Why it matters: repeated arrangements confound sub-plot treatment with position within whole plot, regardless of whether the whole plots share rows or columns. A positional effect not captured by row + col is then inseparable from treatment. It wouldn't pass review as a randomised split-plot.
Directions:
random_initialisationdestroys nesting inswap_all = TRUEdesigns #141) so structure-preserving restarts can find the varied optima.