LotSizingDataModel.Solver
2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
GlspSchedulingFormulationFactory.cs
Go to the documentation of this file.
1
namespace
LotSizingDataModel.Solver.Formulation
;
2
3
public
static
class
GlspSchedulingFormulationFactory
4
{
5
public
static
GlspSchedulingFormulation
CreateDefault
()
6
{
7
var options =
8
new
StandardLotSizingFormulationOptions
9
{
10
IncludeProductionSetups=
false
11
};
12
13
var variables =
14
StandardLotSizingFormulationFactory
.
CreateVariableFamilyBuilders
()
15
.Where(
16
builder =>
17
builder is not
SetupVariableFamilyBuilder
&&
18
builder is not
LotSizeMultipleVariableFamilyBuilder
&&
19
builder is not
ProductionStartUpVariableFamilyBuilder
)
20
.Concat(
21
new
IStandardLotSizingVariableFamilyBuilder
[]
22
{
23
new
GlspMicroProductionVariableFamilyBuilder
(),
24
new
GlspMicroSetupStateVariableFamilyBuilder
(),
25
new
GlspSetupStartVariableFamilyBuilder
(),
26
new
GlspStartUpVariableFamilyBuilder
(),
27
new
GlspChangeoverVariableFamilyBuilder
(),
28
new
GlspMacroProductionActivationVariableFamilyBuilder
()
29
})
30
.ToArray();
31
32
var objective =
33
StandardLotSizingFormulationFactory
.
CreateObjectiveTermBuilders
()
34
.Where(
35
builder =>
36
builder is not
ProductionSetupCostObjectiveTermBuilder
&&
37
builder is not
ProductionStartUpCostObjectiveTermBuilder
)
38
.Concat(
39
new
IStandardLotSizingObjectiveTermBuilder
[]
40
{
41
new
GlspSetupStartCostObjectiveTermBuilder
(),
42
new
GlspStartUpCostObjectiveTermBuilder
(),
43
new
GlspChangeoverCostObjectiveTermBuilder
()
44
})
45
.ToArray();
46
47
var constraints =
48
StandardLotSizingFormulationFactory
.
CreateConstraintFamilyBuilders
()
49
.Where(
50
builder =>
51
builder is not
ProductionSetupLinkConstraintFamilyBuilder
&&
52
builder is not
ProductionStartUpDefinitionConstraintFamilyBuilder
&&
53
builder is not
MinimumLotSizeConstraintFamilyBuilder
&&
54
builder is not
MaximumLotSizeConstraintFamilyBuilder
&&
55
builder is not
LotSizeMultipleConstraintFamilyBuilder
&&
56
builder is not
GroupingConstraintFamilyBuilder
&&
57
builder is not
WorkCenterCapacityConstraintFamilyBuilder
)
58
.Concat(
59
new
IStandardLotSizingConstraintFamilyBuilder
[]
60
{
61
new
GlspAggregateProductionConstraintFamilyBuilder
(),
62
new
GlspSingleSetupStateConstraintFamilyBuilder
(),
63
new
GlspSetupStartDefinitionConstraintFamilyBuilder
(),
64
new
GlspStartUpDefinitionConstraintFamilyBuilder
(),
65
new
GlspMicroProductionLinkConstraintFamilyBuilder
(),
66
new
GlspChangeoverDefinitionConstraintFamilyBuilder
(),
67
new
GlspSetupCountConstraintFamilyBuilder
(),
68
new
GlspGroupingConstraintFamilyBuilder
(),
69
new
GlspProducedItemCountConstraintFamilyBuilder
(),
70
new
GlspMacroCapacityConstraintFamilyBuilder
()
71
})
72
.ToArray();
73
74
return
new
GlspSchedulingFormulation
(
75
new
StandardLotSizingVariableBuilder
(variables),
76
new
StandardLotSizingObjectiveBuilder
(objective),
77
new
StandardLotSizingConstraintBuilder
(constraints),
78
options,
79
new
GlspSchedulingApplicabilityService
());
80
}
81
}
LotSizingDataModel.Solver.Formulation.GlspAggregateProductionConstraintFamilyBuilder
Definition
GlspAggregateProductionConstraintFamilyBuilder.cs:10
LotSizingDataModel.Solver.Formulation.GlspChangeoverCostObjectiveTermBuilder
Definition
GlspChangeoverCostObjectiveTermBuilder.cs:8
LotSizingDataModel.Solver.Formulation.GlspChangeoverDefinitionConstraintFamilyBuilder
Definition
GlspChangeoverDefinitionConstraintFamilyBuilder.cs:7
LotSizingDataModel.Solver.Formulation.GlspChangeoverVariableFamilyBuilder
Definition
GlspChangeoverVariableFamilyBuilder.cs:6
LotSizingDataModel.Solver.Formulation.GlspGroupingConstraintFamilyBuilder
Definition
GlspGroupingConstraintFamilyBuilder.cs:8
LotSizingDataModel.Solver.Formulation.GlspMacroCapacityConstraintFamilyBuilder
Builds GLSP macro-period capacity including production, generic setup-start time, distinct start-up t...
Definition
GlspMacroCapacityConstraintFamilyBuilder.cs:16
LotSizingDataModel.Solver.Formulation.GlspMacroProductionActivationVariableFamilyBuilder
Definition
GlspMacroProductionActivationVariableFamilyBuilder.cs:6
LotSizingDataModel.Solver.Formulation.GlspMicroProductionLinkConstraintFamilyBuilder
Definition
GlspMicroProductionLinkConstraintFamilyBuilder.cs:7
LotSizingDataModel.Solver.Formulation.GlspMicroProductionVariableFamilyBuilder
Definition
GlspMicroProductionVariableFamilyBuilder.cs:9
LotSizingDataModel.Solver.Formulation.GlspMicroSetupStateVariableFamilyBuilder
Definition
GlspMicroSetupStateVariableFamilyBuilder.cs:9
LotSizingDataModel.Solver.Formulation.GlspProducedItemCountConstraintFamilyBuilder
Definition
GlspProducedItemCountConstraintFamilyBuilder.cs:8
LotSizingDataModel.Solver.Formulation.GlspSchedulingApplicabilityService
Definition
GlspSchedulingApplicabilityService.cs:10
LotSizingDataModel.Solver.Formulation.GlspSchedulingFormulationFactory
Definition
GlspSchedulingFormulationFactory.cs:4
LotSizingDataModel.Solver.Formulation.GlspSchedulingFormulationFactory.CreateDefault
static GlspSchedulingFormulation CreateDefault()
Definition
GlspSchedulingFormulationFactory.cs:5
LotSizingDataModel.Solver.Formulation.GlspSchedulingFormulation
Definition
GlspSchedulingFormulation.cs:7
LotSizingDataModel.Solver.Formulation.GlspSetupCountConstraintFamilyBuilder
Definition
GlspSetupCountConstraintFamilyBuilder.cs:8
LotSizingDataModel.Solver.Formulation.GlspSetupStartCostObjectiveTermBuilder
Definition
GlspSetupStartCostObjectiveTermBuilder.cs:6
LotSizingDataModel.Solver.Formulation.GlspSetupStartDefinitionConstraintFamilyBuilder
Definition
GlspSetupStartDefinitionConstraintFamilyBuilder.cs:7
LotSizingDataModel.Solver.Formulation.GlspSetupStartVariableFamilyBuilder
Definition
GlspSetupStartVariableFamilyBuilder.cs:6
LotSizingDataModel.Solver.Formulation.GlspSingleSetupStateConstraintFamilyBuilder
Definition
GlspSingleSetupStateConstraintFamilyBuilder.cs:10
LotSizingDataModel.Solver.Formulation.GlspStartUpCostObjectiveTermBuilder
Definition
GlspStartUpCostObjectiveTermBuilder.cs:9
LotSizingDataModel.Solver.Formulation.GlspStartUpDefinitionConstraintFamilyBuilder
Synchronizes the distinct GLSP start-up variable with the exact micro-period setup-start event.
Definition
GlspStartUpDefinitionConstraintFamilyBuilder.cs:14
LotSizingDataModel.Solver.Formulation.GlspStartUpVariableFamilyBuilder
Definition
GlspStartUpVariableFamilyBuilder.cs:9
LotSizingDataModel.Solver.Formulation.GroupingConstraintFamilyBuilder
Enforces the minimum temporal spacing between consecutive production setups defined by each routing g...
Definition
GroupingConstraintFamilyBuilder.cs:44
LotSizingDataModel.Solver.Formulation.LotSizeMultipleConstraintFamilyBuilder
Enforces routing-specific production lot-size multiples.
Definition
LotSizeMultipleConstraintFamilyBuilder.cs:27
LotSizingDataModel.Solver.Formulation.LotSizeMultipleVariableFamilyBuilder
Builds the auxiliary integer multipliers required by production lot-size-multiple constraints.
Definition
LotSizeMultipleVariableFamilyBuilder.cs:26
LotSizingDataModel.Solver.Formulation.MaximumLotSizeConstraintFamilyBuilder
Builds maximum production-lot-size constraints.
Definition
MaximumLotSizeConstraintFamilyBuilder.cs:15
LotSizingDataModel.Solver.Formulation.MinimumLotSizeConstraintFamilyBuilder
Builds minimum production-lot-size constraints.
Definition
MinimumLotSizeConstraintFamilyBuilder.cs:17
LotSizingDataModel.Solver.Formulation.ProductionSetupCostObjectiveTermBuilder
Adds fixed production setup costs to the standard objective.
Definition
ProductionSetupCostObjectiveTermBuilder.cs:17
LotSizingDataModel.Solver.Formulation.ProductionSetupLinkConstraintFamilyBuilder
Links production quantities to binary setup variables.
Definition
ProductionSetupLinkConstraintFamilyBuilder.cs:17
LotSizingDataModel.Solver.Formulation.ProductionStartUpCostObjectiveTermBuilder
Adds standard production start-up costs.
Definition
ProductionStartUpCostObjectiveTermBuilder.cs:12
LotSizingDataModel.Solver.Formulation.ProductionStartUpDefinitionConstraintFamilyBuilder
Defines standard start-up events as exact 0-to-1 setup transitions.
Definition
ProductionStartUpDefinitionConstraintFamilyBuilder.cs:14
LotSizingDataModel.Solver.Formulation.ProductionStartUpVariableFamilyBuilder
Builds standard production start-up event variables.
Definition
ProductionStartUpVariableFamilyBuilder.cs:19
LotSizingDataModel.Solver.Formulation.SetupVariableFamilyBuilder
Builds the production-setup variable family of the standard lot-sizing formulation.
Definition
SetupVariableFamilyBuilder.cs:27
LotSizingDataModel.Solver.Formulation.StandardLotSizingConstraintBuilder
Builds all constraint families of the standard lot-sizing formulation.
Definition
StandardLotSizingConstraintBuilder.cs:17
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationFactory
Creates fully configured instances of the standard solver-independent lot-sizing formulation.
Definition
StandardLotSizingFormulationFactory.cs:11
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationFactory.CreateVariableFamilyBuilders
static IReadOnlyList< IStandardLotSizingVariableFamilyBuilder > CreateVariableFamilyBuilders()
Creates the ordered standard variable-family builders.
Definition
StandardLotSizingFormulationFactory.cs:76
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationFactory.CreateConstraintFamilyBuilders
static IReadOnlyList< IStandardLotSizingConstraintFamilyBuilder > CreateConstraintFamilyBuilders()
Creates the ordered standard constraint-family builders.
Definition
StandardLotSizingFormulationFactory.cs:154
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationFactory.CreateObjectiveTermBuilders
static IReadOnlyList< IStandardLotSizingObjectiveTermBuilder > CreateObjectiveTermBuilders()
Creates the ordered standard objective-term builders.
Definition
StandardLotSizingFormulationFactory.cs:113
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationOptions
Configures the standard solver-independent mixed-integer lot-sizing formulation.
Definition
StandardLotSizingFormulationOptions.cs:10
LotSizingDataModel.Solver.Formulation.StandardLotSizingObjectiveBuilder
Builds the complete linear objective of the standard lot-sizing formulation from registered objective...
Definition
StandardLotSizingObjectiveBuilder.cs:19
LotSizingDataModel.Solver.Formulation.StandardLotSizingVariableBuilder
Aggregates the variable-family builders used by the standard lot-sizing formulation.
Definition
StandardLotSizingVariableBuilder.cs:24
LotSizingDataModel.Solver.Formulation.WorkCenterCapacityConstraintFamilyBuilder
Builds global work-center capacity constraints.
Definition
WorkCenterCapacityConstraintFamilyBuilder.cs:20
LotSizingDataModel.Solver.Formulation.IStandardLotSizingConstraintFamilyBuilder
Defines one constraint family of the standard lot-sizing formulation.
Definition
IStandardLotSizingConstraintFamilyBuilder.cs:13
LotSizingDataModel.Solver.Formulation.IStandardLotSizingObjectiveTermBuilder
Defines one cost-term family of the standard lot-sizing objective function.
Definition
IStandardLotSizingObjectiveTermBuilder.cs:13
LotSizingDataModel.Solver.Formulation.IStandardLotSizingVariableFamilyBuilder
Defines one decision-variable family of the standard lot-sizing formulation.
Definition
StandardLotSizingVariableBuilder.cs:171
LotSizingDataModel.Solver.Formulation
Definition
BacklogCostObjectiveTermBuilder.cs:9
LotSizingDataModel.Solver
Formulation
GlspSchedulingFormulationFactory.cs
Generated by
1.17.0