Show / Hide Table of Contents

    Class CplexSolverConfiguration

    Configuration for a Cplex solver instance

    Inheritance
    System.Object
    SolverConfiguration
    CplexSolverConfiguration
    Inherited Members
    SolverConfiguration.LibraryPaths
    SolverConfiguration.CalculateDuals
    SolverConfiguration.MIPGap
    SolverConfiguration.MIPGapAbs
    SolverConfiguration.OptimalityTolerance
    SolverConfiguration.TimeLimit
    SolverConfiguration.RetryMultiObjectiveWithTolerance
    SolverConfiguration.ModelOutputFile
    SolverConfiguration.OutputFilesBeforeSolve
    SolverConfiguration.OutputFilesAfterSolve
    SolverConfiguration.LogFile
    SolverConfiguration.PriorityLevelTimeLimitDefinition
    SolverConfiguration.PriorityLevelMipGapDefinition
    SolverConfiguration.PriorityLevelQualityDegradationDefinition
    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.Solver.Cplex11
    Assembly: Optimization.Solver.Cplex11.dll
    Syntax
    public class CplexSolverConfiguration : SolverConfiguration

    Constructors

    CplexSolverConfiguration()

    Initializes a new instance of the CplexSolverConfiguration class.

    Declaration
    public CplexSolverConfiguration()

    Properties

    BarrierAlgorithm

    Gets or sets the barrier algorithm.

    Declaration
    public BarrierAlgorithm BarrierAlgorithm { get; set; }
    Property Value
    Type Description
    BarrierAlgorithm

    CliequeCutStrategy

    Gets or sets the clieque cut strategy.

    Declaration
    public CliequeCutStrategy CliequeCutStrategy { get; set; }
    Property Value
    Type Description
    CliequeCutStrategy

    CoefficientReductionStrategy

    Gets or sets the coefficient reduction strategy.

    Declaration
    public CoefficientReductionStrategy CoefficientReductionStrategy { get; set; }
    Property Value
    Type Description
    CoefficientReductionStrategy

    ConstraintAggregationLimitForCutGeneration

    Gets or sets the constraint aggregation limit for cut generation. Limits the number of constraints that can be aggregated for generating flow cover and mixed integer rounding (MIR) cuts. Default: 3. Value must be >= 0.

    Declaration
    public int? ConstraintAggregationLimitForCutGeneration { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Int32>

    CoverCutStrategy

    Gets or sets the cover cut strategy.

    Declaration
    public CoverCutStrategy CoverCutStrategy { get; set; }
    Property Value
    Type Description
    CoverCutStrategy

    CutRowFactor

    Gets or sets the cut row factor.

    Limits the number of cuts that can be added. The number of rows in the problem with cuts added is limited to CutsFactor times the original number of rows. If the problem is presolved, the original number of rows is that from the presolved problem. A CutsFactor of 1.0 or less means that no cuts will be generated. Default: 4.0

    Declaration
    public double? CutRowFactor { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Double>

    DisjunctiveCutStrategy

    Gets or sets the disjunctive cut strategy.

    Declaration
    public DisjunctiveCutStrategy DisjunctiveCutStrategy { get; set; }
    Property Value
    Type Description
    DisjunctiveCutStrategy

    DualSimplexPricingStrategy

    Gets or sets the dual simplex pricing strategy.

    Declaration
    public DualSimplexPricingStrategy DualSimplexPricingStrategy { get; set; }
    Property Value
    Type Description
    DualSimplexPricingStrategy

    FeasibilityPumpStrategy

    Gets or sets the feasibility pump strategy.

    Declaration
    public FeasibilityPumpStrategy FeasibilityPumpStrategy { get; set; }
    Property Value
    Type Description
    FeasibilityPumpStrategy

    FlowCoverCutStrategy

    Gets or sets the flow cover cut strategy.

    Declaration
    public FlowCoverCutStrategy FlowCoverCutStrategy { get; set; }
    Property Value
    Type Description
    FlowCoverCutStrategy

    FlowPathCutStrategy

    Gets or sets the flow path cut strategy.

    Declaration
    public FlowPathCutStrategy FlowPathCutStrategy { get; set; }
    Property Value
    Type Description
    FlowPathCutStrategy

    ForcePerturbation

    Gets or sets a value indicating whether force perturbation. If ForcePerturbation is set to (default), Cplex will decide dynamically.

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

    GomoryFractionalCutCandidateLimit

    Gets or sets the gomory fractional cut candidate limit.

    Limits the number of candidate variables for generating Gomory fractional cuts. Default: 200 [Will be used for all values <= 0].

    Declaration
    public int? GomoryFractionalCutCandidateLimit { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Int32>

    GomoryFractionalCutPassLimit

    Gets or sets the gomory fractional cut pass limit.

    Limits the number of passes for generating Gomory fractional cuts. At the default setting of 0 (zero), CPLEX decides the number of passes to make. The parameter is ignored if GomoryFractionalCutStrategy is set to a value different to Automatic.

    Declaration
    public int GomoryFractionalCutPassLimit { get; set; }
    Property Value
    Type Description
    System.Int32

    GomoryFractionalCutStrategy

    Gets or sets the gomory fractional cut strategy.

    Declaration
    public GomoryFractionalCutStrategy GomoryFractionalCutStrategy { get; set; }
    Property Value
    Type Description
    GomoryFractionalCutStrategy

    GubCoverCutStrategy

    Gets or sets the generalized upper bound cover cut strategy.

    Declaration
    public GubCoverCutStrategy GubCoverCutStrategy { get; set; }
    Property Value
    Type Description
    GubCoverCutStrategy

    LocalBranchingHeuristic

    Gets or sets a value indicating whether local branching heuristic should be applied to try to improve new incumbents found during a MIP search. By default, this parameter is off. If you turn it on, CPLEX will invoke a local branching heuristic only when it finds a new incumbent. If CPLEX finds multiple incumbents at a single node, the local branching heuristic will be applied only to the last one found.

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

    LogOutput

    Gets or sets the output textwriter. By setting this property you are able to redirect the solver's output. By default, the output is logged to the console. If you set this property, you will no longer receive a console log output.

    Declaration
    public TextWriter LogOutput { get; set; }
    Property Value
    Type Description
    System.IO.TextWriter

    The output.

    MipDiveStrategy

    Gets or sets the mip dive strategy.

    Declaration
    public MipDiveStrategy MipDiveStrategy { get; set; }
    Property Value
    Type Description
    MipDiveStrategy

    MipEmphasisSwitch

    Gets or sets the MIP emphasis switch. Controls trade-offs between speed, feasibility, optimality, and moving bounds in MIP.

    Declaration
    public MipEmphasisSwitch MipEmphasisSwitch { get; set; }
    Property Value
    Type Description
    MipEmphasisSwitch

    MipHeuristicFrequency

    Gets or sets the mip heuristic frequency.

    Decides how often to apply the periodic heuristic. Setting the value to -1 (or less) turns off the periodic heuristic. Setting the value to 0 (default) applies the periodic heuristic at an interval chosen automatically. Setting the value to a positive number applies the heuristic at the requested node interval. For example, setting this parameter to 20 dictates that the heuristic be called at node 0, 20, 40, 60, etc..

    Declaration
    public int MipHeuristicFrequency { get; set; }
    Property Value
    Type Description
    System.Int32

    MipLogDisplayInformation

    Gets or sets the mip log display information.

    Declaration
    public MipLogDisplayInformation MipLogDisplayInformation { get; set; }
    Property Value
    Type Description
    MipLogDisplayInformation

    MipNodeLogInterval

    Gets or sets the MIP node log interval. Controls the frequency of node logging when the MipLogDisplayInformation parameter is set higher than NoDisplayUntilSolution (int: 1).

    When the value is a positive integer n, CPLEX displays new incumbents, plus it displays a new line in the log every n nodes.

    When the value is a negative integer n, CPLEX displays new incumbents, and the negative value determines how much processing CPLEX does before it displays a new line in the node log. A negative value close to zero means that CPLEX displays new lines in the log frequently. A negative value far from zero means that CPLEX displays new lines in the log less frequently. In other words, a negative value of this parameter contracts or dilates the interval at which CPLEX displays information in the node log.

    Declaration
    public int MipNodeLogInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    MipNodeSelectionStrategy

    Gets or sets the mip node selection strategy. Default: BestBound.

    Declaration
    public MipNodeSelectionStrategy MipNodeSelectionStrategy { get; set; }
    Property Value
    Type Description
    MipNodeSelectionStrategy

    MipProbingLevel

    Gets or sets the MIP probing level.

    Sets the amount of probing on variables to be performed before MIP branching. Higher settings perform more probing. Probing can be very powerful but very time-consuming at the start. Setting the parameter to values above the default (Automatic can result in dramatic reductions or dramatic increases in solution time, depending on the model.

    Declaration
    public MipProbingLevel MipProbingLevel { get; set; }
    Property Value
    Type Description
    MipProbingLevel

    MipStartRepairAttempts

    Gets or sets the mip start repair attempts.

    Limits the attempts to repair an infeasible MIP start. This parameter lets you tell CPLEX whether and how many times it should try to repair an infeasible MIP start that you supplied. The parameter has no effect if the MIP start you supplied is feasible. It has no effect if no MIP start was supplied. -1: Do not repair. 0: Let CPLEX choose. Also used for invalid values. n > 0: Number of attempts.

    Declaration
    public int MipStartRepairAttempts { get; set; }
    Property Value
    Type Description
    System.Int32

    MipSubproblemAlgorithm

    Gets or sets the mip subproblem algorithm.

    For MILP (integer constraints and otherwise continuous variable), all settings are permitted. For MIQP (integer constraints and positive semi-definite quadratic terms in objective), setting 3 (Network) is not permitted, and setting 5 (Sifting) reverts to 0 (Automatic). For MIQCP (integer constraints and positive semi-definite quadratic terms among the constraints), only the Barrier optimizer is implemented, and therefore no settings other than 0 (Automatic) and 4 (Barrier) are permitted.

    Declaration
    public MipSubproblemAlgorithm MipSubproblemAlgorithm { get; set; }
    Property Value
    Type Description
    MipSubproblemAlgorithm

    MipVariableSelectionStrategy

    Gets or sets the mip variable selection strategy.

    Declaration
    public MipVariableSelectionStrategy MipVariableSelectionStrategy { get; set; }
    Property Value
    Type Description
    MipVariableSelectionStrategy

    MixedIntegerRoundingCutStrategy

    Gets or sets the mixed integer rounding cut strategy.

    Declaration
    public MixedIntegerRoundingCutStrategy MixedIntegerRoundingCutStrategy { get; set; }
    Property Value
    Type Description
    MixedIntegerRoundingCutStrategy

    NodePresolveStrategy

    Gets or sets the node presolve strategy. Decides whether node presolve should be performed at the nodes of a mixed integer programming (MIP) solution.

    Declaration
    public NodePresolveStrategy NodePresolveStrategy { get; set; }
    Property Value
    Type Description
    NodePresolveStrategy

    PerturbationConstant

    Gets or sets the amount by which CPLEX perturbs the upper and lower bounds or objective coefficients on the variables when a problem is perturbed in the simplex algorithm. This parameter can be set to a smaller value if the default value creates too large a change in the problem. Default: 1e-6. Value must be >= 1e-8.

    Declaration
    public double PerturbationConstant { get; set; }
    Property Value
    Type Description
    System.Double

    PresolveModel

    Gets or sets a value indicating whether a presolve should be applied to the model. Default: .

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

    RinsHeuristicFrequency

    Gets or sets the rins heuristic frequency.

    Decides how often to apply the relaxation induced neighborhood search (RINS) heuristic. This heuristic attempts to improve upon the best solution found so far. It will not be applied until CPLEX has found at least one incumbent solution. Setting the value to -1 (or less) turns off the RINS heuristic. Setting the value to 0 (default) applies the RINS heuristic at an interval chosen automatically by CPLEX. Setting the value to a positive number applies the RINS heuristic at the requested node interval. For example, setting RinsHeuristicFrequency to 20 dictates that the RINS heuristic be called at node 0, 20, 40, 60, etc..

    Declaration
    public int RinsHeuristicFrequency { get; set; }
    Property Value
    Type Description
    System.Int32

    ScalingStrategy

    Gets or sets the matrix scaling strategy.

    Declaration
    public ScalingStrategy ScalingStrategy { get; set; }
    Property Value
    Type Description
    ScalingStrategy

    SiftingSubproblemAlgorithm

    Gets or sets the sifting subproblem algorithm.

    Declaration
    public SiftingSubproblemAlgorithm SiftingSubproblemAlgorithm { get; set; }
    Property Value
    Type Description
    SiftingSubproblemAlgorithm

    SimplexPerturbationLimit

    Gets or sets the number of degenerate iterations before perturbation is performed. Default: 0. I.e.: Let Cplex choose. Value must be >= 0.

    Declaration
    public int SimplexPerturbationLimit { get; set; }
    Property Value
    Type Description
    System.Int32

    StrongBranchingCandidateListLimit

    Gets or sets the strong branching candidate list limit. Only used if MipVariableSelectionStrategy is set to StrongBranching.

    Default: 10. Value must be positive.

    Declaration
    public int? StrongBranchingCandidateListLimit { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Int32>

    StrongBranchingIterationLimit

    Gets or sets the strong branching iteration limit. Only used if MipVariableSelectionStrategy is set to StrongBranching.

    Default: 0 (Automatic). Value must be >= 0.

    Declaration
    public int StrongBranchingIterationLimit { get; set; }
    Property Value
    Type Description
    System.Int32

    SymmetryBreakingEffort

    Gets or sets the symmetry breaking effort. Default: Automatic.

    Declaration
    public SymmetryBreakingEffort SymmetryBreakingEffort { get; set; }
    Property Value
    Type Description
    SymmetryBreakingEffort

    TimeSpentProbing

    Gets or sets the limit for time spent probing. Default: 1e+75. Value needs to be > 0.

    Declaration
    public double? TimeSpentProbing { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Double>

    TreeMemoryLimit

    Gets or sets an absolute upper bound on the size in megabytes uncompressed of the branch and cut tree. If this limit is exceeded Cplex terminates optimization.

    Declaration
    public double TreeMemoryLimit { get; set; }
    Property Value
    Type Description
    System.Double

    TypeOfCutLimit

    Gets or sets the limit of cuts for each cut type. By default, no limit is applied.

    Declaration
    public int? TypeOfCutLimit { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Int32>

    ZeroHalfCutStrategy

    Gets or sets the zero-half cut strategy.

    Declaration
    public ZeroHalfCutStrategy ZeroHalfCutStrategy { get; set; }
    Property Value
    Type Description
    ZeroHalfCutStrategy

    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