LotSizingDataModel.Solver
2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
SmallBucketSetupStartVariableFamilyBuilder.cs
Go to the documentation of this file.
1
using
LotSizingDataModel.Core.DecisionModel.Scheduling;
2
using
LotSizingDataModel.Instance;
3
using
LotSizingDataModel.Solver.Building
;
4
5
namespace
LotSizingDataModel.Solver.Formulation
;
6
7
public
sealed
class
SmallBucketSetupStartVariableFamilyBuilder
:
8
StandardLotSizingVariableFamilyBuilderBase
9
{
10
public
override
string
FamilyId
=>
"smallBucketSetupStart"
;
11
12
protected
override
ValueTask
BuildFamilyAsync
(
13
LotSizingInstance instance,
14
MathematicalModelBuildContext
context,
15
StandardLotSizingFormulationOptions
options,
16
CancellationToken cancellationToken)
17
{
18
ProductionSchedulingProfile profile =
19
instance.SupplyChain.WorkCenters
20
.Single(workCenter => workCenter.SchedulingProfile is not
null
)
21
.SchedulingProfile!;
22
23
foreach
(var routing
in
instance.SupplyChain.ProductionRoutings)
24
{
25
for
(
int
period = 1; period <= instance.PlanningHorizon; period++)
26
{
27
cancellationToken.ThrowIfCancellationRequested();
28
AddBinaryVariable
(
29
context,
30
$
"smallBucketSetupStart_r{routing.Id}_t{period}"
,
31
SmallBucketSchedulingDomainKeyFactory
.
CreateSetupStartKey
(
32
profile, routing, period),
33
"Mathematical-only small-bucket setup-start occurrence."
);
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.SmallBucketSchedulingDomainKeyFactory
Definition
SmallBucketSchedulingDomainKeyFactory.cs:9
LotSizingDataModel.Solver.Formulation.SmallBucketSchedulingDomainKeyFactory.CreateSetupStartKey
static string CreateSetupStartKey(ProductionSchedulingProfile profile, ProductionRouting routing, int period)
Definition
SmallBucketSchedulingDomainKeyFactory.cs:10
LotSizingDataModel.Solver.Formulation.SmallBucketSetupStartVariableFamilyBuilder
Definition
SmallBucketSetupStartVariableFamilyBuilder.cs:9
LotSizingDataModel.Solver.Formulation.SmallBucketSetupStartVariableFamilyBuilder.BuildFamilyAsync
override ValueTask BuildFamilyAsync(LotSizingInstance instance, MathematicalModelBuildContext context, StandardLotSizingFormulationOptions options, CancellationToken cancellationToken)
Definition
SmallBucketSetupStartVariableFamilyBuilder.cs:12
LotSizingDataModel.Solver.Formulation.SmallBucketSetupStartVariableFamilyBuilder.FamilyId
override string FamilyId
Gets the unique identifier of the variable family.
Definition
SmallBucketSetupStartVariableFamilyBuilder.cs:10
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
SmallBucketSetupStartVariableFamilyBuilder.cs
Generated by
1.17.0