3using System.Threading.Tasks;
4using LotSizingDataModel.Instance;
38 LotSizingInstance instance,
41 ArgumentNullException.ThrowIfNull(
44 ArgumentNullException.ThrowIfNull(
70 LotSizingInstance instance,
73 CancellationToken cancellationToken =
default)
75 ArgumentNullException.ThrowIfNull(
78 ArgumentNullException.ThrowIfNull(
81 ArgumentNullException.ThrowIfNull(
84 if (
string.IsNullOrWhiteSpace(
87 throw new InvalidOperationException(
88 "A standard constraint-family builder must " +
89 "expose a non-empty family identifier.");
94 cancellationToken.ThrowIfCancellationRequested();
122 LotSizingInstance instance,
125 CancellationToken cancellationToken);
144 ArgumentNullException.ThrowIfNull(
147 if (
string.IsNullOrWhiteSpace(
150 throw new ArgumentException(
151 "A variable domain key is required.",
188 double rightHandSide,
189 string domainKey =
"",
190 string description =
"")
192 ArgumentNullException.ThrowIfNull(
195 ArgumentNullException.ThrowIfNull(
Provides the shared state required while constructing a solver-independent mathematical model.
LinearConstraint AddConstraint(string name, LinearExpression leftHandSide, MathematicalConstraintSense sense, double rightHandSide, string domainKey="", string description="")
Adds a linear constraint to the mathematical model.
MathematicalVariable GetVariable(string domainKey)
Gets a required mathematical variable from its business-domain key.
Represents a linear expression composed of variable terms and a constant value.
Represents one decision variable in a mathematical optimization model.
MathematicalConstraintSense
Identifies the relational sense of a mathematical constraint.