ULSAlgorithms 1.1.0-g3e5595996d
High-performance exact and heuristic algorithms for uncapacitated lot sizing
Loading...
Searching...
No Matches
SolverExecutionInfo.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Serializable-style immutable snapshot of the solver selected for one
5/// solver-backed ULS execution.
6/// </summary>
7public sealed class SolverExecutionInfo
8{
9 private readonly string[] _selectionDiagnostics;
10
11 /// <summary>Creates an execution snapshot from a successful selection.</summary>
13 {
14 ArgumentNullException.ThrowIfNull(selection);
15
16 if (!selection.IsSelected ||
17 selection.SelectedAdapter is null ||
18 selection.Availability is null)
19 {
20 throw new ArgumentException(
21 "A successful solver selection is required.",
22 nameof(selection));
23 }
24
35 _selectionDiagnostics = selection.Diagnostics.ToArray();
36 }
37
38 /// <summary>Gets the requested solver.</summary>
40
41 /// <summary>Gets the selected concrete solver.</summary>
42 public SolverKind SelectedSolver { get; }
43
44 /// <summary>Gets the selected adapter identifier.</summary>
45 public string AdapterId { get; }
46
47 /// <summary>Gets the selected adapter name.</summary>
48 public string AdapterName { get; }
49
50 /// <summary>Gets the selected adapter version.</summary>
51 public string AdapterVersion { get; }
52
53 /// <summary>Gets the detected solver name.</summary>
54 public string SolverName { get; }
55
56 /// <summary>Gets the detected solver version.</summary>
57 public string SolverVersion { get; }
58
59 /// <summary>Gets the selected availability status.</summary>
61
62 /// <summary>Gets the selected installation path.</summary>
63 public string InstallationPath { get; }
64
65 /// <summary>Gets detected license information.</summary>
66 public string LicenseInformation { get; }
67
68 /// <summary>Gets diagnostics explaining automatic or explicit selection.</summary>
69 public IReadOnlyList<string> SelectionDiagnostics => _selectionDiagnostics;
70}
SolverAvailabilityStatus Status
Gets the detected availability status.
string InstallationPath
Gets the detected installation root.
string SolverVersion
Gets the detected solver version.
string LicenseInformation
Gets detected licensing information.
string InstallationPath
Gets the selected installation path.
string AdapterVersion
Gets the selected adapter version.
SolverAvailabilityStatus AvailabilityStatus
Gets the selected availability status.
string AdapterName
Gets the selected adapter name.
IReadOnlyList< string > SelectionDiagnostics
Gets diagnostics explaining automatic or explicit selection.
SolverKind SelectedSolver
Gets the selected concrete solver.
string AdapterId
Gets the selected adapter identifier.
SolverKind RequestedSolver
Gets the requested solver.
SolverExecutionInfo(SolverSelectionResult selection)
Creates an execution snapshot from a successful selection.
string SolverVersion
Gets the detected solver version.
string SolverName
Gets the detected solver name.
string LicenseInformation
Gets detected license information.
Describes the outcome of optimization-solver selection.
IReadOnlyList< string > Diagnostics
Gets deterministic selection diagnostics.
SolverKind RequestedSolver
Gets the solver requested by the caller.
bool IsSelected
Gets whether a usable adapter was selected.
IOptimizationSolverAdapter? SelectedAdapter
Gets the selected adapter, or null when selection failed.
SolverKind SelectedSolver
Gets the selected solver kind, or Unknown when none was selected.
SolverAvailabilityInfo? Availability
Gets machine-availability information for the selected solver.
string AdapterVersion
Gets the adapter implementation version.
SolverAvailabilityStatus
Describes whether a solver can currently be used on the current computer.
SolverKind
Identifies a mathematical optimization solver that can be used by solver-backed ULS algorithms.
Definition SolverKind.cs:15