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
void SCIPvbcExit(SCIP_VBC *vbc, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: vbc.c:138
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
type definitions for global SCIP settings
void SCIPvbcFoundSolution(SCIP_VBC *vbc, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:481
type definitions for problem statistics
void SCIPvbcFoundConflict(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:430
SCIP_RETCODE SCIPvbcUpdateChild(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:259
type definitions for VBC Tool output
void SCIPvbcFree(SCIP_VBC **vbc)
Definition: vbc.c:84
type definitions for branch and bound tree
void SCIPvbcRepropagatedNode(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:465
SCIP_RETCODE SCIPvbcInit(SCIP_VBC *vbc, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: vbc.c:97
void SCIPvbcLowerbound(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_Real lowerbound)
Definition: vbc.c:499
void SCIPvbcSolvedNode(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:332
void SCIPvbcCutoffNode(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:381
void SCIPvbcUpperbound(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_Real upperbound)
Definition: vbc.c:516
#define SCIP_Real
Definition: def.h:123
SCIP_RETCODE SCIPvbcCreate(SCIP_VBC **vbc, SCIP_MESSAGEHDLR *messagehdlr)
Definition: vbc.c:65
SCIP_RETCODE SCIPvbcNewChild(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:197
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:371
SCIP_MESSAGEHDLR * messagehdlr
Definition: struct_vbc.h:40
void SCIPvbcMarkedRepropagateNode(SCIP_VBC *vbc, SCIP_STAT *stat, SCIP_NODE *node)
Definition: vbc.c:446