3using System.Threading.Tasks;
4using LotSizingDataModel.Core.PhysicalModel;
5using LotSizingDataModel.Instance;
28 LotSizingInstance instance,
31 ArgumentNullException.ThrowIfNull(instance);
32 ArgumentNullException.ThrowIfNull(options);
41 TransportResource resource
42 in instance.SupplyChain.TransportResources)
44 if (resource.FixedUsageCost is not
null)
57 LotSizingInstance instance,
60 CancellationToken cancellationToken)
63 TransportResource resource
64 in instance.SupplyChain.TransportResources)
66 if (resource.FixedUsageCost is
null)
73 period <= instance.PlanningHorizon;
76 cancellationToken.ThrowIfCancellationRequested();
81 .TransportResourceActivation)
93 $
"YR_r{resource.Id}_t{period}",
95 $
"Activation of transport resource " +
96 $
"{resource.Id} in period {period}.");
100 return ValueTask.CompletedTask;
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 TransportResourceActivation
Identifies transport-resource activation decision variables.
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...
const string Period
Period index segment.