Create a list of control parameters for the SCIP solver. Parameters are
organized into logical groups: output, limits, tolerances, presolving,
LP, branching, and heuristics. Any SCIP parameter can also be set directly
using its native path via ....
scip_control(
verbose = TRUE,
verbosity_level = 3L,
display_freq = 100L,
time_limit = Inf,
node_limit = -1L,
stall_node_limit = -1L,
sol_limit = -1L,
best_sol_limit = -1L,
mem_limit = Inf,
restart_limit = -1L,
gap_limit = 0,
abs_gap_limit = 0,
feastol = 1e-06,
dualfeastol = 1e-07,
epsilon = 1e-09,
presolving = TRUE,
presolve_rounds = -1L,
lp_threads = 1L,
lp_iteration_limit = -1L,
lp_scaling = TRUE,
branching_score = "p",
heuristics_emphasis = "default",
threads = 1L,
...
)A named list of class "scip_control" with components:
verboseLogical; verbosity flag.
scip_paramsNamed list; all parameters as SCIP native paths.
Logical; print solver output. Default TRUE.
Integer 0--5; verbosity detail. Default 3.
Integer; node display frequency. Default 100.
Numeric; time limit in seconds. Default Inf.
Integer; max nodes. Default -1L.
Integer; stall nodes. Default -1L.
Integer; solution limit. Default -1L.
Integer; improving solution limit. Default -1L.
Numeric; memory limit in MB. Default Inf.
Integer; restart limit. Default -1L.
Numeric; relative MIP gap. Default 0.
Numeric; absolute gap. Default 0.
Numeric; feasibility tolerance. Default 1e-6.
Numeric; dual feasibility tolerance. Default 1e-7.
Numeric; zero tolerance. Default 1e-9.
Logical; enable presolving. Default TRUE.
Integer; presolve rounds. Default -1L.
Integer; LP solver threads. Default 1L.
Integer; LP iteration limit. Default -1L.
Logical; LP scaling. Default TRUE.
Character; score function. Default "p".
Character; heuristic emphasis. Default "default".
Integer; parallel solving threads. Default 1L. See
Parallel section for caveats.
Additional SCIP parameters as name-value pairs, using SCIP's
native hierarchical parameter paths (e.g., "lp/fastmip" = 1,
"conflict/enable" = FALSE). See the
SCIP parameter documentation
for the full list.
verboseLogical; print solver output. Default TRUE.
verbosity_levelInteger 0--5; verbosity detail (0 = none,
3 = normal, 5 = full). Default 3. Ignored if verbose = FALSE.
display_freqInteger; display a status line every this many nodes
(-1 = never). Default 100.
time_limitNumeric; maximum solving time in seconds.
Default Inf (no limit).
node_limitInteger; maximum number of branch-and-bound nodes.
Default -1L (no limit).
stall_node_limitInteger; nodes without improvement before stopping.
Default -1L (no limit).
sol_limitInteger; stop after finding this many feasible solutions.
Default -1L (no limit).
best_sol_limitInteger; stop after this many improving solutions.
Default -1L (no limit).
mem_limitNumeric; memory limit in MB. Default Inf
(no limit).
restart_limitInteger; maximum restarts. Default -1L
(no limit).
gap_limitNumeric; relative MIP gap tolerance; solver stops
when the gap falls below this value. Default 0 (prove optimality).
abs_gap_limitNumeric; absolute gap between primal and dual
bound. Default 0.
feastolNumeric; feasibility tolerance for LP constraints.
Default 1e-6.
dualfeastolNumeric; dual feasibility tolerance.
Default 1e-7.
epsilonNumeric; absolute values below this are treated as zero.
Default 1e-9.
presolvingLogical; enable presolving. Default TRUE.
presolve_roundsInteger; maximum presolving rounds
(-1 = unlimited). Default -1L.
lp_threadsInteger; number of threads for LP solver.
Default 1L.
lp_iteration_limitInteger; LP iteration limit per solve
(-1 = no limit). Default -1L.
lp_scalingLogical; enable LP scaling. Default TRUE.
branching_scoreCharacter; branching score function:
"s" (sum), "p" (product), "q" (quotient).
Default "p".
heuristics_emphasisCharacter; heuristic emphasis setting:
"default", "aggressive", "fast", or "off".
Default "default".
threadsInteger; number of threads for concurrent solving.
Default 1L. Note: concurrent solving may require a SCIP build
compiled with parallel support (e.g., PARASCIP=true); not all
installations provide this.
scip_solve, scip_set_param
## Quick solve with 60-second time limit
ctrl <- scip_control(time_limit = 60)
## Quiet solve with 1% gap tolerance
ctrl <- scip_control(verbose = FALSE, gap_limit = 0.01)
## Aggressive heuristics, no presolving
ctrl <- scip_control(heuristics_emphasis = "aggressive", presolving = FALSE)
## Pass a native SCIP parameter directly
ctrl <- scip_control("conflict/enable" = FALSE, "separating/maxrounds" = 5L)
Run the code above in your browser using DataLab