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.Cplex2010
    Assembly: Optimization.Solver.Cplex2010.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

    ComputeIIS

    Gets or sets the value, whether the irreducable infeasable set shall be computed, if the model is infeasable.

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

    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>

    DetTimeLimit

    Gets or sets the . Default: 1E+75.

    Declaration
    public double? DetTimeLimit { 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

    LogToConsole

    Gets or sets a value indicating whether output is (additionally to LogFile) logged in Console.Out.

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

    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 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 long MipHeuristicFrequency { get; set; }
    Property Value
    Type Description
    System.Int64

    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

    MipStrategyKappaStats

    Gets or sets the ILOG.CPLEX.Cplex.Param.MIP.Strategy.KappaStats value.

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

    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

    MultiCommodityFlowCutStrategy

    Gets or sets the multi commodity flow cut strategy.

    CPLEX is able to recognize the structure of a network as represented in many real-world models. When it recognizes such a network structure, CPLEX is able to generate cutting planes that usually help solve such problems. In this case, the cuts that CPLEX generates state that the capacities installed on arcs pointing into a component of the network must be at least as large as the total flow demand of the component that cannot be satisfied by flow sources within the component.

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

    NodeCuts

    Gets or sets the node cut intensity.

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

    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

    OptimalityTarget

    Gets or sets the ILOG.CPLEX.Cplex.OptimalityTarget

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

    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

    Reformulations

    Gets or sets the reformulation strategy.

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

    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 long RinsHeuristicFrequency { get; set; }
    Property Value
    Type Description
    System.Int64

    RootAlgorithm

    The RootAlg to use.

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

    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

    Sos1Reformulation

    Gets or sets the reformulation strategy for SOS1.

    Declaration
    public SosReformulation Sos1Reformulation { get; set; }
    Property Value
    Type Description
    SosReformulation

    Sos2Reformulation

    Gets or sets the reformulation strategy for SOS2.

    Declaration
    public SosReformulation Sos2Reformulation { get; set; }
    Property Value
    Type Description
    SosReformulation

    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

    Threads

    Gets or sets the number of threads to use. Default: 0. (By default, CPLEX will use up to 32 Threads, if a sufficient number of cores is available.)

    Declaration
    public int Threads { get; set; }
    Property Value
    Type Description
    System.Int32
    Exceptions
    Type Condition
    System.ArgumentOutOfRangeException

    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