LotSizingDataModel.Solution
2.0.1
Solution objects for production, setup, inventory and related decisions.
Loading...
Searching...
No Matches
SolutionScientificProvenance.cs
Go to the documentation of this file.
1
namespace
LotSizingDataModel.Solution.Metadata.Scientific
;
2
3
/// <summary>
4
/// Dependency-neutral scientific provenance snapshot for one generated
5
/// lot-sizing solution.
6
/// </summary>
7
/// <remarks>
8
/// Only neutral values are stored so Solution remains independent from
9
/// Instance and Solver. Persistence uses the existing generation-parameter
10
/// collection through <see cref="SolutionScientificProvenanceCodec"/>.
11
/// </remarks>
12
public
sealed
class
SolutionScientificProvenance
13
{
14
public
const
string
LegacySchemaVersion
=
"1"
;
15
16
public
const
string
CurrentSchemaVersion
=
"2"
;
17
18
public
string
SchemaVersion
{
get
; init; } =
19
CurrentSchemaVersion
;
20
21
public
string
NotationSchemeId
{
get
; init; } =
22
"LSDM"
;
23
24
public
string
NotationSchemeVersion
{
get
; init; } =
25
"1"
;
26
27
public
string
DetectedNotation
{
get
; init; } =
28
string
.Empty;
29
30
public
string
CanonicalProblemClassCode
{
get
; init; } =
31
string
.Empty;
32
33
public
string
ProblemClassMatchKind
{
get
; init; } =
34
string
.Empty;
35
36
public
string
FormulationId
{
get
; init; } =
37
string
.Empty;
38
39
public
string
FormulationFamily
{
get
; init; } =
40
string
.Empty;
41
42
public
string
FormulationScientificCompatibility
{
get
; init; } =
43
string
.Empty;
44
45
public
string
SolutionMethodId
{
get
; init; } =
46
string
.Empty;
47
48
public
string
SolutionMethodCategory
{
get
; init; } =
49
string
.Empty;
50
51
public
string
SolverBackendKind
{
get
; init; } =
52
string
.Empty;
53
54
public
DateTime
CapturedAtUtc
{
get
; init; } =
55
DateTime.UtcNow;
56
57
public
bool
IsLegacySchema
=>
58
SchemaVersion
.Equals(
59
LegacySchemaVersion
,
60
StringComparison.Ordinal);
61
62
public
bool
HasResolutionMethodEvidence
=>
63
!
string
.IsNullOrWhiteSpace(
SolutionMethodId
) &&
64
!
string
.IsNullOrWhiteSpace(
SolutionMethodCategory
) &&
65
!
string
.IsNullOrWhiteSpace(
SolverBackendKind
);
66
67
public
bool
IsStructurallyComplete
=>
68
!
string
.IsNullOrWhiteSpace(
SchemaVersion
) &&
69
!
string
.IsNullOrWhiteSpace(
NotationSchemeId
) &&
70
!
string
.IsNullOrWhiteSpace(
NotationSchemeVersion
) &&
71
!
string
.IsNullOrWhiteSpace(
DetectedNotation
) &&
72
!
string
.IsNullOrWhiteSpace(
CanonicalProblemClassCode
) &&
73
!
string
.IsNullOrWhiteSpace(
FormulationId
) &&
74
!
string
.IsNullOrWhiteSpace(
75
FormulationScientificCompatibility
) &&
76
(
77
IsLegacySchema
||
78
(
79
SchemaVersion
.Equals(
80
CurrentSchemaVersion
,
81
StringComparison.Ordinal) &&
82
HasResolutionMethodEvidence
83
)
84
);
85
}
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance
Dependency-neutral scientific provenance snapshot for one generated lot-sizing solution.
Definition
SolutionScientificProvenance.cs:13
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.LegacySchemaVersion
const string LegacySchemaVersion
Definition
SolutionScientificProvenance.cs:14
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.SolverBackendKind
string SolverBackendKind
Definition
SolutionScientificProvenance.cs:51
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.HasResolutionMethodEvidence
bool HasResolutionMethodEvidence
Definition
SolutionScientificProvenance.cs:62
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.SolutionMethodCategory
string SolutionMethodCategory
Definition
SolutionScientificProvenance.cs:48
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.FormulationId
string FormulationId
Definition
SolutionScientificProvenance.cs:36
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.FormulationScientificCompatibility
string FormulationScientificCompatibility
Definition
SolutionScientificProvenance.cs:42
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.IsLegacySchema
bool IsLegacySchema
Definition
SolutionScientificProvenance.cs:57
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.SolutionMethodId
string SolutionMethodId
Definition
SolutionScientificProvenance.cs:45
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.NotationSchemeVersion
string NotationSchemeVersion
Definition
SolutionScientificProvenance.cs:24
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.NotationSchemeId
string NotationSchemeId
Definition
SolutionScientificProvenance.cs:21
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.DetectedNotation
string DetectedNotation
Definition
SolutionScientificProvenance.cs:27
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.SchemaVersion
string SchemaVersion
Definition
SolutionScientificProvenance.cs:18
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.CurrentSchemaVersion
const string CurrentSchemaVersion
Definition
SolutionScientificProvenance.cs:16
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.ProblemClassMatchKind
string ProblemClassMatchKind
Definition
SolutionScientificProvenance.cs:33
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.FormulationFamily
string FormulationFamily
Definition
SolutionScientificProvenance.cs:39
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.CapturedAtUtc
DateTime CapturedAtUtc
Definition
SolutionScientificProvenance.cs:54
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.CanonicalProblemClassCode
string CanonicalProblemClassCode
Definition
SolutionScientificProvenance.cs:30
LotSizingDataModel.Solution.Metadata.Scientific.SolutionScientificProvenance.IsStructurallyComplete
bool IsStructurallyComplete
Definition
SolutionScientificProvenance.cs:67
LotSizingDataModel.Solution.Metadata.Scientific
Definition
SolutionScientificProvenance.cs:1
LotSizingDataModel.Solution
Metadata
Scientific
SolutionScientificProvenance.cs
Generated by
1.17.0