Scippy

SCIP

Solving Constraint Integer Programs

type_compr.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 type_compr.h
17  * @ingroup TYPEDEFINITIONS
18  * @brief type definitions for tree compression
19  * @author Jakob Witzig
20  *
21  * This file defines the interface for tree compression implemented in C.
22  *
23  */
24 
25 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
26 
27 #ifndef __SCIP_TYPE_COMPR_H__
28 #define __SCIP_TYPE_COMPR_H__
29 
30 #include "scip/def.h"
31 #include "scip/type_scip.h"
32 #include "scip/type_result.h"
33 #include "scip/type_timing.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 typedef struct SCIP_Compr SCIP_COMPR; /**< tree compression */
40 typedef struct SCIP_ComprData SCIP_COMPRDATA; /**< locally defined tree compression data */
41 
42 
43 /** copy method for compression plugins (called when SCIP copies plugins)
44  *
45  * input:
46  * - scip : SCIP main data structure
47  * - compr : the compression technique itself
48  */
49 #define SCIP_DECL_COMPRCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
50 
51 /** destructor of tree compression to free user data (called when SCIP is exiting)
52  *
53  * input:
54  * - scip : SCIP main data structure
55  * - compr : the compression technique itself
56  */
57 #define SCIP_DECL_COMPRFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
58 
59 /** initialization method of tree compression (called after problem was transformed)
60  *
61  * input:
62  * - scip : SCIP main data structure
63  * - compr : the compression technique itself
64  */
65 #define SCIP_DECL_COMPRINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
66 
67 /** deinitialization method of tree compression (called before transformed problem is freed)
68  *
69  * input:
70  * - scip : SCIP main data structure
71  * - compr : the compression technique itself
72  */
73 #define SCIP_DECL_COMPREXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
74 
75 /** solving process initialization method of tree compressionc (called when branch and bound process is about to begin)
76  *
77  * This method is called when the presolving was finished and the branch and bound process is about to begin.
78  * The tree compression may use this call to initialize its branch and bound specific data.
79  *
80  * input:
81  * - scip : SCIP main data structure
82  * - compr : the compression technique itself
83  */
84 #define SCIP_DECL_COMPRINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
85 
86 /** solving process deinitialization method of tree compression (called before branch and bound process data is freed)
87  *
88  * This method is called before the branch and bound process is freed.
89  * The tree compression should use this call to clean up its branch and bound data.
90  *
91  * input:
92  * - scip : SCIP main data structure
93  * - compr : the compression technique itself
94  */
95 #define SCIP_DECL_COMPREXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr)
96 
97 /** execution method of tree compression technique
98  *
99  * Try to compress the current search tree. The method is called in the node processing loop.
100  *
101  * input:
102  * - scip : SCIP main data structure
103  * - compr : the compression technique itself
104  * - result : pointer to store the result of the heuristic call
105  *
106  * possible return values for *result:
107  * - SCIP_SUCCESS : the tree could be compressed
108  * - SCIP_DIDNITFIND : the method could not compress the tree
109  * - SCIP_DIDNOTRUN : the compression was skipped
110  */
111 #define SCIP_DECL_COMPREXEC(x) SCIP_RETCODE x (SCIP* scip, SCIP_COMPR* compr, SCIP_RESULT* result)
112 
113 #ifdef __cplusplus
114 }
115 #endif
116 
117 #endif
timing definitions for SCIP
type definitions for SCIP&#39;s main datastructure
struct SCIP_ComprData SCIP_COMPRDATA
Definition: type_compr.h:40
result codes for SCIP callback methods
common defines and data types used in all packages of SCIP