3using System.Threading.Tasks;
4using LotSizingDataModel.Core.PhysicalModel;
5using LotSizingDataModel.Instance;
21 "transportResourceAdditionalCapacityCost";
27 LotSizingInstance instance,
30 ArgumentNullException.ThrowIfNull(instance);
31 ArgumentNullException.ThrowIfNull(options);
34 options.IncludeTransport &&
43 LotSizingInstance instance,
47 CancellationToken cancellationToken)
50 TransportResource resource
51 in instance.SupplyChain.TransportResources)
53 if (resource.AdditionalCapacity is
null)
60 period <= instance.PlanningHorizon;
63 cancellationToken.ThrowIfCancellationRequested();
66 resource.AdditionalCapacity[period];
68 if (options.RemoveStructurallyZeroVariables &&
69 double.IsFinite(upperBound) &&
70 upperBound <= options.StructuralZeroTolerance)
78 .TransportResourceAdditionalCapacity)
91 resource.AdditionalCapacityCost?[period] ??
96 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...
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...
const string TransportResource
Transport-resource identifier segment.
const string Period
Period index segment.