LotSizingDataModel.Checker 2.0.1
Reusable validation engine for structural, mathematical and objective consistency checks.
Loading...
Searching...
No Matches
ScientificSolvePipelineResult.cs
Go to the documentation of this file.
3using LotSizingDataModel.Instance.Scientific;
4using LotSizingDataModel.Solution.Metadata.Scientific;
5using LotSizingDataModel.Solver.Execution;
6using LotSizingDataModel.Solver.Formulation.Scientific;
7using LotSizingDataModel.Solver.Resolution.Scientific;
8
10
11/// <summary>
12/// Keeps every evidence channel of one end-to-end scientific solve separate.
13/// </summary>
15{
18 ScientificClassificationResult classification,
19 ScientificFormulationSelectionResult formulationSelection,
20 ScientificResolutionPlan resolutionPlan,
21 SolverRunResult? solverRun,
22 SolutionScientificProvenance? capturedProvenance,
23 LotSizingSolutionVerificationResult? numericalVerification,
24 SolutionScientificProvenanceCheckResult? provenanceVerification,
25 IEnumerable<ScientificSolvePipelineDiagnostic> diagnostics)
26 {
27 Status = status;
28
30 classification ??
31 throw new ArgumentNullException(nameof(classification));
32
34 formulationSelection ??
35 throw new ArgumentNullException(nameof(formulationSelection));
36
38 resolutionPlan ??
39 throw new ArgumentNullException(nameof(resolutionPlan));
40
41 SolverRun = solverRun;
42 CapturedProvenance = capturedProvenance;
43 NumericalVerification = numericalVerification;
44 ProvenanceVerification = provenanceVerification;
45
47 diagnostics.ToArray();
48 }
49
51
52 public ScientificClassificationResult Classification { get; }
53
54 public ScientificFormulationSelectionResult
56
57 public ScientificResolutionPlan ResolutionPlan { get; }
58
59 public SolverRunResult? SolverRun { get; }
60
61 public SolutionScientificProvenance? CapturedProvenance { get; }
62
63 /// <summary>
64 /// Existing independent numerical/structural/feasibility verification.
65 /// </summary>
68
69 /// <summary>
70 /// Independent scientific provenance verification.
71 /// </summary>
74
75 public IReadOnlyList<ScientificSolvePipelineDiagnostic>
76 Diagnostics { get; }
77
78 public bool HasSolution =>
79 SolverRun?.HasSolution == true;
80
81 public bool IsNumericallyVerified =>
82 NumericalVerification?.IsValid == true;
83
84 public bool IsProvenanceCoherent =>
85 ProvenanceVerification?.IsCoherent == true;
86
87 /// <summary>
88 /// Strict end-to-end success: the pipeline completed with a solution and
89 /// every requested verification channel succeeded.
90 /// </summary>
91 public bool IsEndToEndCoherent =>
96}
Contains both the independent checker result and information about the application of that result to ...
bool IsEndToEndCoherent
Strict end-to-end success: the pipeline completed with a solution and every requested verification ch...
LotSizingSolutionVerificationResult? NumericalVerification
Existing independent numerical/structural/feasibility verification.
SolutionScientificProvenanceCheckResult? ProvenanceVerification
Independent scientific provenance verification.
ScientificSolvePipelineResult(ScientificSolvePipelineStatus status, ScientificClassificationResult classification, ScientificFormulationSelectionResult formulationSelection, ScientificResolutionPlan resolutionPlan, SolverRunResult? solverRun, SolutionScientificProvenance? capturedProvenance, LotSizingSolutionVerificationResult? numericalVerification, SolutionScientificProvenanceCheckResult? provenanceVerification, IEnumerable< ScientificSolvePipelineDiagnostic > diagnostics)
ScientificSolvePipelineStatus
High-level status of the end-to-end scientific solve pipeline.