Package-level declarations
Types
The benchmark grid: problems × solver configurations × macro-replications, run under the experiment-level fairness policies and concurrent execution, producing a BenchmarkSummary of cell-level run records, per-problem confirmation outcomes, and optimality gaps.
The recorded outcome of one benchmark cell: one solver configuration run once (one macro-replication) on one problem under the experiment's replication budget.
Creates a fresh solver instance for one benchmark cell, bound to the cell's problem definition and private evaluator.
The in-memory result of a benchmark experiment: one entry per problem, in problem order, each holding its cell-level run records, confirmation outcome, and gap basis.
Provisions per-member evaluators over a response function — the synthetic and static Monte Carlo counterpart of ksl.simopt.solvers.concurrent.PooledMemberEvaluatorFactory. Each member gets its own ResponseFunctionOracle with a private solution cache and a stream tape starting at the member's block offset, so concurrently running members draw from non-overlapping regions of the sub-stream tape regardless of scheduling.
One point of a cell's iteration trace: the solver's progress at the end of an iteration, recorded when the experiment captures traces. Iteration 0 is the initialized state before the first main iteration.
The recorded outcome of all cells of one problem within a benchmark experiment, plus the problem-level confirmation stage and the gap basis shared by the runs.
A named, self-contained problem for benchmarking: fresh problem definitions on demand, fresh per-member evaluation resources on demand, an optional reference solution, and descriptive tags for analysis grouping.
A reference solution for a benchmark problem: the inputs and objective value that runs are measured against, and whether that reference is a proven optimum or merely the best known point.
Whether a problem's reference solution is a proven optimum or just the best point known so far.
A named solver configuration for benchmarking. The factory creates a fresh, member-safe solver instance per cell (a new instance on every call, bound only to the supplied evaluator, with its own solver-side streams), for whatever problem the experiment hands it — the same configuration races on every problem in the grid. The harness reads each instance's configurationProperties so the configuration that actually ran is recorded rather than assumed.