LotSizingDataModel.Checker 2.0.1
Reusable validation engine for structural, mathematical and objective consistency checks.
Loading...
Searching...
No Matches
ILotSizingSolutionChecker.cs
Go to the documentation of this file.
3using LotSizingDataModel.Instance;
4using LotSizingDataModel.Solution;
5using LotSizingDataModel.Solver.Modeling;
6
8
9/// <summary>
10/// Defines a generic, solver-independent checker for lot-sizing solutions.
11/// </summary>
13{
14 /// <summary>
15 /// Checks a candidate solution against its lot-sizing instance.
16 /// </summary>
17 /// <param name="instance">
18 /// Instance defining the problem to satisfy.
19 /// </param>
20 /// <param name="solution">
21 /// Candidate solution to validate.
22 /// </param>
23 /// <param name="options">
24 /// Optional checking configuration.
25 /// </param>
26 /// <param name="cancellationToken">
27 /// Cancellation token.
28 /// </param>
29 /// <returns>
30 /// Detailed structural, feasibility, and objective diagnostics.
31 /// </returns>
32 Task<SolutionCheckResult> CheckAsync(
33 LotSizingInstance instance,
34 LotSizingSolution solution,
35 SolutionCheckOptions? options = null,
36 CancellationToken cancellationToken = default);
37
38 /// <summary>
39 /// Checks a candidate solution against its lot-sizing instance while
40 /// reusing an already constructed mathematical model.
41 /// </summary>
42 /// <remarks>
43 /// This overload is intended for solver pipelines that already generated
44 /// the mathematical model used to obtain the candidate solution. It avoids
45 /// rebuilding the same formulation solely for independent checking.
46 /// </remarks>
47 /// <param name="instance">
48 /// Instance defining the problem to satisfy.
49 /// </param>
50 /// <param name="solution">
51 /// Candidate solution to validate.
52 /// </param>
53 /// <param name="mathematicalModel">
54 /// Mathematical model generated from <paramref name="instance"/>.
55 /// </param>
56 /// <param name="options">
57 /// Optional checking configuration.
58 /// </param>
59 /// <param name="cancellationToken">
60 /// Cancellation token.
61 /// </param>
62 /// <returns>
63 /// Detailed structural, feasibility, and objective diagnostics.
64 /// </returns>
65 Task<SolutionCheckResult> CheckAsync(
66 LotSizingInstance instance,
67 LotSizingSolution solution,
68 MathematicalModel mathematicalModel,
69 SolutionCheckOptions? options = null,
70 CancellationToken cancellationToken = default);
71}
Configures generic lot-sizing solution checking.
Defines a generic, solver-independent checker for lot-sizing solutions.
Task< SolutionCheckResult > CheckAsync(LotSizingInstance instance, LotSizingSolution solution, SolutionCheckOptions? options=null, CancellationToken cancellationToken=default)
Checks a candidate solution against its lot-sizing instance.
Task< SolutionCheckResult > CheckAsync(LotSizingInstance instance, LotSizingSolution solution, MathematicalModel mathematicalModel, SolutionCheckOptions? options=null, CancellationToken cancellationToken=default)
Checks a candidate solution against its lot-sizing instance while reusing an already constructed math...