ULSAlgorithms 1.1.0-g3e5595996d
High-performance exact and heuristic algorithms for uncapacitated lot sizing
Loading...
Searching...
No Matches
UlsSolutionValidationResult.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Independent ULS-domain validation report for one production plan.
5/// </summary>
6public sealed class UlsSolutionValidationResult
7{
8 /// <summary>Initializes a ULS validation report.</summary>
10 bool isFeasible,
11 double maximumBalanceResidual,
12 double finalInventoryResidual,
13 int setupLinkViolations,
14 double recomputedSetupCost,
15 double recomputedProductionCost,
16 double recomputedHoldingCost,
17 double maximumCostDifference,
18 IEnumerable<string> diagnostics)
19 {
20 IsFeasible = isFeasible;
21 MaximumBalanceResidual = maximumBalanceResidual;
22 FinalInventoryResidual = finalInventoryResidual;
23 SetupLinkViolations = setupLinkViolations;
24 RecomputedSetupCost = recomputedSetupCost;
25 RecomputedProductionCost = recomputedProductionCost;
26 RecomputedHoldingCost = recomputedHoldingCost;
27 MaximumCostDifference = maximumCostDifference;
28 Diagnostics = diagnostics.ToArray();
29 }
30
31 /// <summary>Gets whether the plan passed every ULS-domain check.</summary>
32 public bool IsFeasible { get; }
33
34 /// <summary>Gets the largest absolute inventory-balance residual.</summary>
35 public double MaximumBalanceResidual { get; }
36
37 /// <summary>Gets the absolute final inventory.</summary>
38 public double FinalInventoryResidual { get; }
39
40 /// <summary>Gets the number of periods with production but no setup.</summary>
41 public int SetupLinkViolations { get; }
42
43 /// <summary>Gets independently recomputed setup cost.</summary>
44 public double RecomputedSetupCost { get; }
45
46 /// <summary>Gets independently recomputed variable production cost.</summary>
47 public double RecomputedProductionCost { get; }
48
49 /// <summary>Gets independently recomputed holding cost.</summary>
50 public double RecomputedHoldingCost { get; }
51
52 /// <summary>
53 /// Gets the maximum absolute difference between stored and independently
54 /// recomputed cost components/total.
55 /// </summary>
56 public double MaximumCostDifference { get; }
57
58 /// <summary>Gets validation diagnostics.</summary>
59 public IReadOnlyList<string> Diagnostics { get; }
60
61 /// <summary>Gets the independently recomputed total objective.</summary>
62 public double RecomputedTotalCost =>
66}
double FinalInventoryResidual
Gets the absolute final inventory.
UlsSolutionValidationResult(bool isFeasible, double maximumBalanceResidual, double finalInventoryResidual, int setupLinkViolations, double recomputedSetupCost, double recomputedProductionCost, double recomputedHoldingCost, double maximumCostDifference, IEnumerable< string > diagnostics)
Initializes a ULS validation report.
int SetupLinkViolations
Gets the number of periods with production but no setup.
double MaximumCostDifference
Gets the maximum absolute difference between stored and independently recomputed cost components/tota...
double RecomputedHoldingCost
Gets independently recomputed holding cost.
double RecomputedProductionCost
Gets independently recomputed variable production cost.
double RecomputedSetupCost
Gets independently recomputed setup cost.
double RecomputedTotalCost
Gets the independently recomputed total objective.
IReadOnlyList< string > Diagnostics
Gets validation diagnostics.
bool IsFeasible
Gets whether the plan passed every ULS-domain check.
double MaximumBalanceResidual
Gets the largest absolute inventory-balance residual.