17 string solverConstraintName =
"",
18 string dispositionReason =
"")
20 if (sequenceNumber < 0)
22 throw new ArgumentOutOfRangeException(nameof(sequenceNumber));
27 throw new ArgumentOutOfRangeException(nameof(iteration));
32 throw new ArgumentOutOfRangeException(nameof(separationMethod));
35 ArgumentNullException.ThrowIfNull(definition);
37 if (!
double.IsFinite(violation))
39 throw new ArgumentOutOfRangeException(nameof(violation));
42 if (!
double.IsFinite(efficacy))
44 throw new ArgumentOutOfRangeException(nameof(efficacy));
int SequenceNumber
Gets the stable sequence number within the solve.
CutFamily Family
Gets the cut family.
double Violation
Gets the violation measured when the cut was generated.
LsCutDefinition Definition
Gets the complete solver-independent (l,S) definition.
string SolverConstraintName
Gets the row/constraint name used by the selected solver adapter.
CutDisposition Disposition
Gets the final disposition of this generated cut.
double Efficacy
Gets the cut efficacy metric used by the separator.
bool WasAdded
Gets whether the constraint was actually added to the solver model.
int Iteration
Gets the cutting-plane iteration that generated this cut.
CutSeparationMethod SeparationMethod
Gets the separation method.
CutRecord(int sequenceNumber, int iteration, CutSeparationMethod separationMethod, LsCutDefinition definition, double violation, double efficacy, CutDisposition disposition, string solverConstraintName="", string dispositionReason="")
Initializes one cut trace record.
string DispositionReason
Gets a human-readable explanation of the disposition.
Solver-independent definition of one ULS (l,S) inequality.
CutSeparationMethod
Identifies the separation procedure that generated a cut.
CutDisposition
Describes what happened to a generated cut after separation.
CutFamily
Identifies a family of valid inequalities generated by a separator.