1using LotSizingDataModel.Core.DecisionModel.Scheduling;
2using LotSizingDataModel.Instance;
17 "smallBucketProducedItemCount";
20 LotSizingInstance instance,
23 CancellationToken cancellationToken)
25 ProductionSchedulingProfile profile =
26 instance.SupplyChain.WorkCenters
29 workCenter.SchedulingProfile is not
null)
32 MaximumProducedItemCount limit =
33 profile.MaximumProducedItemCount ??
34 throw new InvalidOperationException(
35 "Executable small-bucket formulations require MaximumProducedItemCount.");
39 period <= instance.PlanningHorizon;
47 in instance.SupplyChain.ProductionRoutings)
52 .AuxiliarySmallBucketProductionActivation)
69 $
"smallBucketProducedItemCount_t{period}",
72 limit.GetCount(period),
74 "Maximum number of distinct positively produced items in the bucket.");
77 return ValueTask.CompletedTask;
Provides a fluent builder for linear expressions.
Builds stable business-domain keys for mathematical variables and constraints.
string Build()
Builds the immutable domain-key text.
MathematicalDomainKeyBuilder Add(string name, string value)
Adds a text segment.
Provides the shared state required while constructing a solver-independent mathematical model.
MathematicalModel Build(bool clone=true)
Builds and validates the mathematical model.
Provides the canonical mathematical domain-key categories used to identify lot-sizing decision famili...
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...
const string Routing
Routing identifier segment.
const string Period
Period index segment.
MathematicalConstraintSense
Identifies the relational sense of a mathematical constraint.