SCIP++ refs/heads/main
 
Loading...
Searching...
No Matches
scippp::params::PROPAGATING::SYMMETRY Namespace Reference

Parameters with prefix propagating/symmetry. More...

Namespaces

namespace  ORBITOPALREDUCTION
 Parameters with prefix propagating/symmetry/orbitopalreduction.
 

Variables

constexpr Param< bool > ADDCONFLICTCUTS { "propagating/symmetry/addconflictcuts" }
 Should Schreier Sims constraints be added if we use a conflict based rule?
 
constexpr Param< int > ADDCONSSTIMING { "propagating/symmetry/addconsstiming" }
 timing of adding constraints (0 = before presolving, 1 = during presolving, 2 = after presolving) [disabled parameter]
 
constexpr Param< bool > ADDSTRONGSBCS { "propagating/symmetry/addstrongsbcs" }
 Should strong SBCs for enclosing orbit of symmetric subgroups be added if orbitopes are not used?
 
constexpr Param< bool > ADDSYMRESACKS { "propagating/symmetry/addsymresacks" }
 Add inequalities for symresacks for each generator?
 
constexpr Param< bool > ADDWEAKSBCS { "propagating/symmetry/addweaksbcs" }
 Should we add weak SBCs for enclosing orbit of symmetric subgroups?
 
constexpr Param< bool > CHECKSYMMETRIES { "propagating/symmetry/checksymmetries" }
 Should all symmetries be checked after computation?
 
constexpr Param< bool > COMPRESSSYMMETRIES { "propagating/symmetry/compresssymmetries" }
 Should non-affected variables be removed from permutation to save memory?
 
constexpr Param< double > COMPRESSTHRESHOLD { "propagating/symmetry/compressthreshold" }
 Compression is used if percentage of moved vars is at most the threshold.
 
constexpr Param< bool > CONSSADDLP { "propagating/symmetry/conssaddlp" }
 Should the symmetry breaking constraints be added to the LP?
 
constexpr Param< bool > DELAY { "propagating/symmetry/delay" }
 should propagator be delayed, if other propagators found reductions?
 
constexpr Param< bool > DETECTDOUBLELEX { "propagating/symmetry/detectdoublelex" }
 Should we check whether the components of the symmetry group can be handled by double lex matrices?
 
constexpr Param< bool > DETECTORBITOPES { "propagating/symmetry/detectorbitopes" }
 Should we check whether the components of the symmetry group can be handled by orbitopes?
 
constexpr Param< bool > DETECTSUBGROUPS { "propagating/symmetry/detectsubgroups" }
 Should we try to detect symmetric subgroups of the symmetry group on binary variables?
 
constexpr Param< bool > DISPLAYNORBITVARS { "propagating/symmetry/displaynorbitvars" }
 Should the number of variables affected by some symmetry be displayed?
 
constexpr Param< bool > DOUBLEEQUATIONS { "propagating/symmetry/doubleequations" }
 Double equations to positive/negative version?
 
constexpr Param< bool > ENFORCECOMPUTESYMMETRY { "propagating/symmetry/enforcecomputesymmetry" }
 Is only symmetry on binary variables used?
 
constexpr Param< int > FREQ { "propagating/symmetry/freq" }
 frequency for calling propagator <symmetry> (-1: never, 0: only in root node)
 
constexpr Param< int > MAXGENERATORS { "propagating/symmetry/maxgenerators" }
 limit on the number of generators that should be produced within symmetry detection (0 = no limit)
 
constexpr Param< int > MAXNCONSSSUBGROUP { "propagating/symmetry/maxnconsssubgroup" }
 maximum number of constraints up to which subgroup structures are detected
 
constexpr Param< int > MAXPREROUNDS { "propagating/symmetry/maxprerounds" }
 maximal number of presolving rounds the propagator participates in (-1: no limit)
 
constexpr Param< int > NAUTYMAXNCELLS { "propagating/symmetry/nautymaxncells" }
 terminate symmetry detection using Nauty when number of cells in color refinment is at least this number
 
constexpr Param< int > NAUTYMAXNNODES { "propagating/symmetry/nautymaxnnodes" }
 terminate symmetry detection using Nauty when its search tree has at least this number of nodes
 
constexpr Param< int > OFSYMCOMPTIMING { "propagating/symmetry/ofsymcomptiming" }
 timing of symmetry computation (0 = before presolving, 1 = during presolving, 2 = at first call) [disabled parameter]
 
constexpr Param< bool > PERFORMPRESOLVING { "propagating/symmetry/performpresolving" }
 run orbital fixing during presolving? (disabled)
 
constexpr Param< bool > PREFERLESSROWS { "propagating/symmetry/preferlessrows" }
 Shall orbitopes with less rows be preferred in detection?
 
constexpr Param< int > PRESOLPRIORITY { "propagating/symmetry/presolpriority" }
 presolving priority of propagator <symmetry>
 
constexpr Param< int > PRESOLTIMING { "propagating/symmetry/presoltiming" }
 timing mask of the presolving method of propagator <symmetry> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE, 32:FINAL)
 
constexpr Param< int > PRIORITY { "propagating/symmetry/priority" }
 priority of propagator <symmetry>
 
constexpr Param< int > RECOMPUTERESTART { "propagating/symmetry/recomputerestart" }
 recompute symmetries after a restart has occurred? (0 = never)
 
constexpr Param< bool > SSTADDCUTS { "propagating/symmetry/sstaddcuts" }
 Should Schreier Sims constraints be added?
 
constexpr Param< int > SSTLEADERRULE { "propagating/symmetry/sstleaderrule" }
 rule to select the leader in an orbit (0: first var; 1: last var; 2: var having most conflicting vars in orbit)
 
constexpr Param< int > SSTLEADERVARTYPE { "propagating/symmetry/sstleadervartype" }
 bitset encoding which variable types can be leaders (1: binary; 2: integer; 4: impl.
 
constexpr Param< bool > SSTMIXEDCOMPONENTS { "propagating/symmetry/sstmixedcomponents" }
 Should Schreier Sims constraints be added if a symmetry component contains variables of different types?
 
constexpr Param< int > SSTTIEBREAKRULE { "propagating/symmetry/ssttiebreakrule" }
 rule to select the orbit in Schreier Sims inequalities (variable in 0: minimum size orbit; 1: maximum size orbit; 2: orbit with most variables in conflict with leader)
 
constexpr Param< bool > SYMFIXNONBINARYVARS { "propagating/symmetry/symfixnonbinaryvars" }
 Whether all non-binary variables shall be not affected by symmetries if OF is active? (disabled)
 
constexpr Param< int > SYMTIMING { "propagating/symmetry/symtiming" }
 timing of symmetry computation and handling (0 = before presolving, 1 = during presolving, 2 = after presolving)
 
constexpr Param< int > SYMTYPE { "propagating/symmetry/symtype" }
 Type of symmetries that shall be computed?
 
constexpr Param< int > TIMINGMASK { "propagating/symmetry/timingmask" }
 timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))
 
constexpr Param< bool > USECOLUMNSPARSITY { "propagating/symmetry/usecolumnsparsity" }
 Should the number of conss a variable is contained in be exploited in symmetry detection?
 
constexpr Param< bool > USEDYNAMICPROP { "propagating/symmetry/usedynamicprop" }
 whether dynamified symmetry handling constraint methods should be used
 

Detailed Description

Parameters with prefix propagating/symmetry.

Variable Documentation

◆ ADDCONFLICTCUTS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::ADDCONFLICTCUTS { "propagating/symmetry/addconflictcuts" }
constexpr

Should Schreier Sims constraints be added if we use a conflict based rule?

Definition at line 5748 of file parameters.hpp.

◆ ADDCONSSTIMING

Param<int> scippp::params::PROPAGATING::SYMMETRY::ADDCONSSTIMING { "propagating/symmetry/addconsstiming" }
constexpr

timing of adding constraints (0 = before presolving, 1 = during presolving, 2 = after presolving) [disabled parameter]

Definition at line 5719 of file parameters.hpp.

◆ ADDSTRONGSBCS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::ADDSTRONGSBCS { "propagating/symmetry/addstrongsbcs" }
constexpr

Should strong SBCs for enclosing orbit of symmetric subgroups be added if orbitopes are not used?

Definition at line 5738 of file parameters.hpp.

◆ ADDSYMRESACKS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::ADDSYMRESACKS { "propagating/symmetry/addsymresacks" }
constexpr

Add inequalities for symresacks for each generator?

Definition at line 5708 of file parameters.hpp.

◆ ADDWEAKSBCS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::ADDWEAKSBCS { "propagating/symmetry/addweaksbcs" }
constexpr

Should we add weak SBCs for enclosing orbit of symmetric subgroups?

Definition at line 5716 of file parameters.hpp.

◆ CHECKSYMMETRIES

Param<bool> scippp::params::PROPAGATING::SYMMETRY::CHECKSYMMETRIES { "propagating/symmetry/checksymmetries" }
constexpr

Should all symmetries be checked after computation?

Definition at line 5700 of file parameters.hpp.

◆ COMPRESSSYMMETRIES

Param<bool> scippp::params::PROPAGATING::SYMMETRY::COMPRESSSYMMETRIES { "propagating/symmetry/compresssymmetries" }
constexpr

Should non-affected variables be removed from permutation to save memory?

Definition at line 5728 of file parameters.hpp.

◆ COMPRESSTHRESHOLD

Param<double> scippp::params::PROPAGATING::SYMMETRY::COMPRESSTHRESHOLD { "propagating/symmetry/compressthreshold" }
constexpr

Compression is used if percentage of moved vars is at most the threshold.

Definition at line 5730 of file parameters.hpp.

◆ CONSSADDLP

Param<bool> scippp::params::PROPAGATING::SYMMETRY::CONSSADDLP { "propagating/symmetry/conssaddlp" }
constexpr

Should the symmetry breaking constraints be added to the LP?

Definition at line 5706 of file parameters.hpp.

◆ DELAY

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DELAY { "propagating/symmetry/delay" }
constexpr

should propagator be delayed, if other propagators found reductions?

Definition at line 5688 of file parameters.hpp.

◆ DETECTDOUBLELEX

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DETECTDOUBLELEX { "propagating/symmetry/detectdoublelex" }
constexpr

Should we check whether the components of the symmetry group can be handled by double lex matrices?

Definition at line 5710 of file parameters.hpp.

◆ DETECTORBITOPES

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DETECTORBITOPES { "propagating/symmetry/detectorbitopes" }
constexpr

Should we check whether the components of the symmetry group can be handled by orbitopes?

Definition at line 5712 of file parameters.hpp.

◆ DETECTSUBGROUPS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DETECTSUBGROUPS { "propagating/symmetry/detectsubgroups" }
constexpr

Should we try to detect symmetric subgroups of the symmetry group on binary variables?

Definition at line 5714 of file parameters.hpp.

◆ DISPLAYNORBITVARS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DISPLAYNORBITVARS { "propagating/symmetry/displaynorbitvars" }
constexpr

Should the number of variables affected by some symmetry be displayed?

Definition at line 5702 of file parameters.hpp.

◆ DOUBLEEQUATIONS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::DOUBLEEQUATIONS { "propagating/symmetry/doubleequations" }
constexpr

Double equations to positive/negative version?

Definition at line 5704 of file parameters.hpp.

◆ ENFORCECOMPUTESYMMETRY

Param<bool> scippp::params::PROPAGATING::SYMMETRY::ENFORCECOMPUTESYMMETRY { "propagating/symmetry/enforcecomputesymmetry" }
constexpr

Is only symmetry on binary variables used?

Definition at line 5756 of file parameters.hpp.

◆ FREQ

Param<int> scippp::params::PROPAGATING::SYMMETRY::FREQ { "propagating/symmetry/freq" }
constexpr

frequency for calling propagator <symmetry> (-1: never, 0: only in root node)

Definition at line 5686 of file parameters.hpp.

◆ MAXGENERATORS

Param<int> scippp::params::PROPAGATING::SYMMETRY::MAXGENERATORS { "propagating/symmetry/maxgenerators" }
constexpr

limit on the number of generators that should be produced within symmetry detection (0 = no limit)

Definition at line 5698 of file parameters.hpp.

◆ MAXNCONSSSUBGROUP

Param<int> scippp::params::PROPAGATING::SYMMETRY::MAXNCONSSSUBGROUP { "propagating/symmetry/maxnconsssubgroup" }
constexpr

maximum number of constraints up to which subgroup structures are detected

Definition at line 5734 of file parameters.hpp.

◆ MAXPREROUNDS

Param<int> scippp::params::PROPAGATING::SYMMETRY::MAXPREROUNDS { "propagating/symmetry/maxprerounds" }
constexpr

maximal number of presolving rounds the propagator participates in (-1: no limit)

Definition at line 5694 of file parameters.hpp.

◆ NAUTYMAXNCELLS

Param<int> scippp::params::PROPAGATING::SYMMETRY::NAUTYMAXNCELLS { "propagating/symmetry/nautymaxncells" }
constexpr

terminate symmetry detection using Nauty when number of cells in color refinment is at least this number

Definition at line 5764 of file parameters.hpp.

◆ NAUTYMAXNNODES

Param<int> scippp::params::PROPAGATING::SYMMETRY::NAUTYMAXNNODES { "propagating/symmetry/nautymaxnnodes" }
constexpr

terminate symmetry detection using Nauty when its search tree has at least this number of nodes

Definition at line 5766 of file parameters.hpp.

◆ OFSYMCOMPTIMING

Param<int> scippp::params::PROPAGATING::SYMMETRY::OFSYMCOMPTIMING { "propagating/symmetry/ofsymcomptiming" }
constexpr

timing of symmetry computation (0 = before presolving, 1 = during presolving, 2 = at first call) [disabled parameter]

Definition at line 5722 of file parameters.hpp.

◆ PERFORMPRESOLVING

Param<bool> scippp::params::PROPAGATING::SYMMETRY::PERFORMPRESOLVING { "propagating/symmetry/performpresolving" }
constexpr

run orbital fixing during presolving? (disabled)

Definition at line 5724 of file parameters.hpp.

◆ PREFERLESSROWS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::PREFERLESSROWS { "propagating/symmetry/preferlessrows" }
constexpr

Shall orbitopes with less rows be preferred in detection?

Definition at line 5758 of file parameters.hpp.

◆ PRESOLPRIORITY

Param<int> scippp::params::PROPAGATING::SYMMETRY::PRESOLPRIORITY { "propagating/symmetry/presolpriority" }
constexpr

presolving priority of propagator <symmetry>

Definition at line 5692 of file parameters.hpp.

◆ PRESOLTIMING

Param<int> scippp::params::PROPAGATING::SYMMETRY::PRESOLTIMING { "propagating/symmetry/presoltiming" }
constexpr

timing mask of the presolving method of propagator <symmetry> (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE, 32:FINAL)

Definition at line 5696 of file parameters.hpp.

◆ PRIORITY

Param<int> scippp::params::PROPAGATING::SYMMETRY::PRIORITY { "propagating/symmetry/priority" }
constexpr

priority of propagator <symmetry>

Definition at line 5684 of file parameters.hpp.

◆ RECOMPUTERESTART

Param<int> scippp::params::PROPAGATING::SYMMETRY::RECOMPUTERESTART { "propagating/symmetry/recomputerestart" }
constexpr

recompute symmetries after a restart has occurred? (0 = never)

Definition at line 5726 of file parameters.hpp.

◆ SSTADDCUTS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::SSTADDCUTS { "propagating/symmetry/sstaddcuts" }
constexpr

Should Schreier Sims constraints be added?

Definition at line 5750 of file parameters.hpp.

◆ SSTLEADERRULE

Param<int> scippp::params::PROPAGATING::SYMMETRY::SSTLEADERRULE { "propagating/symmetry/sstleaderrule" }
constexpr

rule to select the leader in an orbit (0: first var; 1: last var; 2: var having most conflicting vars in orbit)

Definition at line 5743 of file parameters.hpp.

◆ SSTLEADERVARTYPE

Param<int> scippp::params::PROPAGATING::SYMMETRY::SSTLEADERVARTYPE { "propagating/symmetry/sstleadervartype" }
constexpr

bitset encoding which variable types can be leaders (1: binary; 2: integer; 4: impl.

int; 8: continuous);if multiple types are allowed, take the one with most affected vars

Definition at line 5746 of file parameters.hpp.

◆ SSTMIXEDCOMPONENTS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::SSTMIXEDCOMPONENTS { "propagating/symmetry/sstmixedcomponents" }
constexpr

Should Schreier Sims constraints be added if a symmetry component contains variables of different types?

Definition at line 5752 of file parameters.hpp.

◆ SSTTIEBREAKRULE

Param<int> scippp::params::PROPAGATING::SYMMETRY::SSTTIEBREAKRULE { "propagating/symmetry/ssttiebreakrule" }
constexpr

rule to select the orbit in Schreier Sims inequalities (variable in 0: minimum size orbit; 1: maximum size orbit; 2: orbit with most variables in conflict with leader)

Definition at line 5741 of file parameters.hpp.

◆ SYMFIXNONBINARYVARS

Param<bool> scippp::params::PROPAGATING::SYMMETRY::SYMFIXNONBINARYVARS { "propagating/symmetry/symfixnonbinaryvars" }
constexpr

Whether all non-binary variables shall be not affected by symmetries if OF is active? (disabled)

Definition at line 5754 of file parameters.hpp.

◆ SYMTIMING

Param<int> scippp::params::PROPAGATING::SYMMETRY::SYMTIMING { "propagating/symmetry/symtiming" }
constexpr

timing of symmetry computation and handling (0 = before presolving, 1 = during presolving, 2 = after presolving)

Definition at line 5762 of file parameters.hpp.

◆ SYMTYPE

Param<int> scippp::params::PROPAGATING::SYMMETRY::SYMTYPE { "propagating/symmetry/symtype" }
constexpr

Type of symmetries that shall be computed?

Definition at line 5760 of file parameters.hpp.

◆ TIMINGMASK

Param<int> scippp::params::PROPAGATING::SYMMETRY::TIMINGMASK { "propagating/symmetry/timingmask" }
constexpr

timing when propagator should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS))

Definition at line 5690 of file parameters.hpp.

◆ USECOLUMNSPARSITY

Param<bool> scippp::params::PROPAGATING::SYMMETRY::USECOLUMNSPARSITY { "propagating/symmetry/usecolumnsparsity" }
constexpr

Should the number of conss a variable is contained in be exploited in symmetry detection?

Definition at line 5732 of file parameters.hpp.

◆ USEDYNAMICPROP

Param<bool> scippp::params::PROPAGATING::SYMMETRY::USEDYNAMICPROP { "propagating/symmetry/usedynamicprop" }
constexpr

whether dynamified symmetry handling constraint methods should be used

Definition at line 5736 of file parameters.hpp.