8 private readonly Dictionary<SolverKind, ILinearModelSolverExecutor>
12 public int Count => _executors.Count;
18 ArgumentNullException.ThrowIfNull(executor);
24 throw new InvalidOperationException(
25 "An executor must target one concrete solver.");
28 if (!_executors.TryAdd(
32 throw new InvalidOperationException(
33 $
"An executor for '{executor.SolverKind}' is already registered.");
41 return _executors.TryGetValue(
45 :
throw new InvalidOperationException(
46 $
"No linear-model executor is registered for '{solverKind}'.");
Stores concrete portable-model execution backends by solver kind.
ILinearModelSolverExecutor GetRequired(SolverKind solverKind)
Gets one registered execution backend.
void Register(ILinearModelSolverExecutor executor)
Registers one concrete execution backend.
int Count
Gets the number of registered execution backends.
Executes the portable LinearModel with one concrete solver.
SolverKind SolverKind
Gets the concrete solver implemented by this executor.
SolverKind
Identifies a mathematical optimization solver that can be used by solver-backed ULS algorithms.