3using LotSizingDataModel.Solution;
4using LotSizingDataModel.Solution.Decisions;
47 LotSizingSolution solution,
51 ArgumentNullException.ThrowIfNull(
54 ArgumentNullException.ThrowIfNull(
57 ArgumentNullException.ThrowIfNull(
60 ArgumentNullException.ThrowIfNull(
71 ProductionDecision? decision =
72 solution.ProductionDecisions
75 existingDecision.RoutingId ==
80 if (solution.PlanningHorizon <= 0)
82 throw new InvalidOperationException(
83 "The target lot-sizing solution must have a " +
84 "strictly positive planning horizon before " +
85 "setup decisions are mapped.");
89 new ProductionDecision(
91 solution.PlanningHorizon);
93 solution.AddProductionDecision(
101 decision.SetSetupActivated(
Stores the value returned by a solver for one mathematical decision variable.
Provides the canonical mathematical domain-key categories used to identify lot-sizing decision famili...
const string Setup
Identifies production setup decision variables.
Provides a reusable base implementation for mathematical decision mappers handling one domain-key cat...
virtual double ZeroTolerance
Gets the absolute tolerance below which a solver value is considered equal to zero.
Represents a parsed mathematical-model business-domain key.
int GetRequiredInt32(string name)
Gets a required integer segment.
Provides the canonical mathematical domain-key segment names used by lot-sizing variables and constra...
const string Routing
Routing identifier segment.
const string Period
Period index segment.
Provides the shared state and lookup services required while mapping a mathematical solver result bac...
Maps mathematical setup-variable values to setup activation decisions associated with production rout...
override string Category
Gets the mathematical domain-key category handled by this mapper.
override void MapValue(MathematicalSolutionMappingContext context, LotSizingSolution solution, MathematicalDomainKey domainKey, MathematicalVariableValue variableValue)
Maps one non-zero setup value.