Scippy

SCIP

Solving Constraint Integer Programs

type_symmetry.h File Reference

Detailed Description

type definitions for symmetry computations

Author
Marc Pfetsch

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_HANDLETYPE_NONE   UINT32_C(0x00000000)
 
#define SYM_HANDLETYPE_SYMBREAK   UINT32_C(0x00000001)
 
#define SYM_HANDLETYPE_ORBITALFIXING   UINT32_C(0x00000002)
 

Typedefs

typedef uint32_t SYM_SPEC
 
typedef enum SYM_Rhssense SYM_RHSSENSE
 
typedef uint32_t SYM_HANDLETYPE
 
typedef struct SYM_Vartype SYM_VARTYPE
 
typedef struct SYM_Matrixdata SYM_MATRIXDATA
 

Enumerations

enum  SYM_Rhssense {
  SYM_SENSE_UNKOWN = 0,
  SYM_SENSE_INEQUALITY = 1,
  SYM_SENSE_EQUATION = 2,
  SYM_SENSE_XOR = 3,
  SYM_SENSE_AND = 4,
  SYM_SENSE_OR = 5,
  SYM_SENSE_BOUNDIS_TYPE_1 = 6,
  SYM_SENSE_BOUNDIS_TYPE_2 = 7
}
 

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 33 of file type_symmetry.h.

Referenced by determineSymmetry(), getSymmetries(), SymmetryFixVar(), and tryAddSymmetryHandlingConss().

◆ SYM_SPEC_BINARY

#define SYM_SPEC_BINARY   UINT32_C(0x00000002)

need symmetries for binary variables only

Definition at line 34 of file type_symmetry.h.

Referenced by determineSymmetry(), getSymmetries(), SymmetryFixVar(), and tryAddSymmetryHandlingConss().

◆ SYM_SPEC_REAL

#define SYM_SPEC_REAL   UINT32_C(0x00000004)

need symmetries also for continuous variables

Definition at line 35 of file type_symmetry.h.

Referenced by determineSymmetry(), SymmetryFixVar(), and tryAddSymmetryHandlingConss().

◆ SYM_HANDLETYPE_NONE

#define SYM_HANDLETYPE_NONE   UINT32_C(0x00000000)

no symmetry handling

Definition at line 54 of file type_symmetry.h.

◆ SYM_HANDLETYPE_SYMBREAK

#define SYM_HANDLETYPE_SYMBREAK   UINT32_C(0x00000001)

symmetry breaking inequalities

Definition at line 55 of file type_symmetry.h.

Referenced by SCIP_DECL_PRESOLINIT(), and SCIP_DECL_PRESOLINITPRE().

◆ SYM_HANDLETYPE_ORBITALFIXING

#define SYM_HANDLETYPE_ORBITALFIXING   UINT32_C(0x00000002)

orbital fixing

Definition at line 56 of file type_symmetry.h.

Referenced by SCIP_DECL_PROPINIT().

Typedef Documentation

◆ SYM_SPEC

typedef uint32_t SYM_SPEC

types of variables handled by symmetry

Definition at line 37 of file type_symmetry.h.

◆ SYM_RHSSENSE

typedef enum SYM_Rhssense SYM_RHSSENSE

Definition at line 51 of file type_symmetry.h.

◆ SYM_HANDLETYPE

typedef uint32_t SYM_HANDLETYPE

type of symmetry handling

Definition at line 58 of file type_symmetry.h.

◆ SYM_VARTYPE

typedef struct SYM_Vartype SYM_VARTYPE

data of variables that are considered to be equivalent

Definition at line 60 of file type_symmetry.h.

◆ SYM_MATRIXDATA

data for symmetry group computation

Definition at line 61 of file type_symmetry.h.

Enumeration Type Documentation

◆ SYM_Rhssense

define sense of rhs

Enumerator
SYM_SENSE_UNKOWN 

unknown sense

SYM_SENSE_INEQUALITY 

linear inequality

SYM_SENSE_EQUATION 

linear equation

SYM_SENSE_XOR 

XOR constraint

SYM_SENSE_AND 

AND constraint

SYM_SENSE_OR 

OR constrant

SYM_SENSE_BOUNDIS_TYPE_1 

bounddisjunction type 1

SYM_SENSE_BOUNDIS_TYPE_2 

bounddisjunction type 2

Definition at line 40 of file type_symmetry.h.