Package-level declarations

Types

Link copied to clipboard
abstract class AbstractNestedSolverStateTracker(val macroSolver: Solver, val microSolver: Solver)
Link copied to clipboard
abstract class AbstractSolverStateTracker(val solver: Solver)

An abstract base class that autonomously tracks a Solver's state and lifecycle. It remains permanently attached to the solver, allowing it to record multiple subsequent runs seamlessly without user intervention.

Link copied to clipboard
class ConsoleSolverStateTracker(solver: Solver, formatStrategy: (SolverStateSnapshot) -> String = ::defaultFormat, lifecycleFormatStrategy: (SolverStatus) -> String? = ::defaultLifecycleFormat) : AbstractSolverStateTracker

A self-terminating tracker that prints optimization progress directly to the console. Useful for real-time monitoring and debugging. Automatically handles lifecycle events to print clear visual boundaries between runs and errors.

Link copied to clipboard
class CsvSolverStateTracker(solver: Solver, outputFile: File, columns: List<TrackerColumn> = defaultColumns) : AbstractSolverStateTracker

An autonomous tracker that logs continuous optimization progress to a CSV file. Automatically manages OS file locks to support multiple sequential solver runs appending cleanly to the same file.

Link copied to clipboard
data class DataFrameColumn(val columnName: String, val extractor: (SolverStateSnapshot, TrackingContext) -> Any?)

Defines a single column for a strongly-typed DataFrame tracker.

Link copied to clipboard

An autonomous tracker that collects iterations in memory and compiles them into a strongly-typed DataFrame. If the solver is executed multiple times, this tracker accumulates the data and rebuilds the DataFrame to include all consecutive runs.

Link copied to clipboard
class NestedConsoleSolverStateTracker(macroSolver: Solver, microSolver: Solver, macroFormatStrategy: (SolverStateSnapshot, TrackingContext) -> String = ::defaultMacroFormat, microFormatStrategy: (SolverStateSnapshot, TrackingContext) -> String = ::defaultMicroFormat, macroLifecycleFormatStrategy: (SolverStatus, TrackingContext) -> String? = ::defaultMacroLifecycleFormat) : AbstractNestedSolverStateTracker

A persistent nested tracker that prints both macro and micro iterations to the console. Automatically displays run numbers and experiment names across multiple autonomous runs. Micro iterations are indented for clear visual hierarchy.

Link copied to clipboard
class NestedCsvSolverStateTracker(macroSolver: Solver, microSolver: Solver, outputFile: File, columns: List<NestedTrackerColumn> = defaultColumns) : AbstractNestedSolverStateTracker

An autonomous, persistent tracker that logs both macro and micro iterations of a nested solver architecture to a single CSV file.

Link copied to clipboard
data class NestedDataFrameColumn(val columnName: String, val macroExtractor: (SolverStateSnapshot, TrackingContext) -> Any?, val microExtractor: (SolverStateSnapshot, TrackingContext) -> Any?)

Defines a single column for a nested DataFrame tracking.

Link copied to clipboard
class NestedDataFrameSolverStateTracker(macroSolver: Solver, microSolver: Solver, columns: List<NestedDataFrameColumn> = defaultColumns) : AbstractNestedSolverStateTracker
Link copied to clipboard
data class NestedTrackerColumn(val headerName: String, val macroStringifier: (SolverStateSnapshot, TrackingContext) -> String, val microStringifier: (SolverStateSnapshot, TrackingContext) -> String)

Defines a single column for a structured, nested tracker output (like CSV).

Link copied to clipboard
data class TrackerColumn(val headerName: String, val stringifier: (SolverStateSnapshot, TrackingContext) -> String)

Defines a single column for a structured, string-based tracker output (like CSV).

Link copied to clipboard
data class TrackingContext(val runNumber: Int, var experimentName: String = "DefaultExperiment", val macroIteration: Int? = null)

Contains metadata about the current state of the tracker itself. This context is passed to column extractors to allow them to stamp rows with identifying information across multiple continuous solver runs.