LotSizingDataModel.Solver
2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
GlspMicroSetupStateVariableFamilyBuilder.cs
Go to the documentation of this file.
1
using
LotSizingDataModel.Core.Relationships;
2
using
LotSizingDataModel.Instance;
3
using
LotSizingDataModel.Solver.Building
;
4
5
namespace
LotSizingDataModel.Solver.Formulation
;
6
7
public
sealed
class
GlspMicroSetupStateVariableFamilyBuilder
:
8
StandardLotSizingVariableFamilyBuilderBase
9
{
10
public
override
string
FamilyId
=>
"glspMicroSetupState"
;
11
12
protected
override
ValueTask
BuildFamilyAsync
(
13
LotSizingInstance instance,
14
MathematicalModelBuildContext
context,
15
StandardLotSizingFormulationOptions
options,
16
CancellationToken cancellationToken)
17
{
18
(
int
plantId, var workCenter, var profile) =
19
GlspSchedulingData
.
GetSchedulingWorkCenter
(instance);
20
IReadOnlyList<ProductionRouting> routings =
21
GlspSchedulingData
.
GetRoutings
(instance, plantId, workCenter.Id);
22
23
foreach
(var microPeriod
in
profile.EnumerateMicroPeriods())
24
{
25
foreach
(ProductionRouting routing
in
routings)
26
{
27
cancellationToken.ThrowIfCancellationRequested();
28
AddBinaryVariable
(
29
context,
30
$
"glspY_r{routing.Id}_t{microPeriod.MacroPeriod}_s{microPeriod.MicroPeriodIndex}"
,
31
GlspFormulationVariableKeyFactory
.
CreateMicroSetupStateKey
(
32
plantId, workCenter.Id, routing.Id, routing.ItemId, microPeriod),
33
"GLSP setup state active in one micro-period."
);
34
}
35
}
36
37
return
ValueTask.CompletedTask;
38
}
39
}
LotSizingDataModel.Solver.Building.MathematicalModelBuildContext
Provides the shared state required while constructing a solver-independent mathematical model.
Definition
MathematicalModelBuildContext.cs:18
LotSizingDataModel.Solver.Formulation.GlspFormulationVariableKeyFactory
Definition
GlspFormulationVariableKeyFactory.cs:6
LotSizingDataModel.Solver.Formulation.GlspFormulationVariableKeyFactory.CreateMicroSetupStateKey
static string CreateMicroSetupStateKey(int plantId, int workCenterId, int routingId, int itemId, ProductionMicroPeriodReference microPeriod)
Definition
GlspFormulationVariableKeyFactory.cs:8
LotSizingDataModel.Solver.Formulation.GlspMicroSetupStateVariableFamilyBuilder
Definition
GlspMicroSetupStateVariableFamilyBuilder.cs:9
LotSizingDataModel.Solver.Formulation.GlspMicroSetupStateVariableFamilyBuilder.FamilyId
override string FamilyId
Gets the unique identifier of the variable family.
Definition
GlspMicroSetupStateVariableFamilyBuilder.cs:10
LotSizingDataModel.Solver.Formulation.GlspMicroSetupStateVariableFamilyBuilder.BuildFamilyAsync
override ValueTask BuildFamilyAsync(LotSizingInstance instance, MathematicalModelBuildContext context, StandardLotSizingFormulationOptions options, CancellationToken cancellationToken)
Definition
GlspMicroSetupStateVariableFamilyBuilder.cs:12
LotSizingDataModel.Solver.Formulation.GlspSchedulingData
Definition
GlspSchedulingData.cs:9
LotSizingDataModel.Solver.Formulation.GlspSchedulingData.GetSchedulingWorkCenter
static int WorkCenter ProductionSchedulingProfile Profile GetSchedulingWorkCenter(LotSizingInstance instance)
Definition
GlspSchedulingData.cs:60
LotSizingDataModel.Solver.Formulation.GlspSchedulingData.GetRoutings
static IReadOnlyList< ProductionRouting > GetRoutings(LotSizingInstance instance, int plantId, int workCenterId)
Definition
GlspSchedulingData.cs:81
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationOptions
Configures the standard solver-independent mixed-integer lot-sizing formulation.
Definition
StandardLotSizingFormulationOptions.cs:10
LotSizingDataModel.Solver.Formulation.StandardLotSizingVariableFamilyBuilderBase
Provides common validation and variable-registration helpers for one variable family of the standard ...
Definition
StandardLotSizingVariableFamilyBuilderBase.cs:22
LotSizingDataModel.Solver.Formulation.StandardLotSizingVariableFamilyBuilderBase.AddBinaryVariable
static MathematicalVariable AddBinaryVariable(MathematicalModelBuildContext context, string name, string domainKey, string description="")
Creates and registers one binary variable.
Definition
StandardLotSizingVariableFamilyBuilderBase.cs:194
LotSizingDataModel.Solver.Building
Definition
InventoryBalanceConstraintBuilder.cs:5
LotSizingDataModel.Solver.Formulation
Definition
BacklogCostObjectiveTermBuilder.cs:9
LotSizingDataModel.Solver
Formulation
GlspMicroSetupStateVariableFamilyBuilder.cs
Generated by
1.17.0