10 public IReadOnlyList<ClosedLoopDecisionSnapshot>
Project(
11 IReadOnlyList<ClosedLoopReturnStream> streams,
15 ArgumentNullException.ThrowIfNull(
18 ArgumentNullException.ThrowIfNull(
21 ArgumentNullException.ThrowIfNull(
25 new List<ClosedLoopDecisionSnapshot>();
27 foreach (ClosedLoopReturnStream stream
35 period <= stream.PlanningHorizon;
45 stream.DistributionCenterId,
55 stream.DistributionCenterId,
59 solveResult.FindVariableValue(
60 recoveryVariable.
Id) ??
61 throw new InvalidOperationException(
62 $
"Closed-loop recovery value for stream '{stream.Id}', period {period}, is missing.");
65 solveResult.FindVariableValue(
66 disposalVariable.
Id) ??
67 throw new InvalidOperationException(
68 $
"Closed-loop disposal value for stream '{stream.Id}', period {period}, is missing.");
76 stream.RecoveryYield *
77 recoveryValue.
Value));