38 "General exact (l,S) separator";
48 ArgumentNullException.ThrowIfNull(problem);
56 IReadOnlyDictionary<int, double> variableValues)
58 ArgumentNullException.ThrowIfNull(problem);
59 ArgumentNullException.ThrowIfNull(formulation);
60 ArgumentNullException.ThrowIfNull(variableValues);
65 double[] cumulativeDemand =
70 new List<LsSeparatedCut>(
90 new List<CutCoefficient>(
119 double setupContribution =
122 if (x <= setupContribution)
139 if (demandToL != 0.0)
156 if (coefficients.Count == 0)
Solver-independent definition of one ULS (l,S) inequality.
Exact combinatorial separation of the classical general ULS (l,S) inequalities.
IReadOnlyList< LsSeparatedCut > Separate(UlsProblem problem, UlsFormulation formulation, IReadOnlyDictionary< int, double > variableValues)
Generates the separator's candidate inequalities at one LP point.
bool IsApplicable(UlsProblem problem)
Tests whether the separator is applicable to the problem.
CutSeparationMethod Method
Gets the traceability method identifier.
string Name
Gets the stable separator name.
static double[] BuildCumulativeDemand(UlsProblem problem)
static void RequireAggregateVariables(UlsFormulation formulation)
static string GetVariableName(UlsFormulation formulation, IReadOnlyDictionary< int, int > semanticMap, int period, string family)
static double GetSemanticValue(IReadOnlyDictionary< int, int > semanticMap, int period, IReadOnlyDictionary< int, double > values, string family)
static double Efficacy(double violation, IEnumerable< CutCoefficient > coefficients)
static double IntervalDemand(double[] cumulativeDemand, int first, int last)
One candidate (l,S) inequality produced by a separation procedure.
Represents a validated classical uncapacitated lot-sizing problem.
int Horizon
Gets the number of planning periods.
Separates classical ULS (l,S) inequalities from a fractional aggregate lot-sizing solution.
LinearConstraintSense
Identifies the sense of a generated linear inequality.
CutSeparationMethod
Identifies the separation procedure that generated a cut.
Stores one nonzero coefficient of a generated linear inequality.