LotSizingDataModel.Solver
2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
IStandardLotSizingObjectiveTermBuilder.cs
Go to the documentation of this file.
1
using
System.Threading;
2
using
System.Threading.Tasks;
3
using
LotSizingDataModel.Instance;
4
using
LotSizingDataModel.Solver.Building
;
5
6
namespace
LotSizingDataModel.Solver.Formulation
;
7
8
/// <summary>
9
/// Defines one cost-term family of the standard lot-sizing
10
/// objective function.
11
/// </summary>
12
public
interface
IStandardLotSizingObjectiveTermBuilder
13
{
14
/// <summary>
15
/// Gets the unique identifier of the objective-term family.
16
/// </summary>
17
string
TermFamilyId
18
{
19
get
;
20
}
21
22
/// <summary>
23
/// Determines whether this objective-term family is enabled.
24
/// </summary>
25
/// <param name="instance">
26
/// Source lot-sizing instance.
27
/// </param>
28
/// <param name="options">
29
/// Standard formulation options.
30
/// </param>
31
/// <returns>
32
/// <see langword="true"/> when this term family must be
33
/// included; otherwise, <see langword="false"/>.
34
/// </returns>
35
bool
IsEnabled
(
36
LotSizingInstance instance,
37
StandardLotSizingFormulationOptions
options);
38
39
/// <summary>
40
/// Adds all linear objective terms belonging to this family.
41
/// </summary>
42
/// <param name="instance">
43
/// Source lot-sizing instance.
44
/// </param>
45
/// <param name="context">
46
/// Mathematical-model build context.
47
/// </param>
48
/// <param name="expressionBuilder">
49
/// Shared objective-expression builder.
50
/// </param>
51
/// <param name="options">
52
/// Standard formulation options.
53
/// </param>
54
/// <param name="cancellationToken">
55
/// Token used to cancel term construction.
56
/// </param>
57
/// <returns>
58
/// Task representing objective-term construction.
59
/// </returns>
60
ValueTask
BuildAsync
(
61
LotSizingInstance instance,
62
MathematicalModelBuildContext
context,
63
LinearExpressionBuilder
expressionBuilder,
64
StandardLotSizingFormulationOptions
options,
65
CancellationToken cancellationToken =
default
);
66
}
LotSizingDataModel.Solver.Building.LinearExpressionBuilder
Provides a fluent builder for linear expressions.
Definition
LinearExpressionBuilder.cs:10
LotSizingDataModel.Solver.Building.MathematicalModelBuildContext
Provides the shared state required while constructing a solver-independent mathematical model.
Definition
MathematicalModelBuildContext.cs:18
LotSizingDataModel.Solver.Formulation.StandardLotSizingFormulationOptions
Configures the standard solver-independent mixed-integer lot-sizing formulation.
Definition
StandardLotSizingFormulationOptions.cs:10
LotSizingDataModel.Solver.Formulation.IStandardLotSizingObjectiveTermBuilder
Defines one cost-term family of the standard lot-sizing objective function.
Definition
IStandardLotSizingObjectiveTermBuilder.cs:13
LotSizingDataModel.Solver.Formulation.IStandardLotSizingObjectiveTermBuilder.BuildAsync
ValueTask BuildAsync(LotSizingInstance instance, MathematicalModelBuildContext context, LinearExpressionBuilder expressionBuilder, StandardLotSizingFormulationOptions options, CancellationToken cancellationToken=default)
Adds all linear objective terms belonging to this family.
LotSizingDataModel.Solver.Formulation.IStandardLotSizingObjectiveTermBuilder.IsEnabled
bool IsEnabled(LotSizingInstance instance, StandardLotSizingFormulationOptions options)
Determines whether this objective-term family is enabled.
LotSizingDataModel.Solver.Formulation.IStandardLotSizingObjectiveTermBuilder.TermFamilyId
string TermFamilyId
Gets the unique identifier of the objective-term family.
Definition
IStandardLotSizingObjectiveTermBuilder.cs:18
LotSizingDataModel.Solver.Building
Definition
InventoryBalanceConstraintBuilder.cs:5
LotSizingDataModel.Solver.Formulation
Definition
BacklogCostObjectiveTermBuilder.cs:9
LotSizingDataModel.Solver
Formulation
IStandardLotSizingObjectiveTermBuilder.cs
Generated by
1.17.0