EvaluatorIfc

interface EvaluatorIfc(source)

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val cache: SolutionCacheIfc?

A possible cache to hold evaluated solutions

Link copied to clipboard

The total number of replications successfully bypassed/satisfied by the cache.

Link copied to clipboard

The total number of unique design points (ModelInputs) requested for evaluation across all evaluator calls.

Link copied to clipboard
abstract val totalEvaluatorCalls: Int

The total number of times the evaluate() method has been invoked. This essentially tracks the number of "batches" or "generations" processed.

Link copied to clipboard

The total number of replications actually executed by the simulation oracle.

Link copied to clipboard

The total number of replications requested across all evaluation requests.

Functions

Link copied to clipboard
abstract fun evaluate(evaluationRequest: EvaluationRequest): Map<ModelInputs, Solution>

Processes the supplied requests for solutions. The solutions may come from an associated solution cache (if present or allowed) or via evaluations by the simulation oracle. The CRN option is applied to the set of requests and does not permit cached solutions, even if caching is permitted.

Link copied to clipboard

Resets the evaluation clock: the per-call counter stamped into produced solutions as their evaluation number, which drives dynamic penalty-function ramps (the iteration count in Park-and-Kim-style penalties). Restart-style solvers reset the clock between independent runs so each run's penalty ramp begins fresh instead of inheriting ever-steeper multipliers from earlier runs. Resetting the clock does NOT disturb the cumulative statistics counters (totalEvaluatorCalls and friends), which feed post-run evaluator metrics. The default implementation does nothing, for evaluators without a clock.