32 "1,SL,Net:UNK | Dem,Det,Prod,Cap:P | Obj:Econ");
37 ArgumentNullException.ThrowIfNull(profile);
43 Array.Empty<
string>(),
51 ArgumentNullException.ThrowIfNull(profile);
52 ArgumentNullException.ThrowIfNull(descriptor);
58 Array.Empty<
string>(),
66 public static IReadOnlyList<UniversalTemporalQualifier>
70 ArgumentNullException.ThrowIfNull(profile);
97 ArgumentNullException.ThrowIfNull(profile);
121 ArgumentNullException.ThrowIfNull(descriptor);
123 var failedRequirements =
136 "positiveItemCountAndPlanningHorizon"
138 Array.Empty<
string>());
143 failedRequirements.Add(
"singleItem");
148 failedRequirements.Add(
"singleLevel");
153 failedRequirements.Add(
"demand");
158 failedRequirements.Add(
"deterministicDemand");
163 failedRequirements.Add(
"production");
168 failedRequirements.Add(
"productionCapacity");
173 failedRequirements.Add(
"singleEconomicObjective");
176 if (failedRequirements.Count > 0)
181 Array.Empty<
string>());
196 "productionLeadTimes",
201 "lotSizeRestrictions",
206 "additionalCapacity",
256 "financialConstraints",
260 extensions.Count == 0
266 Array.Empty<
string>(),
270 private static void AddExtension(
273 ICollection<string> extensions)
277 extensions.Add(code);
bool HasAdditionalCapacity
bool HasTransportCapacity
bool HasWarehouseCapacity
bool HasProductionCapacity
bool HasSafetyStockRequirements
Typed structured description of the factual lot-sizing problem characteristics currently represented ...
CapacityDescriptor Capacity
ObjectiveFinanceDescriptor ObjectiveFinance
StructureDescriptor Structure
ProcurementDescriptor Procurement
TransportationDistributionDescriptor TransportationDistribution
ProductionDescriptor Production
InventoryServiceDescriptor InventoryService
bool HasMultipleObjectives
bool HasFinancialConstraints
bool HasLotSizeRestrictions
Represents the historical Bitran-Yanasse temporal structure alpha/beta/gamma/delta for single-item ca...
TemporalPatternAnalysis HoldingCost
TemporalPatternAnalysis ProductionCost
TemporalPatternAnalysis Capacity
TemporalPatternAnalysis SetupCost
TemporalPatternType Pattern
Structured assessment of Bitran-Yanasse historical-domain applicability.
Maps the historical Bitran-Yanasse temporal classification to the portion of the LotSizingDataModel u...
static IReadOnlyList< UniversalTemporalQualifier > CreateTemporalQualifiers(BitranYanasseTemporalProfile profile)
Converts the four historical temporal positions to generic universal TP qualifiers without using hist...
BitranYanasseApplicabilityAssessment AssessApplicability(LotSizingProblemDescriptor descriptor)
BitranYanasseHistoricalMapping Map(BitranYanasseTemporalProfile profile)
BitranYanasseHistoricalMapping Map(BitranYanasseTemporalProfile profile, LotSizingProblemDescriptor descriptor)
static UniversalProblemSpecification CreateUniversalSpecification(BitranYanasseTemporalProfile profile)
Creates the lossless universal specification corresponding to one complete historical profile.
static UniversalProblemSpecification ClassicalDomainSpecification
Gets the universal v1 domain specification shared by the classical Bitran-Yanasse problem family,...
Represents a lossless historical Bitran-Yanasse profile together with the lossless projection to univ...
Represents a universal notation interpreted as a problem specification.
static UniversalProblemSpecification Parse(string text, string? schemeVersion=null)
UniversalLotSizingNotation Notation
Typed abstract syntax tree for the versioned alpha | beta | gamma scheme.
UniversalNotationGamma Gamma
UniversalNotationBeta Beta
UniversalNotationAlpha Alpha
Beta field: constraints and modeled extensions.
IReadOnlyCollection< UniversalNotationFeature > Features
HistoricalMappingCoverage
Describes how completely a historical classification can currently be represented by the universal no...
BitranYanasseApplicabilityKind
Describes whether an instance descriptor belongs to the scientific domain of the historical Bitran-Ya...
@ ExactHistoricalDomain
The descriptor satisfies the classical domain conditions and contains no currently identified extensi...
UniversalTemporalParameter
Identifies a time-varying model parameter that may be qualified by a generic temporal pattern in univ...
record UniversalTemporalQualifier
Qualifies one universal model-parameter family with a generic temporal pattern.