LotSizingDataModel.Solver 2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
ScientificResolutionPlan.cs
Go to the documentation of this file.
1using LotSizingDataModel.Instance.Scientific;
4
6
7/// <summary>
8/// Explicit scientific resolution plan:
9/// problem -> formulation -> solution method -> compatible backend family.
10/// </summary>
11public sealed class ScientificResolutionPlan
12{
15 ScientificClassificationResult classification,
16 ScientificFormulationSelectionResult formulationSelection,
17 IEnumerable<ScientificSolutionMethodCandidate> methodCandidates,
19 SolverKind requestedSolverKind,
20 IEnumerable<ScientificSolverBackendDefinition> backendCandidates,
21 ScientificSolverBackendDefinition? selectedBackend,
22 IEnumerable<string> diagnostics)
23 {
24 Status = status;
25
27 classification ??
28 throw new ArgumentNullException(nameof(classification));
29
31 formulationSelection ??
32 throw new ArgumentNullException(nameof(formulationSelection));
33
35 methodCandidates.ToArray();
36
37 SelectedMethod = selectedMethod;
38 RequestedSolverKind = requestedSolverKind;
39
41 backendCandidates.ToArray();
42
43 SelectedBackend = selectedBackend;
44
46 diagnostics.ToArray();
47 }
48
50
51 public ScientificClassificationResult Classification { get; }
52
55
56 public IReadOnlyList<ScientificSolutionMethodCandidate>
58
60
62
63 public IReadOnlyList<ScientificSolverBackendDefinition>
65
66 /// <summary>
67 /// Null for Automatic backend selection.
68 /// </summary>
70
71 public IReadOnlyList<string> Diagnostics { get; }
72
73 public bool IsReady =>
75 SelectedMethod is not null;
76
77 public string? SelectedMethodId =>
78 SelectedMethod?.Method.MethodId;
79}
ScientificSolverBackendDefinition? SelectedBackend
Null for Automatic backend selection.
ScientificResolutionPlan(ScientificResolutionPlanStatus status, ScientificClassificationResult classification, ScientificFormulationSelectionResult formulationSelection, IEnumerable< ScientificSolutionMethodCandidate > methodCandidates, ScientificSolutionMethodCandidate? selectedMethod, SolverKind requestedSolverKind, IEnumerable< ScientificSolverBackendDefinition > backendCandidates, ScientificSolverBackendDefinition? selectedBackend, IEnumerable< string > diagnostics)
One technical optimization backend. A backend is not a scientific solution method.
SolverKind
Identifies a supported mathematical optimization solver.
Definition SolverKind.cs:12