1using LotSizingDataModel.Instance.Scientific;
13 ScientificClassificationResult classification,
17 ArgumentNullException.ThrowIfNull(classification);
18 ArgumentNullException.ThrowIfNull(formulationSelection);
19 ArgumentNullException.ThrowIfNull(method);
21 if (classification.IsBlocked)
26 "Scientific classification is blocked.");
29 if (classification.PrimaryProblemClass is
null)
34 "No unique canonical problem class is available.");
38 classification.PrimaryProblemClass.Definition.Id;
45 $
"Method family '{method.MethodId}' is not catalogued for " +
46 $
"canonical problem class '{problemClass}'.");
56 "Scientifically relevant family, but no executable adapter " +
57 "is connected to LotSizingDataModel yet.");
67 "The executable method requires a scientifically selected " +
68 "mathematical formulation.");
74 "Executable method has compatible canonical problem-class and " +
75 "formulation support.");
One scientific solution-method candidate for a classified instance.
Assesses scientific method-family relevance independently from solver backend availability.
ScientificSolutionMethodCandidate Assess(ScientificClassificationResult classification, ScientificFormulationSelectionResult formulationSelection, ScientificSolutionMethodDefinition method)
One scientific solution-method definition.
bool RequiresMathematicalFormulation
bool IsApplicableTo(CanonicalLotSizingProblemClassId problemClass)
ScientificSolutionMethodSupportLevel SupportLevel
ScientificSolutionMethodCompatibilityKind
ScientificSolutionMethodSupportLevel
Current implementation support of one scientific solution-method family.