ULSAlgorithms 1.1.0-g3e5595996d
High-performance exact and heuristic algorithms for uncapacitated lot sizing
Loading...
Searching...
No Matches
LsSeparatedCut.cs
Go to the documentation of this file.
2
4
5/// <summary>
6/// One candidate (l,S) inequality produced by a separation procedure.
7/// </summary>
8public sealed class LsSeparatedCut
9{
10 /// <summary>Initializes a separated cut.</summary>
12 LsCutDefinition definition,
13 double violation,
14 double efficacy)
15 {
17 definition ??
18 throw new ArgumentNullException(
19 nameof(definition));
20
21 if (!double.IsFinite(violation))
22 {
23 throw new ArgumentOutOfRangeException(
24 nameof(violation));
25 }
26
27 if (!double.IsFinite(efficacy))
28 {
29 throw new ArgumentOutOfRangeException(
30 nameof(efficacy));
31 }
32
33 Violation = violation;
34 Efficacy = efficacy;
35 }
36
37 /// <summary>Gets the solver-independent inequality definition.</summary>
39
40 /// <summary>
41 /// Gets RHS - LHS for the canonical greater-than-or-equal form.
42 /// Positive values are violated.
43 /// </summary>
44 public double Violation { get; }
45
46 /// <summary>Gets violation divided by the Euclidean coefficient norm.</summary>
47 public double Efficacy { get; }
48}
Solver-independent definition of one ULS (l,S) inequality.
LsSeparatedCut(LsCutDefinition definition, double violation, double efficacy)
Initializes a separated cut.
LsCutDefinition Definition
Gets the solver-independent inequality definition.
double Violation
Gets RHS - LHS for the canonical greater-than-or-equal form. Positive values are violated.
double Efficacy
Gets violation divided by the Euclidean coefficient norm.