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
Overview
Files
Plugin Types
Interfaces
Examples
How To
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
scip-repo
src
scip
cutpool.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-2014 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 cutpool.h
17
* @brief internal methods for storing cuts in a cut pool
18
* @author Tobias Achterberg
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_CUTPOOL_H__
24
#define __SCIP_CUTPOOL_H__
25
26
27
#include "
scip/def.h
"
28
#include "
blockmemshell/memory.h
"
29
#include "
scip/type_retcode.h
"
30
#include "
scip/type_result.h
"
31
#include "
scip/type_set.h
"
32
#include "
scip/type_stat.h
"
33
#include "
scip/type_lp.h
"
34
#include "
scip/type_sepastore.h
"
35
#include "
scip/type_cutpool.h
"
36
#include "
scip/pub_cutpool.h
"
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
42
/** creates cut pool */
43
extern
44
SCIP_RETCODE
SCIPcutpoolCreate
(
45
SCIP_CUTPOOL
** cutpool,
/**< pointer to store cut pool */
46
BMS_BLKMEM
* blkmem,
/**< block memory */
47
SCIP_SET
*
set
,
/**< global SCIP settings */
48
int
agelimit,
/**< maximum age a cut can reach before it is deleted from the pool */
49
SCIP_Bool
globalcutpool
/**< is this the global cut pool of SCIP? */
50
);
51
52
/** frees cut pool */
53
extern
54
SCIP_RETCODE
SCIPcutpoolFree
(
55
SCIP_CUTPOOL
** cutpool,
/**< pointer to store cut pool */
56
BMS_BLKMEM
* blkmem,
/**< block memory */
57
SCIP_SET
*
set
,
/**< global SCIP settings */
58
SCIP_LP
* lp
/**< current LP data */
59
);
60
61
/** removes all rows from the cut pool */
62
extern
63
SCIP_RETCODE
SCIPcutpoolClear
(
64
SCIP_CUTPOOL
* cutpool,
/**< cut pool */
65
BMS_BLKMEM
* blkmem,
/**< block memory */
66
SCIP_SET
*
set
,
/**< global SCIP settings */
67
SCIP_LP
* lp
/**< current LP data */
68
);
69
70
/** if not already existing, adds row to cut pool and captures it */
71
extern
72
SCIP_RETCODE
SCIPcutpoolAddRow
(
73
SCIP_CUTPOOL
* cutpool,
/**< cut pool */
74
BMS_BLKMEM
* blkmem,
/**< block memory */
75
SCIP_SET
*
set
,
/**< global SCIP settings */
76
SCIP_ROW
* row
/**< cutting plane to add */
77
);
78
79
/** adds row to cut pool and captures it; doesn't check for multiple cuts */
80
extern
81
SCIP_RETCODE
SCIPcutpoolAddNewRow
(
82
SCIP_CUTPOOL
* cutpool,
/**< cut pool */
83
BMS_BLKMEM
* blkmem,
/**< block memory */
84
SCIP_SET
*
set
,
/**< global SCIP settings */
85
SCIP_ROW
* row
/**< cutting plane to add */
86
);
87
88
/** removes the LP row from the cut pool */
89
extern
90
SCIP_RETCODE
SCIPcutpoolDelRow
(
91
SCIP_CUTPOOL
* cutpool,
/**< cut pool */
92
BMS_BLKMEM
* blkmem,
/**< block memory */
93
SCIP_SET
*
set
,
/**< global SCIP settings */
94
SCIP_STAT
* stat,
/**< problem statistics data */
95
SCIP_LP
* lp,
/**< current LP data */
96
SCIP_ROW
* row
/**< row to remove */
97
);
98
99
/** separates cuts of the cut pool */
100
extern
101
SCIP_RETCODE
SCIPcutpoolSeparate
(
102
SCIP_CUTPOOL
* cutpool,
/**< cut pool */
103
BMS_BLKMEM
* blkmem,
/**< block memory */
104
SCIP_SET
*
set
,
/**< global SCIP settings */
105
SCIP_STAT
* stat,
/**< problem statistics data */
106
SCIP_EVENTQUEUE
* eventqueue,
/**< event queue */
107
SCIP_EVENTFILTER
* eventfilter,
/**< event filter for global events */
108
SCIP_LP
* lp,
/**< current LP data */
109
SCIP_SEPASTORE
* sepastore,
/**< separation storage */
110
SCIP_SOL
* sol,
/**< solution to be separated (or NULL for LP-solution) */
111
SCIP_Bool
cutpoolisdelayed,
/**< is the cutpool delayed (count cuts found)? */
112
SCIP_Bool
root,
/**< are we at the root node? */
113
SCIP_RESULT
* result
/**< pointer to store the result of the separation call */
114
);
115
116
#ifdef __cplusplus
117
}
118
#endif
119
120
#endif
121