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-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 struct_sepastore.h
17  * @ingroup INTERNALAPI
18  * @brief datastructures for storing separated cuts
19  * @author Tobias Achterberg
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_STRUCT_SEPASTORE_H__
25 #define __SCIP_STRUCT_SEPASTORE_H__
26 
27 
28 #include "scip/def.h"
29 #include "scip/type_lp.h"
30 #include "scip/type_var.h"
31 #include "scip/type_sepastore.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /** storage for separated cuts */
39 {
40  SCIP_ROW** cuts; /**< array with separated cuts sorted by score */
41  SCIP_Real* efficacies; /**< efficacy for each separated cut: distance of hyperplane to LP solution */
42  SCIP_Real* objparallelisms; /**< parallelism of cut to the objective function */
43  SCIP_Real* orthogonalities; /**< minimal orthogonality of cut with all other cuts of larger score */
44  SCIP_Real* scores; /**< score for each separated cut: weighted sum of efficacy and orthogonality */
45  int cutssize; /**< size of cuts and score arrays */
46  int ncuts; /**< number of separated cuts (max. is set->sepa_maxcuts) */
47  int nforcedcuts; /**< number of forced separated cuts (first positions in cuts array) */
48  int ncutsfound; /**< total number of cuts found so far */
49  int ncutsfoundround; /**< number of cuts found so far in this separation round */
50  int ncutsapplied; /**< total number of cuts applied to the LPs */
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
SCIP_Real * scores
type definitions for LP management
SCIP_ROW ** cuts
type definitions for problem variables
type definitions for storing separated cuts
SCIP_Real * orthogonalities
#define SCIP_Bool
Definition: def.h:61
#define SCIP_Real
Definition: def.h:135
SCIP_Real * efficacies
SCIP_Real * objparallelisms
SCIP_Bool initiallp
common defines and data types used in all packages of SCIP
SCIP_Bool forcecuts