Scippy

SCIP

Solving Constraint Integer Programs

dcmp.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 email to scip@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file dcmp.h
17  * @ingroup INTERNALAPI
18  * @brief internal methods for decompositions and the decomposition store
19  * @author Gregor Hendel
20  *
21  * @todo get a decomposition score, and compute other stuff that may be important
22  */
23 
24 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
25 
26 #ifndef SRC_SCIP_DECOMP_H_
27 #define SRC_SCIP_DECOMP_H_
28 
29 #include "scip/type_dcmp.h"
30 #include "scip/type_var.h"
31 #include "scip/type_cons.h"
32 #include "blockmemshell/memory.h"
33 
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 #define SCIP_DECOMPSTORE_CAPA 10 /**< hardcoded maximum capacity of decomposition store */
40 
41 /** creates a decomposition storage */
43  SCIP_DECOMPSTORE** decompstore, /**< pointer to store decomposition storage */
44  BMS_BLKMEM* blkmem, /**< block memory data structure */
45  int nslots /**< maximum number of decomposition slots in storage */
46  );
47 
48 /** frees a decomposition storage */
50  SCIP_DECOMPSTORE** decompstore, /**< pointer to free decomposition storage */
51  BMS_BLKMEM* blkmem /**< block memory data structure */
52  );
53 
54 /** adds decomposition to storage */
56  SCIP_DECOMPSTORE* decompstore, /**< decomposition storage */
57  SCIP_DECOMP* decomp /**< decomposition to add */
58  );
59 
60 /** transforms all available original decompositions into transformed space */
62  SCIP* scip /**< SCIP data structure */
63  );
64 
65 /** frees all decompositions in transformed space */
67  SCIP* scip /**< SCIP data structure */
68  );
69 
70 /** gets decompositions from storage */
72  SCIP_DECOMPSTORE* decompstore /**< decomposition storage */
73  );
74 
75 /** gets number of decompositions in storage */
77  SCIP_DECOMPSTORE* decompstore /**< decomposition storage */
78  );
79 
80 /** gets decompositions in original space from storage */
82  SCIP_DECOMPSTORE* decompstore /**< decomposition storage */
83  );
84 
85 /** gets number of decompositions in original space in storage */
87  SCIP_DECOMPSTORE* decompstore /**< decomposition storage */
88  );
89 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif
SCIP_RETCODE SCIPtransformDecompstore(SCIP *scip)
Definition: dcmp.c:639
SCIP_DECOMP ** SCIPdecompstoreGetOrigDecomps(SCIP_DECOMPSTORE *decompstore)
Definition: dcmp.c:620
int SCIPdecompstoreGetNDecomps(SCIP_DECOMPSTORE *decompstore)
Definition: dcmp.c:611
SCIP_RETCODE SCIPdecompstoreCreate(SCIP_DECOMPSTORE **decompstore, BMS_BLKMEM *blkmem, int nslots)
Definition: dcmp.c:490
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPdecompstoreAdd(SCIP_DECOMPSTORE *decompstore, SCIP_DECOMP *decomp)
Definition: dcmp.c:565
int SCIPdecompstoreGetNOrigDecomps(SCIP_DECOMPSTORE *decompstore)
Definition: dcmp.c:630
SCIP_DECOMP ** SCIPdecompstoreGetDecomps(SCIP_DECOMPSTORE *decompstore)
Definition: dcmp.c:601
type definitions for problem variables
void SCIPexitSolveDecompstore(SCIP *scip)
Definition: dcmp.c:533
type definitions for decompositions and the decomposition store
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:430
void SCIPdecompstoreFree(SCIP_DECOMPSTORE **decompstore, BMS_BLKMEM *blkmem)
Definition: dcmp.c:545
type definitions for constraints and constraint handlers
memory allocation routines