Scippy

SCIP

Solving Constraint Integer Programs

vbc.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 vbc.h
17  * @brief methods for VBC Tool output
18  * @author Tobias Achterberg
19  */
20 
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #ifndef __SCIP_VBC_H__
24 #define __SCIP_VBC_H__
25 
26 
27 #include "scip/def.h"
28 #include "scip/type_set.h"
29 #include "scip/type_stat.h"
30 #include "scip/type_tree.h"
31 #include "scip/type_vbc.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /** creates VBCTool data structure */
38 extern
40  SCIP_VBC** vbc, /**< pointer to store the VBC information */
41  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
42  );
43 
44 /** frees VBC Tool data structure */
45 extern
46 void SCIPvbcFree(
47  SCIP_VBC** vbc /**< pointer to store the VBC information */
48  );
49 
50 /** initializes VBC information and creates a file for VBC output */
51 extern
53  SCIP_VBC* vbc, /**< VBC information */
54  BMS_BLKMEM* blkmem, /**< block memory */
55  SCIP_SET* set, /**< global SCIP settings */
56  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
57  );
58 
59 /** closes the VBC output file */
60 extern
61 void SCIPvbcExit(
62  SCIP_VBC* vbc, /**< VBC information */
63  SCIP_SET* set, /**< global SCIP settings */
64  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
65  );
66 
67 /** creates a new node entry in the VBC output file */
68 extern
70  SCIP_VBC* vbc, /**< VBC information */
71  SCIP_STAT* stat, /**< problem statistics */
72  SCIP_NODE* node /**< new node, that was created */
73  );
74 
75 /** updates a node entry in the VBC output file */
76 extern
78  SCIP_VBC* vbc, /**< VBC information */
79  SCIP_STAT* stat, /**< problem statistics */
80  SCIP_NODE* node /**< new node, that was created */
81  );
82 
83 /** changes the color of the node to the color of solved nodes */
84 extern
86  SCIP_VBC* vbc, /**< VBC information */
87  SCIP_STAT* stat, /**< problem statistics */
88  SCIP_NODE* node /**< node, that was solved */
89  );
90 
91 /** changes the color of the node to the color of cutoff nodes */
92 extern
94  SCIP_VBC* vbc, /**< VBC information */
95  SCIP_STAT* stat, /**< problem statistics */
96  SCIP_NODE* node /**< node, that was cut off */
97  );
98 
99 /** changes the color of the node to the color of nodes where a conflict constraint was found */
100 extern
102  SCIP_VBC* vbc, /**< VBC information */
103  SCIP_STAT* stat, /**< problem statistics */
104  SCIP_NODE* node /**< node, where the conflict was found */
105  );
106 
107 /** changes the color of the node to the color of nodes that were marked to be repropagated */
108 extern
110  SCIP_VBC* vbc, /**< VBC information */
111  SCIP_STAT* stat, /**< problem statistics */
112  SCIP_NODE* node /**< node, that was marked to be repropagated */
113  );
114 
115 /** changes the color of the node to the color of repropagated nodes */
116 extern
118  SCIP_VBC* vbc, /**< VBC information */
119  SCIP_STAT* stat, /**< problem statistics */
120  SCIP_NODE* node /**< node, that was repropagated */
121  );
122 
123 /** changes the color of the node to the color of nodes with a primal solution */
124 extern
126  SCIP_VBC* vbc, /**< VBC information */
127  SCIP_SET* set, /**< global SCIP settings */
128  SCIP_STAT* stat, /**< problem statistics */
129  SCIP_NODE* node /**< node where the solution was found, or NULL */
130  );
131 
132 /** outputs a new global lower bound to the VBC output file */
133 extern
134 void SCIPvbcLowerbound(
135  SCIP_VBC* vbc, /**< VBC information */
136  SCIP_STAT* stat, /**< problem statistics */
137  SCIP_Real lowerbound /**< new lower bound */
138  );
139 
140 /** outputs a new global upper bound to the VBC output file */
141 extern
142 void SCIPvbcUpperbound(
143  SCIP_VBC* vbc, /**< VBC information */
144  SCIP_STAT* stat, /**< problem statistics */
145  SCIP_Real upperbound /**< new upper bound */
146  );
147 
148 #ifdef __cplusplus
149 }
150 #endif
151 
152 #endif
153