3using System.Threading.Tasks;
4using LotSizingDataModel.Core.Relationships;
5using LotSizingDataModel.Instance;
26 LotSizingInstance instance,
29 ArgumentNullException.ThrowIfNull(instance);
30 ArgumentNullException.ThrowIfNull(options);
33 options.IncludeProcurement &&
34 instance.SupplyChain.SupplierDeliveries.Any(
36 delivery.CapacityConstraint is not
null);
40 LotSizingInstance instance,
43 CancellationToken cancellationToken)
46 SupplierDelivery delivery
47 in instance.SupplyChain.SupplierDeliveries)
49 if (delivery.CapacityConstraint is
null)
56 period <= instance.PlanningHorizon;
59 cancellationToken.ThrowIfCancellationRequested();
85 delivery.CapacityConstraint
86 .GetMaximumCapacity(period);
90 $
"supplierCapacity_f{delivery.SupplierId}" +
91 $
"_i{delivery.ItemId}" +
92 $
"_w{delivery.Warehouse.ReferenceId}" +
100 "Maximum procurement quantity for one supplier-" +
101 "item-destination relationship.");
105 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.
Provides the canonical mathematical domain-key categories used to identify lot-sizing decision famili...
const string Procurement
Identifies supplier-procurement decision variables.
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...
const string Item
Item or product identifier segment.
const string Supplier
Supplier identifier segment.
const string Period
Period index segment.
Represents one decision variable in a mathematical optimization model.
MathematicalConstraintSense
Identifies the relational sense of a mathematical constraint.