This page lists all parameters of the current SoPlex version. This list can easily be generated by the SoPlex command line interface using:
soplex --saveset=<file name>.set
or via the method saveSettingsFile("<file name>.set", true) of the class SoPlex.
# SoPlexBase version 7.1.2 # should lifting be used to reduce range of nonzero matrix coefficients? # range {true, false}, default false bool:lifting = false # should LP be transformed to equality form before a rational solve? # range {true, false}, default false bool:eqtrans = false # should dual infeasibility be tested in order to try to return a dual solution even if primal infeasible? # range {true, false}, default false bool:testdualinf = false # should a rational factorization be performed after iterative refinement? # range {true, false}, default true bool:ratfac = true # should cycling solutions be accepted during iterative refinement? # range {true, false}, default false bool:acceptcycling = false # apply rational reconstruction after each iterative refinement? # range {true, false}, default true bool:ratrec = true # round scaling factors for iterative refinement to powers of two? # range {true, false}, default true bool:powerscaling = true # continue iterative refinement with exact basic solution if not optimal? # range {true, false}, default false bool:ratfacjump = false # use bound flipping also for row representation? # range {true, false}, default false bool:rowboundflips = false # should persistent scaling be used? # range {true, false}, default true bool:persistentscaling = true # should perturbation be applied to the entire problem? # range {true, false}, default false bool:fullperturbation = false # re-optimize the original problem to get a proof (ray) of infeasibility/unboundedness? # range {true, false}, default false bool:ensureray = false # try to enforce that the optimal solution is a basic solution # range {true, false}, default false bool:forcebasic = false # enable presolver SingletonCols in PaPILO # range {true, false}, default true bool:simplifier_enable_singletoncols = true # enable presolver ConstraintPropagation in PaPILO # range {true, false}, default true bool:simplifier_enable_propagation = true # enable presolver ParallelRowDetection in PaPILO # range {true, false}, default true bool:simplifier_enable_parallelrows = true # enable presolver ParallelColDetection in PaPILO # range {true, false}, default true bool:simplifier_enable_parallelcols = true # enable presolver SingletonStuffing in PaPILO # range {true, false}, default true bool:simplifier_enable_stuffing = true # enable presolver DualFix in PaPILO # range {true, false}, default true bool:simplifier_enable_dualfix = true # enable presolver FixContinuous in PaPILO # range {true, false}, default true bool:simplifier_enable_fixcontinuous = true # enable presolver DominatedCols in PaPILO # range {true, false}, default true bool:simplifier_enable_domcol = true # enable iterative refinement # range {true, false}, default true bool:iterative_refinement = true # adapt tolerances to the multiprecision used # range {true, false}, default false bool:adapt_tols_to_multiprecision = false # enable precision boosting # range {true, false}, default false bool:precision_boosting = false # if true, boosted solver starts from last basis, otherwise from slack basis # range {true, false}, default true bool:boosted_warm_start = true # enable recovery mechanism for when the solve fails # range {true, false}, default false bool:recovery_mechanism = false # objective sense (-1 - minimize, +1 - maximize) # range [-1,1], default 1 int:objsense = 1 # type of computational form (0 - auto, 1 - column representation, 2 - row representation) # range [0,2], default 0 int:representation = 0 # type of algorithm (0 - primal, 1 - dual) # range [0,1], default 1 int:algorithm = 1 # type of LU update (0 - eta update, 1 - Forrest-Tomlin update) # range [0,1], default 1 int:factor_update_type = 1 # maximum number of LU updates without fresh factorization (0 - auto) # range [0,2147483647], default 0 int:factor_update_max = 0 # iteration limit (-1 - no limit) # range [-1,2147483647], default -1 int:iterlimit = -1 # refinement limit (-1 - no limit) # range [-1,2147483647], default -1 int:reflimit = -1 # stalling refinement limit (-1 - no limit) # range [-1,2147483647], default -1 int:stallreflimit = -1 # display frequency # range [1,2147483647], default 200 int:displayfreq = 200 # verbosity level (0 - error, 1 - warning, 2 - debug, 3 - normal, 4 - high, 5 - full) # range [0,5], default 3 int:verbosity = 3 # simplifier (0 - off, 1 - auto, 2 - PaPILO, 3 - internal) # range [0,3], default 3 int:simplifier = 3 # scaling (0 - off, 1 - uni-equilibrium, 2 - bi-equilibrium, 3 - geometric, 4 - iterated geometric, 5 - least squares, 6 - geometric-equilibrium) # range [0,6], default 2 int:scaler = 2 # crash basis generated when starting from scratch (0 - none, 1 - weight, 2 - sum, 3 - vector) # range [0,3], default 0 int:starter = 0 # pricing method (0 - auto, 1 - dantzig, 2 - parmult, 3 - devex, 4 - quicksteep, 5 - steep) # range [0,5], default 0 int:pricer = 0 # method for ratio test (0 - textbook, 1 - harris, 2 - fast, 3 - boundflipping) # range [0,3], default 3 int:ratiotester = 3 # mode for synchronizing real and rational LP (0 - store only real LP, 1 - auto, 2 - manual) # range [0,2], default 0 int:syncmode = 0 # mode for reading LP files (0 - floating-point, 1 - rational) # range [0,1], default 0 int:readmode = 0 # mode for iterative refinement strategy (0 - floating-point solve, 1 - auto, 2 - exact rational solve) # range [0,2], default 1 int:solvemode = 1 # mode for a posteriori feasibility checks (0 - floating-point check, 1 - auto, 2 - exact rational check) # range [0,2], default 1 int:checkmode = 1 # type of timer (1 - cputime, aka. usertime, 2 - wallclock time, 0 - no timing) # range [0,2], default 1 int:timer = 1 # mode for hyper sparse pricing (0 - off, 1 - auto, 2 - always) # range [0,2], default 1 int:hyperpricing = 1 # minimum number of stalling refinements since last pivot to trigger rational factorization # range [0,2147483647], default 2 int:ratfac_minstalls = 2 # maximum number of conjugate gradient iterations in least square scaling # range [0,2147483647], default 50 int:leastsq_maxrounds = 50 # mode for solution polishing (0 - off, 1 - max basic slack, 2 - min basic slack) # range [0,2], default 0 int:solution_polishing = 0 # print basis metric during the solve (-1 - off, 0 - condition estimate , 1 - trace, 2 - determinant, 3 - condition) # range [-1,3], default -1 int:printbasismetric = -1 # measure for statistics, e.g. factorization time (0 - off, 1 - user time, 2 - wallclock time) # range [0,2], default 1 int:stattimer = 1 # maximum number of digits for the multiprecision type # range [50,2147483647], default 300 int:multiprecision_limit = 300 # at max, after how many simplex pivots do we store the advanced and stable basis, 1 = every iterations # range [1,2147483647], default 10000 int:storeBasisSimplexFreq = 10000 # primal feasibility tolerance # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-06 real:feastol = 1.00000000e-06 # dual feasibility tolerance # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-06 real:opttol = 1.00000000e-06 # general zero tolerance # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-16 real:epsilon_zero = 1.00000000e-16 # zero tolerance used in factorization # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-20 real:epsilon_factorization = 1.00000000e-20 # zero tolerance used in update of the factorization # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-16 real:epsilon_update = 1.00000000e-16 # pivot zero tolerance used in factorization # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-10 real:epsilon_pivot = 1.00000000e-10 # infinity threshold # range [1.00000000e+10,1.00000000e+100], default 1.00000000e+100 real:infty = 1.00000000e+100 # time limit in seconds # range [0.00000000e+00,1.00000000e+100], default 1.00000000e+100 real:timelimit = 1.00000000e+100 # lower limit on objective value # range [-1.00000000e+100,1.00000000e+100], default -1.00000000e+100 real:objlimit_lower = -1.00000000e+100 # upper limit on objective value # range [-1.00000000e+100,1.00000000e+100], default 1.00000000e+100 real:objlimit_upper = 1.00000000e+100 # working tolerance for feasibility in floating-point solver during iterative refinement # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-09 real:fpfeastol = 1.00000000e-09 # working tolerance for optimality in floating-point solver during iterative refinement # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-09 real:fpopttol = 1.00000000e-09 # maximum increase of scaling factors between refinements # range [1.00000000e+00,1.00000000e+100], default 1.00000000e+25 real:maxscaleincr = 1.00000000e+25 # lower threshold in lifting (nonzero matrix coefficients with smaller absolute value will be reformulated) # range [0.00000000e+00,1.00000000e-01], default 9.76562000e-04 real:liftminval = 9.76562000e-04 # lower threshold in lifting (nonzero matrix coefficients with smaller absolute value will be reformulated) # range [1.00000000e+01,1.00000000e+100], default 1.02400000e+03 real:liftmaxval = 1.02400000e+03 # sparse pricing threshold (#violations < dimension * SPARSITY_THRESHOLD activates sparse pricing) # range [0.00000000e+00,1.00000000e+00], default 6.00000000e-01 real:sparsity_threshold = 6.00000000e-01 # threshold on number of rows vs. number of columns for switching from column to row representations in auto mode # range [0.00000000e+00,1.00000000e+100], default 1.20000000e+00 real:representation_switch = 1.20000000e+00 # geometric frequency at which to apply rational reconstruction # range [1.00000000e+00,1.00000000e+100], default 1.20000000e+00 real:ratrec_freq = 1.20000000e+00 # minimal reduction (sum of removed rows/cols) to continue simplification # range [0.00000000e+00,1.00000000e+00], default 1.00000000e-04 real:minred = 1.00000000e-04 # refactor threshold for nonzeros in last factorized basis matrix compared to updated basis matrix # range [1.00000000e+00,1.00000000e+02], default 1.00000000e+01 real:refac_basis_nnz = 1.00000000e+01 # refactor threshold for fill-in in current factor update compared to fill-in in last factorization # range [1.00000000e+00,1.00000000e+02], default 5.00000000e+00 real:refac_update_fill = 5.00000000e+00 # refactor threshold for memory growth in factorization since last refactorization # range [1.00000000e+00,1.00000000e+01], default 1.50000000e+00 real:refac_mem_factor = 1.50000000e+00 # accuracy of conjugate gradient method in least squares scaling (higher value leads to more iterations) # range [1.00000000e+00,1.00000000e+100], default 1.00000000e+03 real:leastsq_acrcy = 1.00000000e+03 # objective offset to be used # range [-1.00000000e+100,1.00000000e+100], default 0.00000000e+00 real:obj_offset = 0.00000000e+00 # minimal Markowitz threshold in LU factorization # range [1.00000000e-04,9.99900000e-01], default 1.00000000e-02 real:min_markowitz = 1.00000000e-02 # modify constraints when the number of nonzeros or rows is at most this factor times the number of nonzeros or rows before presolving # range [0.00000000e+00,1.00000000e+00], default 1.00000000e+00 real:simplifier_modifyrowfac = 1.00000000e+00 # factor by which the precision of the floating-point solver is multiplied # range [1.00000000e+00,1.00000000e+01], default 1.50000000e+00 real:precision_boosting_factor = 1.50000000e+00 # initial random seed used for perturbation # range [0, 4294967295], default 0 uint:random_seed = 0