2using System.Xml.Serialization;
11[XmlType(TypeName =
"solverProgressRecordingOptions")]
45 [XmlAttribute(
"mode")]
58 [XmlAttribute(
"timeIntervalSeconds")]
71 [XmlAttribute(
"nodeInterval")]
82 [XmlAttribute(
"minimumObjectiveChange")]
93 [XmlAttribute(
"minimumBoundChange")]
104 [XmlAttribute(
"minimumRelativeGapChange")]
118 [XmlAttribute(
"maximumRecordedPointCount")]
139 throw new InvalidOperationException(
140 "The progress-recording time interval must be " +
141 "a finite non-negative number.");
146 throw new InvalidOperationException(
147 "The progress-recording node interval cannot " +
151 ValidateFiniteNonNegativeValue(
155 ValidateFiniteNonNegativeValue(
159 ValidateFiniteNonNegativeValue(
165 throw new InvalidOperationException(
166 "The maximum recorded-point count cannot be " +
174 throw new InvalidOperationException(
175 "A strictly positive time interval is required " +
176 "when time-interval progress recording is " +
184 throw new InvalidOperationException(
185 "A strictly positive node interval is required " +
186 "when node-interval progress recording is " +
191 private static void ValidateFiniteNonNegativeValue(
201 throw new InvalidOperationException(
202 $
"{propertyName} must be a finite " +
203 "non-negative number.");
double TimeIntervalSeconds
Gets or sets the minimum elapsed-time interval, in seconds, between two retained snapshots when Solve...
double MinimumObjectiveChange
Gets or sets the minimum absolute incumbent-objective change considered significant.
long NodeInterval
Gets or sets the minimum number of newly explored nodes between two retained snapshots when SolverPro...
double MinimumRelativeGapChange
Gets or sets the minimum absolute relative-gap change considered significant.
void EnsureValid()
Validates the progress-recording options.
SolverProgressRecordingMode Mode
Gets or sets the progress-recording mode.
int MaximumRecordedPointCount
Gets or sets the maximum number of progress points that may be retained.
double MinimumBoundChange
Gets or sets the minimum absolute best-bound change considered significant.
SolverProgressRecordingOptions()
Initializes progress-recording options with recommended defaults.
SolverProgressRecordingMode
Defines how solver progress snapshots are retained in the solution convergence history.