3using System.Threading.Tasks;
4using LotSizingDataModel.Core.Querying;
5using LotSizingDataModel.Core.Relationships;
6using LotSizingDataModel.Instance;
22 "productionSetupCost";
28 LotSizingInstance instance,
31 ArgumentNullException.ThrowIfNull(instance);
32 ArgumentNullException.ThrowIfNull(options);
41 LotSizingInstance instance,
45 CancellationToken cancellationToken)
48 new SupplyChainQueries(
49 instance.SupplyChain);
52 ProductionRouting routing
53 in instance.SupplyChain.ProductionRoutings)
57 period <= instance.PlanningHorizon;
60 cancellationToken.ThrowIfCancellationRequested();
67 in routing.WorkCenters)
69 ProductionCharacteristic characteristic =
70 queries.GetRequiredProductionCharacteristic(
75 characteristic.FixedSetupCost?[period] ??
98 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.
Provides the canonical mathematical domain-key categories used to identify lot-sizing decision famili...
const string Setup
Identifies production setup decision variables.
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.