create

fun create(problemDefinition: ProblemDefinition, modelBuilder: ModelBuilderIfc, members: List<SolverMemberTask>, concurrentOptions: ConcurrentRunOptions = ConcurrentRunOptions(), solutionCache: SolutionCacheIfc = MemorySolutionCache(), simulationRunCache: SimulationRunCacheIfc? = null, experimentRunParameters: ExperimentRunParametersIfc? = null, replicationsPerEvaluation: Int = Solver.defaultReplicationsPerEvaluation, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = RNStreamProvider(), name: String? = null): SolverPortfolio(source)

Creates a portfolio with the standard resource wiring: the portfolio's own evaluator is a sequential problem evaluator built from the model builder, and member resources come from a pooled member-evaluator factory over the same builder (models pooled at the worker count, per-member stream blocks, private per-member caches).

Parameters

problemDefinition

the problem the members solve

modelBuilder

builds fresh, independent models per call

members

the member tasks; labels must be unique

concurrentOptions

worker count, stream-block size, optional confirmation

solutionCache

the portfolio's own solution cache (members always get fresh private caches)

simulationRunCache

optional run cache for the portfolio's own evaluator

experimentRunParameters

run parameters applied when building models

replicationsPerEvaluation

replications for the portfolio's own evaluations (the initial point)

streamNum

the stream number for the portfolio driver

streamProvider

the stream provider for the portfolio driver

name

optional name for the portfolio