14 LotSizingInstance instance,
18 CancellationToken cancellationToken)
20 ProductionSchedulingProfile profile =
21 instance.SupplyChain.WorkCenters
22 .Single(workCenter => workCenter.SchedulingProfile is not
null)
25 foreach (ProductionRouting routing
in instance.SupplyChain.ProductionRoutings)
27 var reference = routing.WorkCenters.Single();
28 ProductionCharacteristic characteristic =
29 instance.SupplyChain.ProductionCharacteristics.Single(candidate =>
30 candidate.ItemId == routing.ItemId &&
31 candidate.WorkCenter.PlantId == reference.PlantId &&
32 candidate.WorkCenter.WorkCenterId == reference.WorkCenterId);
34 for (
int period=1; period<=instance.PlanningHorizon; period++)
36 double cost = characteristic.FixedSetupCost?[period] ?? 0.0;
37 if (cost == 0.0)
continue;
42 return ValueTask.CompletedTask;