Scippy

SCIP

Solving Constraint Integer Programs

struct_sepastore.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-2022 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 visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file struct_sepastore.h
17  * @ingroup INTERNALAPI
18  * @brief datastructures for storing separated cuts
19  * @author Tobias Achterberg
20  * @author Leona Gottwald
21  */
22 
23 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
24 
25 #ifndef __SCIP_STRUCT_SEPASTORE_H__
26 #define __SCIP_STRUCT_SEPASTORE_H__
27 
28 
29 #include "scip/def.h"
30 #include "scip/type_lp.h"
31 #include "scip/type_var.h"
32 #include "scip/type_sepastore.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /** storage for separated cuts */
40 {
41  SCIP_ROW** cuts; /**< array with separated cuts sorted by score */
42  SCIP_RANDNUMGEN* randnumgen; /**< random number generator used for tie breaking */
43  int cutssize; /**< size of cuts and score arrays */
44  int ncuts; /**< number of separated cuts (max. is set->sepa_maxcuts) */
45  int nforcedcuts; /**< number of forced separated cuts (first positions in cuts array) */
46  int ncutsadded; /**< total number of cuts added so far */
47  int ncutsaddedviapool; /**< total number of cuts added from cutpool */
48  int ncutsaddeddirect; /**< total number of cuts added directly */
49  int ncutsfoundround; /**< number of cuts found so far in this separation round */
50  int ncutsapplied; /**< total number of cuts applied to the LP */
51  SCIP_Bool initiallp; /**< is the separation storage currently being filled with the initial LP rows? */
52  SCIP_Bool forcecuts; /**< should the cuts be used despite the number of cuts parameter limit? */
53 };
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif
type definitions for LP management
SCIP_ROW ** cuts
type definitions for problem variables
type definitions for storing separated cuts
#define SCIP_Bool
Definition: def.h:84
SCIP_RANDNUMGEN * randnumgen
SCIP_Bool initiallp
common defines and data types used in all packages of SCIP
SCIP_Bool forcecuts