solver Result
Appends a self-contained section reporting the outcome of a simulation optimisation run described by a SolverResult.
SolverResult.NotExecuted — emits a single Paragraph stating that the solver has not been run yet.
SolverResult.Completed — emits (inside a section titled caption or the solver name):
A
DataTable("Run Summary") — solver name, problem name, termination reason, stopping criteria satisfied, execution time, and total iterationsA
DataTable("Evaluator Metrics") — evaluator calls, design points evaluated, total replications requested, oracle replications, and cached replicationsOptionally a sub-section for the initial solution (when non-null)
A sub-section for the current (final) solution
A sub-section for the best solution found (when non-null)
Each solution sub-section contains:
A
DataTable("Decision Variables") with columnsVariable | Valuefrom the solution's ksl.simopt.problem.InputMapA
DataTable("Objective Function") with columnsName | Count | Average | Std Dev | Half Widthfor the estimated objectiveA
DataTable("Response Estimates") (when responses are present) with the same columns for each response constraint estimate
Usage:
solver.runAllIterations()
val doc = report("Optimisation Results") {
solverResult(solver.solverResult)
}Parameters
the solver result to report
optional section title; defaults to the solver name embedded in the result, or "Solver Results" when blank