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.
1
using
System;
2
using
System.Collections.Generic;
3
using
System.Linq;
4
using
System.Xml.Serialization;
5
using
LotSizingDataModel.Solution.Decisions
;
6
7
namespace
LotSizingDataModel.Solution
;
8
9
public
sealed
partial class
LotSizingSolution
10
{
11
[XmlArray(
"workCenterSchedulingDecisions"
)]
12
[XmlArrayItem(
"workCenterSchedulingDecision"
)]
13
public
List<WorkCenterSchedulingDecision>
14
WorkCenterSchedulingDecisions
{
get
; } =
new
();
15
16
public
void
AddWorkCenterSchedulingDecision
(
17
WorkCenterSchedulingDecision
decision)
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
37
WorkCenterSchedulingDecisions
.Add(decision);
38
SubscribeToObject(decision);
39
NotifyDecisionProperties();
40
}
41
}
LotSizingDataModel.Solution.Decisions.WorkCenterSchedulingDecision
Definition
WorkCenterSchedulingDecision.cs:15
LotSizingDataModel.Solution.Decisions.WorkCenterSchedulingDecision.IsInternallyValid
bool IsInternallyValid
Definition
WorkCenterSchedulingDecision.cs:70
LotSizingDataModel.Solution.Decisions.WorkCenterSchedulingDecision.ResizeTimeSeries
void ResizeTimeSeries(int periodCount)
Definition
WorkCenterSchedulingDecision.cs:123
LotSizingDataModel.Solution.Decisions.WorkCenterSchedulingDecision.WorkCenter
WorkCenterReference WorkCenter
Definition
WorkCenterSchedulingDecision.cs:34
LotSizingDataModel.Solution.Decisions.WorkCenterSchedulingDecision.PlanningHorizon
int PlanningHorizon
Definition
WorkCenterSchedulingDecision.cs:45
LotSizingDataModel.Solution.LotSizingSolution
Represents one candidate solution for a lot-sizing supply-chain instance.
Definition
LotSizingSolution.ClosedLoop.cs:8
LotSizingDataModel.Solution.LotSizingSolution.AddWorkCenterSchedulingDecision
void AddWorkCenterSchedulingDecision(WorkCenterSchedulingDecision decision)
Definition
LotSizingSolution.Scheduling.cs:16
LotSizingDataModel.Solution.LotSizingSolution.WorkCenterSchedulingDecisions
List< WorkCenterSchedulingDecision > WorkCenterSchedulingDecisions
Definition
LotSizingSolution.Scheduling.cs:14
LotSizingDataModel.Solution.Decisions
Definition
ClosedLoopDecision.cs:6
LotSizingDataModel.Solution
Definition
AlgorithmParameter.cs:4
LotSizingDataModel.Solution
LotSizingSolution.Scheduling.cs
Generated by
1.17.0