ConvergencePlot

Convergence plot for a simulation-optimization run.

Extends BasePlot so it slots directly into the framework's ksl.utilities.io.report.dsl.ReportBuilder.plot DSL — the HTML renderer embeds an interactive lets-plot fragment (zoom + hover) via BasePlot.toEmbeddedHTML; the Markdown renderer exports a PNG and references it; etc.

Plot shape:

  • X axis: iteration

  • Y axis: best estimated objective at that iteration

  • One geom_line + geom_point series across the run's history

Sentinel "no feasible solution yet" values (±Double.MAX_VALUE, ±Infinity, NaN) are filtered out before plotting so the Y axis isn't crushed by 1.8e308 seed values.

Substrate-level API — usable by any UI shell.

Constructors

Link copied to clipboard
constructor(history: List<SolverStateSnapshot>)

Properties

Link copied to clipboard

true when at least one plottable snapshot exists; callers should check this before adding the plot to a report or writing it to disk.

Functions

Link copied to clipboard
open override fun buildPlot(): Plot

Builds a new instance of a Lets-Plot representation of the plot