LotSizingDataModel.Solution 2.0.1
Solution objects for production, setup, inventory and related decisions.
Loading...
Searching...
No Matches
LotSizingSolution.Scheduling.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Xml.Serialization;
6
8
9public sealed partial class LotSizingSolution
10{
11 [XmlArray("workCenterSchedulingDecisions")]
12 [XmlArrayItem("workCenterSchedulingDecision")]
13 public List<WorkCenterSchedulingDecision>
15
18 {
19 ArgumentNullException.ThrowIfNull(decision);
20
21 PrepareDecision(
22 decision.PlanningHorizon,
23 decision.ResizeTimeSeries,
24 nameof(decision));
25
26 if (!decision.IsInternallyValid)
27 throw new ArgumentException(
28 "The work-center scheduling decision is not internally valid.",
29 nameof(decision));
30
31 if (WorkCenterSchedulingDecisions.Any(existing =>
32 existing.WorkCenter.RefersToSameWorkCenter(
33 decision.WorkCenter)))
34 throw new InvalidOperationException(
35 "A scheduling decision already exists for this work center.");
36
38 SubscribeToObject(decision);
39 NotifyDecisionProperties();
40 }
41}
Represents one candidate solution for a lot-sizing supply-chain instance.
void AddWorkCenterSchedulingDecision(WorkCenterSchedulingDecision decision)
List< WorkCenterSchedulingDecision > WorkCenterSchedulingDecisions