LotSizingDataModel.Solver 2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
SmallBucketSchedulingDomainKeyFactory.cs
Go to the documentation of this file.
1using LotSizingDataModel.Core.DecisionModel.Scheduling;
2using LotSizingDataModel.Core.Relationships;
5
7
9{
10 public static string CreateSetupStartKey(
11 ProductionSchedulingProfile profile,
12 ProductionRouting routing,
13 int period)
14 {
15 ArgumentNullException.ThrowIfNull(profile);
16 ArgumentNullException.ThrowIfNull(routing);
17
18 var builder =
22 .Add(MathematicalDomainKeySegment.Item, routing.ItemId)
24
25 if (period == 1 && profile.HasInitialSetupState)
26 {
27 builder.Add(
29 profile.InitialSetupItemId);
30 }
31
32 if (period > 1 &&
33 profile.SetupCarryOverPolicy == SetupCarryOverPolicy.Forbidden)
34 {
36 }
37
38 return builder.Build();
39 }
40}
Builds stable business-domain keys for mathematical variables and constraints.
MathematicalDomainKeyBuilder Add(string name, string value)
Adds a text segment.
static string CreateSetupStartKey(ProductionSchedulingProfile profile, ProductionRouting routing, int period)
Provides the canonical mathematical domain-key categories used to identify lot-sizing decision famili...
const string AuxiliarySchedulingSetupStart
Mathematical-only start of a persistent scheduling setup state.
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...