LotSizingDataModel.Instance 2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
LotSizingProblemClassMatchResult.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Complete canonical problem-class membership assessment.
5/// </summary>
7{
11 IEnumerable<LotSizingProblemClassExtensionKind>? extensions = null,
12 IEnumerable<string>? failedRequirements = null)
13 {
15 definition ??
16 throw new ArgumentNullException(nameof(definition));
17
18 Kind = kind;
19
21 (extensions ??
23 .Distinct()
24 .OrderBy(extension => (int)extension)
25 .ToArray();
26
28 (failedRequirements ??
29 Array.Empty<string>())
30 .Distinct(StringComparer.Ordinal)
31 .ToArray();
32 }
33
36 public IReadOnlyList<LotSizingProblemClassExtensionKind> Extensions { get; }
37 public IReadOnlyList<string> FailedRequirements { get; }
38
39 public bool IsMember =>
40 Kind is
42 LotSizingProblemClassMatchKind.CompatibleExtension;
43}
LotSizingProblemClassMatchResult(LotSizingProblemClassDefinition definition, LotSizingProblemClassMatchKind kind, IEnumerable< LotSizingProblemClassExtensionKind >? extensions=null, IEnumerable< string >? failedRequirements=null)
LotSizingProblemClassMatchKind
Relationship between an instance descriptor and one canonical problem class.
LotSizingProblemClassExtensionKind
Modeled characteristics outside the canonical core signatures.