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
cons_conjunction.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-2017 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 cons_conjunction.h
17
* @ingroup CONSHDLRS
18
* @brief constraint handler for conjunction constraints
19
* @author Tobias Achterberg
20
*
21
*/
22
23
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
24
25
#ifndef __SCIP_CONS_CONJUNCTION_H__
26
#define __SCIP_CONS_CONJUNCTION_H__
27
28
29
#include "
scip/scip.h
"
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
/** creates the handler for conjunction constraints and includes it in SCIP
36
*
37
* @ingroup ConshdlrIncludes
38
* */
39
extern
40
SCIP_RETCODE
SCIPincludeConshdlrConjunction
(
41
SCIP
*
scip
/**< SCIP data structure */
42
);
43
44
/**@addtogroup CONSHDLRS
45
*
46
* @{
47
*
48
* @name Conjunction Constraints
49
*
50
* @{
51
*
52
* A conjunction constraint \f$ C \f$ is a constraint of the form
53
* \f[
54
* C = C_1 \wedge \dots \wedge C_n
55
* \f]
56
* where all the \f$ C_i \f$ are individual constraints themselves.
57
*/
58
59
/** creates and captures a conjunction constraint
60
*
61
* @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
62
*/
63
extern
64
SCIP_RETCODE
SCIPcreateConsConjunction
(
65
SCIP
*
scip
,
/**< SCIP data structure */
66
SCIP_CONS
** cons,
/**< pointer to hold the created constraint */
67
const
char
* name,
/**< name of constraint */
68
int
nconss,
/**< number of initial constraints in conjunction */
69
SCIP_CONS
** conss,
/**< initial constraint in conjunction */
70
SCIP_Bool
enforce,
/**< should the constraint be enforced during node processing?
71
* TRUE for model constraints, FALSE for additional, redundant constraints. */
72
SCIP_Bool
check,
/**< should the constraint be checked for feasibility?
73
* TRUE for model constraints, FALSE for additional, redundant constraints. */
74
SCIP_Bool
local,
/**< is constraint only valid locally?
75
* Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints. */
76
SCIP_Bool
modifiable,
/**< is constraint modifiable (subject to column generation)?
77
* Usually set to FALSE. In column generation applications, set to TRUE if pricing
78
* adds coefficients to this constraint. */
79
SCIP_Bool
dynamic
/**< is constraint subject to aging?
80
* Usually set to FALSE. Set to TRUE for own cuts which
81
* are separated as constraints. */
82
);
83
84
/** creates and captures an and constraint
85
* in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
86
* method SCIPcreateConsConjunction(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
87
*
88
* @see SCIPcreateConsConjunction() for information about the basic constraint flag configuration
89
*
90
* @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
91
*/
92
extern
93
SCIP_RETCODE
SCIPcreateConsBasicConjunction
(
94
SCIP
*
scip
,
/**< SCIP data structure */
95
SCIP_CONS
** cons,
/**< pointer to hold the created constraint */
96
const
char
* name,
/**< name of constraint */
97
int
nconss,
/**< number of initial constraints in conjunction */
98
SCIP_CONS
** conss
/**< initial constraint in conjunction */
99
);
100
101
/** adds constraint to the conjunction of constraints */
102
extern
103
SCIP_RETCODE
SCIPaddConsElemConjunction
(
104
SCIP
*
scip
,
/**< SCIP data structure */
105
SCIP_CONS
* cons,
/**< conjunction constraint */
106
SCIP_CONS
* addcons
/**< additional constraint in conjunction */
107
);
108
109
/* @} */
110
111
/* @} */
112
113
#ifdef __cplusplus
114
}
115
#endif
116
117
#endif
Scip
Definition:
struct_scip.h:58
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
SCIPcreateConsBasicConjunction
SCIP_RETCODE SCIPcreateConsBasicConjunction(SCIP *scip, SCIP_CONS **cons, const char *name, int nconss, SCIP_CONS **conss)
Definition:
cons_conjunction.c:837
SCIP_Cons
Definition:
struct_cons.h:37
SCIPaddConsElemConjunction
SCIP_RETCODE SCIPaddConsElemConjunction(SCIP *scip, SCIP_CONS *cons, SCIP_CONS *addcons)
Definition:
cons_conjunction.c:854
SCIPincludeConshdlrConjunction
SCIP_RETCODE SCIPincludeConshdlrConjunction(SCIP *scip)
Definition:
cons_conjunction.c:757
SCIP_Bool
#define SCIP_Bool
Definition:
def.h:61
SCIPcreateConsConjunction
SCIP_RETCODE SCIPcreateConsConjunction(SCIP *scip, SCIP_CONS **cons, const char *name, int nconss, SCIP_CONS **conss, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic)
Definition:
cons_conjunction.c:788
scip
Definition:
objbranchrule.h:33
scip.h
SCIP callable library.