HtmlReportWriter

HTML report writer for a finished optimization run.

Built on the framework's ksl.utilities.io.report.dsl.ReportBuilder DSL and the simulation-optimization-aware ksl.utilities.io.report.extensions.solverResult / solver(...) extensions. These already render:

  • Run Summary — solver, problem, termination, total iterations, execution time

  • Evaluator Metrics — evaluator calls, design points evaluated, replications (requested / oracle / cached), cache savings %

  • Initial / Current / Best Solution sub-sections, each with a decision-variable table, the objective-function statistics (count, average, std dev, 95% half-width), and response-constraint estimates when present.

Around that substrate-rendered body the writer adds:

  • The interactive ConvergencePlot (zoomable, hover-aware) via the DSL's plot(...) primitive — the HTML renderer embeds the lets-plot JS fragment so the report is fully interactive in a browser.

  • A compact 5-column iteration-metrics table. Per-iteration decision-variable values intentionally live in iteration_history.csv rather than the report so the document stays compact when problems have many decision variables.

Renders through writeHtml with the framework's built-in CSS so the styling matches reports produced by other KSL apps.

Substrate-level API — usable by any UI shell.

Functions

Link copied to clipboard
fun write(config: OptimizationRunConfiguration, runResult: RunResult.OptimizationCompleted, solverResult: SolverResult, solverInstance: Solver, path: Path): Boolean

Write the report to path using a captured SolverResult.