30 "Disaggregated facility-location formulation";
40 ArgumentNullException.ThrowIfNull(problem);
48 ArgumentNullException.ThrowIfNull(problem);
57 new Dictionary<int, int>();
60 new Dictionary<(int First, int Second), int>();
75 model.AddObjectiveTerm(
80 for (
int demandPeriod = 0;
81 demandPeriod < horizon;
96 for (
int productionPeriod = 0;
97 productionPeriod <= demandPeriod;
102 $
"q[{productionPeriod},{demandPeriod}]",
108 (productionPeriod, demandPeriod),
117 $
"facility-link[{productionPeriod},{demandPeriod}]",
123 setup[productionPeriod],
129 model.AddObjectiveTerm(
138 $
"demand[{demandPeriod}]",
146 "Disaggregated/facility-location ULS formulation; Krarup & Bilde " +
147 "(1977), DOI 10.1007/978-3-0348-5936-3_10; taxonomy in Brahimi " +
148 "et al. (2006), DOI 10.1016/j.ejor.2004.01.054.",
150 "ULS-Facility-Location"),
Represents a validated classical uncapacitated lot-sizing problem.
int Horizon
Gets the number of planning periods.
ReadOnlySpan< double > Demands
Gets demand by period.
ReadOnlySpan< double > SetupCosts
Gets fixed setup costs by period.
LinearVariableType
Identifies the domain of a variable in a portable linear mathematical model.
LinearConstraintSense
Identifies the sense of a portable linear constraint.
Stores one coefficient of a portable linear expression.