LotSizingDataModel.Solver 2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
ScientificFormulationSelectionResult.cs
Go to the documentation of this file.
1using LotSizingDataModel.Instance.Scientific;
2
4
5/// <summary>
6/// Result of scientific formulation preselection/selection.
7/// </summary>
9{
11 ScientificClassificationResult classification,
12 string requestedFormulationId,
14 bool usedFallback,
15 IEnumerable<ScientificFormulationSelectionCandidate> candidates,
16 IEnumerable<ScientificFormulationDiagnostic> diagnostics)
17 {
19 classification ??
20 throw new ArgumentNullException(nameof(classification));
21
23 requestedFormulationId ?? string.Empty;
24
25 SelectedCandidate = selectedCandidate;
26 UsedFallback = usedFallback;
27 Candidates = candidates.ToArray();
28 Diagnostics = diagnostics.ToArray();
29 }
30
31 public ScientificClassificationResult Classification { get; }
32 public string RequestedFormulationId { get; }
34 public bool UsedFallback { get; }
35 public IReadOnlyList<ScientificFormulationSelectionCandidate> Candidates { get; }
36 public IReadOnlyList<ScientificFormulationDiagnostic> Diagnostics { get; }
37
38 public bool IsSuccessful =>
39 SelectedCandidate is not null;
40
42 SelectedCandidate?.Formulation;
43}
ScientificFormulationSelectionResult(ScientificClassificationResult classification, string requestedFormulationId, ScientificFormulationSelectionCandidate? selectedCandidate, bool usedFallback, IEnumerable< ScientificFormulationSelectionCandidate > candidates, IEnumerable< ScientificFormulationDiagnostic > diagnostics)
Defines a solver-independent mathematical formulation for a lot-sizing instance.