Show / Hide Table of Contents

    Class SolverConfiguration

    Defines common parameters for ISolver instances.

    Inheritance
    System.Object
    SolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    CplexSolverConfiguration
    FicoXpressSolverConfiguration
    FicoXpressSolverConfiguration
    FicoXpressSolverConfiguration
    XpressSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    GurobiSolverConfiguration
    HighsSolverConfiguration13x
    HighsSolverConfiguration14x
    HighsSolverConfiguration15x
    HighsSolverConfiguration17x
    MipCLSolverConfiguration
    Z3SolverConfiguration
    ScipOptSolverConfiguration
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: OPTANO.Modeling.Optimization
    Assembly: Optimization.dll
    Syntax
    public abstract class SolverConfiguration

    Constructors

    SolverConfiguration()

    Initializes a new instance of the SolverConfiguration class.

    Declaration
    protected SolverConfiguration()

    Properties

    CalculateDuals

    Gets or sets a value indicating whether duals shall be calculated or not.

    Declaration
    [Display(Name = "Calculate Duals", Description = "Gets or sets a value indicating whether duals shall be calculated or not.")]
    public bool CalculateDuals { get; set; }
    Property Value
    Type Description
    System.Boolean

    true if duals should be calculated; otherwise, false.

    LibraryPaths

    Gets a list of library paths that are appended to the PATH environment variable. You can use this to provide the required DLLs for your solver of choice.

    Declaration
    public List<DirectoryInfo> LibraryPaths { get; }
    Property Value
    Type Description
    System.Collections.Generic.List<System.IO.DirectoryInfo>

    LogFile

    Gets or sets the (optional) logfile path. If a System.IO.FileInfo is set, the console output during the solving (i.e. the output of the Solve(Model, Dictionary<Variable, Double>) method) is written to the specified file. If System.String.IsNullOrWhiteSpace(System.String)(System.IO.FileSystemInfo.FullName, no file is written.

    Declaration
    public virtual FileInfo LogFile { get; set; }
    Property Value
    Type Description
    System.IO.FileInfo

    MIPGap

    Relative MIP optimality gap (MIP only). The MIP solver will terminate (with an optimal result) when the relative gap between the lower and upper objective bound is less than MIPGap.

    Declaration
    [Display(Name = "MIP Gap", Description = "The MIP solver will terminate (with an optimal result) when the relative gap between the lower and upper objective bound is less than MIPGap.")]
    public virtual double MIPGap { get; set; }
    Property Value
    Type Description
    System.Double

    Sets a relative tolerance on the gap between the best integer objective and the objective of the best node remaining. When the value

    |bestnode-bestinteger|/(1e-10+|bestinteger|)

    falls below the value of this parameter, the mixed integer optimization is stopped. For example, to instruct CPLEX to stop as soon as it has found a feasible integer solution proved to be within five percent of optimal, set the relative mipgap tolerance to 0.05.

    MIPGapAbs

    Absolute MIP optimality gap (MIP only). The MIP solver will terminate (with an optimal result) when the absolute gap between the lower and upper objective bound is less than MIPGapAbs.

    Declaration
    [Display(Name = "Absolute MIP Gap", Description = "The MIP solver will terminate (with an optimal result) when the absolute gap between the lower and upper objective bound is less than MIPGap times the upper bound.")]
    public virtual double MIPGapAbs { get; set; }
    Property Value
    Type Description
    System.Double

    The MIP gap abs.

    ModelOutputFile

    Gets or sets the model output file to which the model is exported to before it is solved. Depending on the file extension, different export formats can be specified. E.g. &quot;.mps&quot; or &quot;.lp&quot;. Some Solvers may support additional extensions and even provide further options, such as compressing the exported model directly. For example, for CPLEX you can specify this with an extension such as &quot;myModel.mps.gz&quot;.

    Declaration
    [Display(Name = "Model Output File", Description = "Gets or sets the model output file. Depending on the file extension, different export formats can be specified. E.g.: \"*.mps\", \"*.lp\"")]
    [Obsolete("Please consider using SolverConfiguration.OutputFilesBefore-/ AfterSolve instead.", false)]
    public FileInfo ModelOutputFile { get; set; }
    Property Value
    Type Description
    System.IO.FileInfo

    OptimalityTolerance

    Dual feasibility tolerance. Reduced costs must all be smaller than OptimalityTol in the improving direction in order for a model to be declared optimal.

    Declaration
    [Display(Name = "Optimality Tolerance", Description = "Absolute optimality tolerance guarantees that a solution lies within a certain absolute range of the optimal solution.")]
    public double OptimalityTolerance { get; set; }
    Property Value
    Type Description
    System.Double

    The optimality tolerance.

    OutputFilesAfterSolve

    Gets the set of output files that should be written after the model is optimized.

    Declaration
    public HashSet<FileInfo> OutputFilesAfterSolve { get; }
    Property Value
    Type Description
    System.Collections.Generic.HashSet<System.IO.FileInfo>

    OutputFilesBeforeSolve

    Gets the set of output files that should be written before the model is optimized.

    Declaration
    public HashSet<FileInfo> OutputFilesBeforeSolve { get; }
    Property Value
    Type Description
    System.Collections.Generic.HashSet<System.IO.FileInfo>

    PriorityLevelMipGapDefinition

    Defines the Mip Gaps for specific hierarchy levels. System.TimeSpan.Zero will be converted to "unlimited". (default)

    Declaration
    public PriorityLevelMipGapDefinition PriorityLevelMipGapDefinition { get; protected set; }
    Property Value
    Type Description
    PriorityLevelMipGapDefinition

    PriorityLevelQualityDegradationDefinition

    Defines the maximum quality degradation of objectives during multi-hierarchical optimization.

    Declaration
    public PriorityLevelQualityDegradationDefinition PriorityLevelQualityDegradationDefinition { get; protected set; }
    Property Value
    Type Description
    PriorityLevelQualityDegradationDefinition

    PriorityLevelTimeLimitDefinition

    Time limits to spend for a given hierarchy level during multi objective optimization. System.TimeSpan.Zero will be converted to "unlimited". (default)

    Declaration
    public PriorityLevelTimeLimitDefinition PriorityLevelTimeLimitDefinition { get; protected set; }
    Property Value
    Type Description
    PriorityLevelTimeLimitDefinition

    RetryMultiObjectiveWithTolerance

    Gets or sets a value indicating whether to retry solving a model with specified tolerance during multi-hierarchical optimization. If a multi-hierarchical model becomes infeasible due to the qualitiy-conservation constraints and this value is set to true, the tolerance that is specified in RelativeTolerance will be applied to the quality-conservation constraints. Otherwise, the constraints will be created with 0 tolerance. E.g., in case of a maximization objective z: qualityConstraint = Expression >= currentValue(z). qualityConstraint will be added to the model to ensure that the solutions of objectives with smaller PriorityLevel will maintain the currentValue(z). Default: true.

    Declaration
    public bool RetryMultiObjectiveWithTolerance { get; set; }
    Property Value
    Type Description
    System.Boolean

    TimeLimit

    Limits the total time expended (in seconds). Time measurement could differ in different solvers. For GurobiSolvers, the value 0 is interpreted as "default" and converted to System.Double.PositiveInfinity.

    Declaration
    [Display(Name = "Time Limit", Description = "Limits the total time expended (in seconds). Time measurement could differ in different solvers.")]
    public virtual double TimeLimit { get; set; }
    Property Value
    Type Description
    System.Double

    The time limit.

    Extension Methods

    ReflectionHelper.GetFieldValue(Object, String)
    ReflectionHelper.SetFieldValue(Object, String, Object)
    ExtensionMethods.Clone<T>(T)
    ExtensionMethods.ThrowIfArgumentIsNull<T>(T, String)
    Back to top Copyright © OPTANO GmbH generated with DocFX
    Privacy Policy | Impressum – Legal Notice