67 ArgumentNullException.ThrowIfNull(descriptor);
83 throw new ArgumentOutOfRangeException(
86 "Unknown adaptive general exact fallback.");
103 throw new ArgumentOutOfRangeException(
106 "MaxDegreeOfParallelism must be -1 or strictly positive.");
112 throw new ArgumentOutOfRangeException(
115 "ParallelThreshold must be strictly positive.");
142 private static void RequireCapability(
148 if ((actual & required) == required)
153 throw new ArgumentException(
154 $
"Configuration option '{optionName}' is not supported by " +
155 $
"solver '{descriptor.Id}'.",
Composes the existing strategy-specific constructor options used by UlsSolverFactory.
UlsGeneralExactFallback? AdaptiveGeneralFallback
Gets or sets the general exact fallback used by adaptive-exact. Null preserves the default Wagelmans ...
LinearModelSolveOptions? OptimizationExecution
Gets or sets solver-backed execution options, including the requested optimization engine and numeric...
void EnsureValidFor(UlsSolverDescriptor descriptor)
int? MaxDegreeOfParallelism
Gets or sets the maximum worker count for a strategy exposing the parallelism capability....
int? ParallelThreshold
Gets or sets the minimum candidate count before parallel evaluation is attempted. Null preserves the ...
LsCuttingPlaneOptions? CuttingPlane
Gets or sets root (l,S) cutting-plane engineering options.
Immutable metadata and construction entry for one public ULS strategy.
UlsSolverConfigurationCapabilities ConfigurationCapabilities
Gets the constructor-level settings supported by the configurable factory for this strategy.
Configures root LP (l,S) separation before the final exact MILP solve.
Configures one solver-backed execution of a portable linear model.
UlsSolverConfigurationCapabilities
Identifies the constructor-level settings that can be supplied through the configurable solver factor...
UlsGeneralExactFallback
Selects the general exact algorithm used when the linear-time Wagner-Whitin specialization is not app...