LotSizingDataModel.Instance 2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
UniversalProblemSpecification.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Represents a universal notation interpreted as a problem specification.
5/// </summary>
6/// <remarks>
7/// Specification matching uses positive constraints:
8/// - explicitly present characteristics are required;
9/// - absent beta features and absent optional network modifiers are not
10/// interpreted as explicit negations.
11///
12/// Consequently an instance may be richer than the specification and remain
13/// compatible.
14/// </remarks>
16{
19 {
20 Notation =
21 notation ??
22 throw new ArgumentNullException(nameof(notation));
23 }
24
26
27 public string CanonicalText =>
28 Notation.Render();
29
31 string text,
32 string? schemeVersion = null)
33 {
36 .Parse(
37 text,
38 schemeVersion);
39
41 notation);
42 }
43
44 public override string ToString() =>
46}
static UniversalProblemSpecification Parse(string text, string? schemeVersion=null)
Typed abstract syntax tree for the versioned alpha | beta | gamma scheme.
Parses and canonicalizes notation scheme version 1.
UniversalLotSizingNotation Parse(string text, string? schemeVersion=null)