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.
1using System.Threading;
2using System.Threading.Tasks;
3using LotSizingDataModel.Instance;
5
7
8/// <summary>
9/// Defines one cost-term family of the standard lot-sizing
10/// objective function.
11/// </summary>
13{
14 /// <summary>
15 /// Gets the unique identifier of the objective-term family.
16 /// </summary>
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>
36 LotSizingInstance instance,
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,
63 LinearExpressionBuilder expressionBuilder,
65 CancellationToken cancellationToken = default);
66}
Provides a fluent builder for linear expressions.
Provides the shared state required while constructing a solver-independent mathematical model.
Configures the standard solver-independent mixed-integer lot-sizing formulation.
Defines one cost-term family of the standard lot-sizing objective function.
ValueTask BuildAsync(LotSizingInstance instance, MathematicalModelBuildContext context, LinearExpressionBuilder expressionBuilder, StandardLotSizingFormulationOptions options, CancellationToken cancellationToken=default)
Adds all linear objective terms belonging to this family.
bool IsEnabled(LotSizingInstance instance, StandardLotSizingFormulationOptions options)
Determines whether this objective-term family is enabled.