PooledMemberEvaluatorFactory

constructor(problemDefinition: ProblemDefinition, modelBuilder: ModelBuilderIfc, modelConfiguration: Map<String, String>? = null, baseRunParameters: ExperimentRunParametersIfc? = null, substreamBlockSize: Int = ConcurrentRunOptions.DEFAULT_SUBSTREAM_BLOCK_SIZE, solutionCacheFactory: () -> SolutionCacheIfc? = { MemorySolutionCache() })(source)

Parameters

problemDefinition

the problem the member evaluators serve; validated for input/response compatibility against the first built model

modelBuilder

builds a fresh model per call; must yield independent instances

modelConfiguration

opaque configuration forwarded to the model builder

baseRunParameters

run parameters applied when building models; when null the builder's defaults apply

substreamBlockSize

the per-member sub-stream block; see ConcurrentRunOptions

solutionCacheFactory

creates each member's private solution cache; return null for no caching. The default creates a fresh in-memory cache per member, which makes "clear the cache between runs" structural: each member's cache is born empty and dies with the member.