Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
symmetry
type_symmetry.h
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
/* */
3
/* This file is part of the program and library */
4
/* SCIP --- Solving Constraint Integer Programs */
5
/* */
6
/* Copyright (C) 2002-2018 Konrad-Zuse-Zentrum */
7
/* fuer Informationstechnik Berlin */
8
/* */
9
/* SCIP is distributed under the terms of the ZIB Academic License. */
10
/* */
11
/* You should have received a copy of the ZIB Academic License */
12
/* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file type_symmetry.h
17
* @brief type definitions for symmetry computations
18
* @author Marc Pfetsch
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_TYPE_SYMMETRY_H_
24
#define __SCIP_TYPE_SYMMETRY_H_
25
26
#include <
scip/scip.h
>
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
/** symmetry type specification */
33
#define SYM_SPEC_INTEGER UINT32_C(0x00000001)
/**< need symmetries for integer variables only */
34
#define SYM_SPEC_BINARY UINT32_C(0x00000002)
/**< need symmetries for binary variables only */
35
#define SYM_SPEC_REAL UINT32_C(0x00000004)
/**< need symmetries also for continuous variables */
36
37
typedef
uint32_t
SYM_SPEC
;
/**< types of variables handled by symmetry */
38
39
/** define sense of rhs */
40
enum
SYM_Rhssense
41
{
42
SYM_SENSE_UNKOWN
= 0,
/**< unknown sense */
43
SYM_SENSE_INEQUALITY
= 1,
/**< linear inequality */
44
SYM_SENSE_EQUATION
= 2,
/**< linear equation */
45
SYM_SENSE_XOR
= 3,
/**< XOR constraint */
46
SYM_SENSE_AND
= 4,
/**< AND constraint */
47
SYM_SENSE_OR
= 5
/**< OR constrant */
48
};
49
typedef
enum
SYM_Rhssense
SYM_RHSSENSE
;
50
51
/* type of symmetry handling codes */
52
#define SYM_HANDLETYPE_NONE UINT32_C(0x00000000)
/**< no symmetry handling */
53
#define SYM_HANDLETYPE_SYMBREAK UINT32_C(0x00000001)
/**< symmetry breaking inequalities */
54
#define SYM_HANDLETYPE_ORBITALFIXING UINT32_C(0x00000002)
/**< orbital fixing */
55
56
typedef
uint32_t
SYM_HANDLETYPE
;
/**< type of symmetry handling */
57
58
typedef
struct
SYM_Vartype
SYM_VARTYPE
;
/**< data of variables that are considered to be equivalent */
59
typedef
struct
SYM_Matrixdata
SYM_MATRIXDATA
;
/**< data for symmetry group computation */
60
61
#ifdef __cplusplus
62
}
63
#endif
64
65
#endif
SYM_SENSE_UNKOWN
Definition:
type_symmetry.h:42
SYM_SENSE_INEQUALITY
Definition:
type_symmetry.h:43
SYM_SENSE_OR
Definition:
type_symmetry.h:47
SYM_Vartype
Definition:
struct_symmetry.h:34
SYM_SENSE_EQUATION
Definition:
type_symmetry.h:44
SYM_SPEC
uint32_t SYM_SPEC
Definition:
type_symmetry.h:37
SYM_Rhssense
SYM_Rhssense
Definition:
type_symmetry.h:40
SYM_RHSSENSE
enum SYM_Rhssense SYM_RHSSENSE
Definition:
type_symmetry.h:49
SYM_HANDLETYPE
uint32_t SYM_HANDLETYPE
Definition:
type_symmetry.h:56
SYM_Matrixdata
Definition:
struct_symmetry.h:44
scip.h
SCIP callable library.
SYM_SENSE_XOR
Definition:
type_symmetry.h:45
SYM_SENSE_AND
Definition:
type_symmetry.h:46