Summary
Port study.py for multi-phase simulation study orchestration with carry-forward.
Types and Functions to Implement
struct Phase
name::String
factors::Vector{Factor}
design_method::Symbol # :full, :lhs, :adaptive
n_trials::Int
scorer::AbstractScorer
filter::Function # e.g. top_k_pareto_filter
end
struct Study
phases::Vector{Phase}
end
| Function |
Description |
run!(study, model) |
Execute all phases sequentially, carry-forward winners |
top_k_pareto_filter(results, k; objectives) |
Keep top-k Pareto-optimal configurations |
Design Notes
- Phase N's output feeds Phase N+1's input: winners from Phase 1 screening become the reduced factor set for Phase 2's grid, etc.
- Carry-forward pattern: each Phase stores its
ResultsTable; the Study orchestrator feeds phase results into the next phase's factor reduction.
- The Python version has 3 tiers: Screen → Grid → Adaptive. Julia should keep the same pattern but make it generic.
Acceptance Criteria
Summary
Port
study.pyfor multi-phase simulation study orchestration with carry-forward.Types and Functions to Implement
run!(study, model)top_k_pareto_filter(results, k; objectives)Design Notes
ResultsTable; the Study orchestrator feeds phase results into the next phase's factor reduction.Acceptance Criteria