LotSizingDataModel.Instance 2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
WolseyMultiLevelClassification.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Product-structure symbol used in Wolsey's multi-level extension.
5/// </summary>
7{
8 /// <summary>General product structure.</summary>
9 G,
10
11 /// <summary>Assembly structure.</summary>
13
14 /// <summary>Series / linear structure.</summary>
16}
17
18/// <summary>
19/// Typed representation of Wolsey's multi-level block {NL=#,[G,A,S]}.
20/// </summary>
22{
24 int levelCount,
26 {
27 if (levelCount <= 1)
28 {
29 throw new ArgumentOutOfRangeException(
30 nameof(levelCount),
31 levelCount,
32 "The Wolsey multi-level block requires NL > 1.");
33 }
34
35 LevelCount = levelCount;
36 Structure = structure;
37 }
38
39 public int LevelCount { get; }
41
42 public string HistoricalCode =>
43 $"{{NL={LevelCount},{Structure}}}";
44
45 public override string ToString() =>
47}
WolseyMultiLevelStructure
Product-structure symbol used in Wolsey's multi-level extension.