ULSAlgorithms 1.1.0-g3e5595996d
High-performance exact and heuristic algorithms for uncapacitated lot sizing
Loading...
Searching...
No Matches
UlsFormulation.cs
Go to the documentation of this file.
2
4
5/// <summary>
6/// Solver-independent ULS mathematical formulation plus semantic variable map.
7/// </summary>
8public sealed class UlsFormulation
9{
10 /// <summary>Initializes a formulation result.</summary>
13 string source,
14 LinearModel model,
16 {
17 if (string.IsNullOrWhiteSpace(source))
18 {
19 throw new ArgumentException(
20 "A scientific/source description is required.",
21 nameof(source));
22 }
23
24 Kind = kind;
25 Source = source.Trim();
26 Model = model ?? throw new ArgumentNullException(nameof(model));
27 Variables =
28 variables ??
29 throw new ArgumentNullException(nameof(variables));
30 }
31
32 /// <summary>Gets the formulation kind.</summary>
33 public UlsFormulationKind Kind { get; }
34
35 /// <summary>Gets the scientific/source description.</summary>
36 public string Source { get; }
37
38 /// <summary>Gets the portable model.</summary>
39 public LinearModel Model { get; }
40
41 /// <summary>Gets semantic variable mappings.</summary>
43}
string Source
Gets the scientific/source description.
UlsFormulation(UlsFormulationKind kind, string source, LinearModel model, UlsFormulationVariableMap variables)
Initializes a formulation result.
UlsFormulationVariableMap Variables
Gets semantic variable mappings.
UlsFormulationKind Kind
Gets the formulation kind.
LinearModel Model
Gets the portable model.
Maps semantic ULS decisions to solver-independent variable identifiers.
Immutable solver-independent linear or mixed-integer linear model.
Definition LinearModel.cs:7
UlsFormulationKind
Identifies a mathematical-programming formulation of classical ULS.