4using System.Threading.Tasks;
5using LotSizingDataModel.Core.PhysicalModel;
6using LotSizingDataModel.Core.Relationships;
7using LotSizingDataModel.Instance;
23 "transportAdditionalCapacityCost";
29 LotSizingInstance instance,
32 ArgumentNullException.ThrowIfNull(instance);
33 ArgumentNullException.ThrowIfNull(options);
36 options.IncludeTransport &&
45 LotSizingInstance instance,
49 CancellationToken cancellationToken)
52 TransportCharacteristic characteristic
53 in instance.SupplyChain.TransportCharacteristics)
55 if (characteristic.AdditionalCapacity is
null)
60 TransportResource resource =
61 instance.SupplyChain.TransportResources
65 characteristic.TransportResourceId);
68 AssignedTransportLane lane
69 in instance.SupplyChain.GetTransportLanes(resource.Id))
73 period <= instance.PlanningHorizon;
76 cancellationToken.ThrowIfCancellationRequested();
79 characteristic.AdditionalCapacity[period];
81 if (options.RemoveStructurallyZeroVariables &&
82 double.IsFinite(upperBound) &&
83 upperBound <= options.StructuralZeroTolerance)
93 .TransportAdditionalCapacity,
94 characteristic.ItemId,
101 characteristic.AdditionalCapacityCost?[period] ??
107 return ValueTask.CompletedTask;
Provides a fluent builder for linear expressions.
Builds stable business-domain keys for mathematical variables and constraints.
MathematicalDomainKeyBuilder Add(string name, string value)
Adds a text segment.
Provides the shared state required while constructing a solver-independent mathematical model.
Creates canonical domain-key fragments shared by standard formulation builders and provides warehouse...
static MathematicalDomainKeyBuilder AddDestinationWarehouse(MathematicalDomainKeyBuilder builder, WarehouseReference warehouse)
Adds a destination warehouse reference.
static MathematicalDomainKeyBuilder AddOriginWarehouse(MathematicalDomainKeyBuilder builder, WarehouseReference warehouse)
Adds an origin warehouse reference.
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 Item
Item or product identifier segment.
const string Period
Period index segment.