LotSizingDataModel.Solver
2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
IStandardLotSizingVariableBuilder.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 the variable-construction component used by the
10
/// standard solver-independent lot-sizing formulation.
11
/// </summary>
12
/// <remarks>
13
/// Implementations inspect the normalized
14
/// <see cref="LotSizingInstance"/> and create the mathematical
15
/// decision variables required by the standard formulation.
16
/// Every created variable must be registered through the
17
/// supplied <see cref="MathematicalModelBuildContext"/> so that
18
/// objective and constraint builders can resolve it later from
19
/// its canonical domain key.
20
/// </remarks>
21
public
interface
IStandardLotSizingVariableBuilder
22
{
23
/// <summary>
24
/// Creates and registers all mathematical variables required
25
/// by the standard lot-sizing formulation.
26
/// </summary>
27
/// <param name="instance">
28
/// Source lot-sizing instance.
29
/// </param>
30
/// <param name="context">
31
/// Mathematical-model build context receiving the generated
32
/// variables.
33
/// </param>
34
/// <param name="options">
35
/// Standard formulation options controlling optional
36
/// decision families.
37
/// </param>
38
/// <param name="cancellationToken">
39
/// Token used to cancel variable construction.
40
/// </param>
41
/// <returns>
42
/// Task representing variable construction.
43
/// </returns>
44
/// <exception cref="System.ArgumentNullException">
45
/// Thrown when <paramref name="instance"/>,
46
/// <paramref name="context"/>, or
47
/// <paramref name="options"/> is
48
/// <see langword="null"/>.
49
/// </exception>
50
/// <exception cref="System.InvalidOperationException">
51
/// Thrown when the source instance contains data that cannot
52
/// be represented consistently by the standard formulation.
53
/// </exception>
54
ValueTask
BuildAsync
(
55
LotSizingInstance instance,
56
MathematicalModelBuildContext
context,
57
StandardLotSizingFormulationOptions
options,
58
CancellationToken cancellationToken =
default
);
59
}
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.IStandardLotSizingVariableBuilder
Defines the variable-construction component used by the standard solver-independent lot-sizing formul...
Definition
IStandardLotSizingVariableBuilder.cs:22
LotSizingDataModel.Solver.Formulation.IStandardLotSizingVariableBuilder.BuildAsync
ValueTask BuildAsync(LotSizingInstance instance, MathematicalModelBuildContext context, StandardLotSizingFormulationOptions options, CancellationToken cancellationToken=default)
Creates and registers all mathematical variables required by the standard lot-sizing formulation.
LotSizingDataModel.Solver.Building
Definition
InventoryBalanceConstraintBuilder.cs:5
LotSizingDataModel.Solver.Formulation
Definition
BacklogCostObjectiveTermBuilder.cs:9
LotSizingDataModel.Solver
Formulation
IStandardLotSizingVariableBuilder.cs
Generated by
1.17.0