Detailed Description
type definitions for symmetry computations
Definition in file type_symmetry.h.
#include "scip/scip.h"
Go to the source code of this file.
Macros | |
#define | SYM_SPEC_INTEGER UINT32_C(0x00000001) |
#define | SYM_SPEC_BINARY UINT32_C(0x00000002) |
#define | SYM_SPEC_REAL UINT32_C(0x00000004) |
#define | SYM_TIMING_BEFOREPRESOL 0 |
#define | SYM_TIMING_DURINGPRESOL 1 |
#define | SYM_TIMING_AFTERPRESOL 2 |
#define | SYM_COMPUTETIMING_BEFOREPRESOL SYM_TIMING_BEFOREPRESOL |
#define | SYM_COMPUTETIMING_DURINGPRESOL SYM_TIMING_DURINGPRESOL |
#define | SYM_COMPUTETIMING_AFTERPRESOL SYM_TIMING_AFTERPRESOL |
#define | SYM_HANDLETYPE_NONE UINT32_C(0x00000000) |
#define | SYM_HANDLETYPE_SYMBREAK UINT32_C(0x00000001) |
#define | SYM_HANDLETYPE_ORBITALREDUCTION UINT32_C(0x00000002) |
#define | SYM_HANDLETYPE_SST UINT32_C(0x00000004) |
#define | SYM_HANDLETYPE_SYMCONS (SYM_HANDLETYPE_SYMBREAK | SYM_HANDLETYPE_SST) |
Typedefs | |
typedef uint32_t | SYM_SPEC |
typedef enum SYM_Symtype | SYM_SYMTYPE |
typedef enum SYM_Nodetype | SYM_NODETYPE |
typedef enum SYM_Consoptype | SYM_CONSOPTYPE |
typedef uint32_t | SYM_HANDLETYPE |
typedef enum SCIP_LeaderRule | SCIP_LEADERRULE |
typedef enum SCIP_SSTType | SCIP_SSTTYPE |
typedef enum SCIP_OrbitopeType | SCIP_ORBITOPETYPE |
Macro Definition Documentation
◆ SYM_SPEC_INTEGER
#define SYM_SPEC_INTEGER UINT32_C(0x00000001) |
symmetry type specification need symmetries for integer variables only
Definition at line 43 of file type_symmetry.h.
Referenced by determineSymmetry(), isFixedVar(), and tryAddSymmetryHandlingMethods().
◆ SYM_SPEC_BINARY
#define SYM_SPEC_BINARY UINT32_C(0x00000002) |
need symmetries for binary variables only
Definition at line 44 of file type_symmetry.h.
Referenced by determineSymmetry(), isFixedVar(), and tryAddSymmetryHandlingMethods().
◆ SYM_SPEC_REAL
#define SYM_SPEC_REAL UINT32_C(0x00000004) |
need symmetries also for continuous variables
Definition at line 45 of file type_symmetry.h.
Referenced by determineSymmetry(), isFixedVar(), and tryAddSymmetryHandlingMethods().
◆ SYM_TIMING_BEFOREPRESOL
#define SYM_TIMING_BEFOREPRESOL 0 |
symmetry timings compute and handle symmetries before presolving
Definition at line 50 of file type_symmetry.h.
Referenced by SCIP_DECL_PROPINITPRE().
◆ SYM_TIMING_DURINGPRESOL
#define SYM_TIMING_DURINGPRESOL 1 |
compute and handle symmetries during presolving
Definition at line 51 of file type_symmetry.h.
Referenced by SCIP_DECL_PROPPRESOL().
◆ SYM_TIMING_AFTERPRESOL
#define SYM_TIMING_AFTERPRESOL 2 |
compute and handle symmetries after presolving
Definition at line 52 of file type_symmetry.h.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_PROPPRESOL().
◆ SYM_COMPUTETIMING_BEFOREPRESOL
#define SYM_COMPUTETIMING_BEFOREPRESOL SYM_TIMING_BEFOREPRESOL |
compute symmetries before presolving
Definition at line 54 of file type_symmetry.h.
◆ SYM_COMPUTETIMING_DURINGPRESOL
#define SYM_COMPUTETIMING_DURINGPRESOL SYM_TIMING_DURINGPRESOL |
compute symmetries during presolving
Definition at line 55 of file type_symmetry.h.
◆ SYM_COMPUTETIMING_AFTERPRESOL
#define SYM_COMPUTETIMING_AFTERPRESOL SYM_TIMING_AFTERPRESOL |
compute symmetries after presolving
Definition at line 56 of file type_symmetry.h.
◆ SYM_HANDLETYPE_NONE
#define SYM_HANDLETYPE_NONE UINT32_C(0x00000000) |
no symmetry handling
Definition at line 98 of file type_symmetry.h.
◆ SYM_HANDLETYPE_SYMBREAK
#define SYM_HANDLETYPE_SYMBREAK UINT32_C(0x00000001) |
symmetry breaking inequalities
Definition at line 99 of file type_symmetry.h.
Referenced by addSymresackConss(), detectAndHandleSubgroups(), tryAddOrbitalRedLexRed(), and tryHandleSingleOrDoubleLexMatricesComponent().
◆ SYM_HANDLETYPE_ORBITALREDUCTION
#define SYM_HANDLETYPE_ORBITALREDUCTION UINT32_C(0x00000002) |
orbital reduction
Definition at line 100 of file type_symmetry.h.
Referenced by tryAddOrbitalRedLexRed().
◆ SYM_HANDLETYPE_SST
#define SYM_HANDLETYPE_SST UINT32_C(0x00000004) |
Schreier Sims cuts
Definition at line 101 of file type_symmetry.h.
Referenced by addSSTConss(), and addSymresackConss().
◆ SYM_HANDLETYPE_SYMCONS
#define SYM_HANDLETYPE_SYMCONS (SYM_HANDLETYPE_SYMBREAK | SYM_HANDLETYPE_SST) |
Definition at line 102 of file type_symmetry.h.
Referenced by SCIP_DECL_DIALOGEXEC().
Typedef Documentation
◆ SYM_SPEC
typedef uint32_t SYM_SPEC |
types of variables handled by symmetry
Definition at line 47 of file type_symmetry.h.
◆ SYM_SYMTYPE
typedef enum SYM_Symtype SYM_SYMTYPE |
Definition at line 64 of file type_symmetry.h.
◆ SYM_NODETYPE
typedef enum SYM_Nodetype SYM_NODETYPE |
Definition at line 74 of file type_symmetry.h.
◆ SYM_CONSOPTYPE
typedef enum SYM_Consoptype SYM_CONSOPTYPE |
Definition at line 95 of file type_symmetry.h.
◆ SYM_HANDLETYPE
typedef uint32_t SYM_HANDLETYPE |
type of symmetry handling
Definition at line 104 of file type_symmetry.h.
◆ SCIP_LEADERRULE
typedef enum SCIP_LeaderRule SCIP_LEADERRULE |
Definition at line 113 of file type_symmetry.h.
◆ SCIP_SSTTYPE
typedef enum SCIP_SSTType SCIP_SSTTYPE |
Definition at line 132 of file type_symmetry.h.
◆ SCIP_ORBITOPETYPE
typedef enum SCIP_OrbitopeType SCIP_ORBITOPETYPE |
Definition at line 141 of file type_symmetry.h.
Enumeration Type Documentation
◆ SYM_Symtype
enum SYM_Symtype |
define symmetry types detectable by SCIP
Enumerator | |
---|---|
SYM_SYMTYPE_PERM | permutation symmetries |
SYM_SYMTYPE_SIGNPERM | signed permutation symmetries |
Definition at line 59 of file type_symmetry.h.
◆ SYM_Nodetype
enum SYM_Nodetype |
define type of nodes in symmetry detection expression trees
Enumerator | |
---|---|
SYM_NODETYPE_OPERATOR | operator node |
SYM_NODETYPE_VAL | numerical value node |
SYM_NODETYPE_CONS | constraint node |
SYM_NODETYPE_VAR | variable node |
Definition at line 67 of file type_symmetry.h.
◆ SYM_Consoptype
enum SYM_Consoptype |
define type of simple constraints/operators in symmetry detection
Definition at line 77 of file type_symmetry.h.
◆ SCIP_LeaderRule
enum SCIP_LeaderRule |
selection rules for leaders in SST cuts
Enumerator | |
---|---|
SCIP_LEADERRULE_FIRSTINORBIT | first var in orbit |
SCIP_LEADERRULE_LASTINORBIT | last var in orbit |
SCIP_LEADERRULE_MAXCONFLICTSINORBIT | var with most conflicting vars in its orbit |
Definition at line 107 of file type_symmetry.h.
◆ SCIP_LeaderTiebreakRule
tie breaks for leader rule based on the leader's orbit
Definition at line 116 of file type_symmetry.h.
◆ SCIP_SSTType
enum SCIP_SSTType |
variable types for leader in Schreier Sims cuts
Enumerator | |
---|---|
SCIP_SSTTYPE_BINARY | binary variables |
SCIP_SSTTYPE_INTEGER | integer variables |
SCIP_SSTTYPE_IMPLINT | implicitly integer variables |
SCIP_SSTTYPE_CONTINUOUS | continuous variables |
Definition at line 124 of file type_symmetry.h.
◆ SCIP_OrbitopeType
enum SCIP_OrbitopeType |
type of orbitope constraint: full, packing, or partitioning orbitope
Definition at line 135 of file type_symmetry.h.