Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
type_tree.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 type_tree.h
17
* @brief type definitions for branch and bound tree
18
* @author Tobias Achterberg
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_TYPE_TREE_H__
24
#define __SCIP_TYPE_TREE_H__
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
enum
SCIP_NodeType
31
{
32
SCIP_NODETYPE_FOCUSNODE
= 0,
/**< the focus node, whose data is stored in the tree data structure */
33
SCIP_NODETYPE_PROBINGNODE
= 1,
/**< temporary child node of the focus or refocused node used for probing */
34
SCIP_NODETYPE_SIBLING
= 2,
/**< unsolved sibling of the focus node */
35
SCIP_NODETYPE_CHILD
= 3,
/**< unsolved child of the focus node */
36
SCIP_NODETYPE_LEAF
= 4,
/**< unsolved leaf of the tree, stored in the tree's queue */
37
SCIP_NODETYPE_DEADEND
= 5,
/**< temporary type of focus node, if it was solved completely */
38
SCIP_NODETYPE_JUNCTION
= 6,
/**< fork without LP solution */
39
SCIP_NODETYPE_PSEUDOFORK
= 7,
/**< fork without LP solution and added rows and columns */
40
SCIP_NODETYPE_FORK
= 8,
/**< fork with solved LP and added rows and columns */
41
SCIP_NODETYPE_SUBROOT
= 9,
/**< fork with solved LP and arbitrarily changed rows and columns */
42
SCIP_NODETYPE_REFOCUSNODE
= 10
/**< junction, fork, or subroot that was refocused for domain propagation */
43
};
44
typedef
enum
SCIP_NodeType
SCIP_NODETYPE
;
/**< type of node */
45
46
typedef
struct
SCIP_Probingnode
SCIP_PROBINGNODE
;
/**< data for probing nodes */
47
typedef
struct
SCIP_Sibling
SCIP_SIBLING
;
/**< data for sibling nodes */
48
typedef
struct
SCIP_Child
SCIP_CHILD
;
/**< data for child nodes */
49
typedef
struct
SCIP_Leaf
SCIP_LEAF
;
/**< data for leaf nodes */
50
typedef
struct
SCIP_Junction
SCIP_JUNCTION
;
/**< data for junction nodes */
51
typedef
struct
SCIP_Pseudofork
SCIP_PSEUDOFORK
;
/**< data for pseudo fork nodes */
52
typedef
struct
SCIP_Fork
SCIP_FORK
;
/**< data for fork nodes */
53
typedef
struct
SCIP_Subroot
SCIP_SUBROOT
;
/**< data for subroot nodes */
54
typedef
struct
SCIP_Node
SCIP_NODE
;
/**< node data structure */
55
typedef
struct
SCIP_PendingBdchg
SCIP_PENDINGBDCHG
;
/**< bound change information for pending bound changes */
56
typedef
struct
SCIP_Tree
SCIP_TREE
;
/**< branch and bound tree */
57
58
#ifdef __cplusplus
59
}
60
#endif
61
62
#endif
SCIP_NODETYPE_PROBINGNODE
Definition:
type_tree.h:33
SCIP_NODETYPE_PSEUDOFORK
Definition:
type_tree.h:39
SCIP_NODETYPE_SIBLING
Definition:
type_tree.h:34
SCIP_NODETYPE_SUBROOT
Definition:
type_tree.h:41
SCIP_Probingnode
Definition:
struct_tree.h:44
SCIP_Subroot
Definition:
struct_tree.h:113
SCIP_Node
Definition:
struct_tree.h:130
SCIP_NODETYPE_REFOCUSNODE
Definition:
type_tree.h:42
SCIP_NODETYPE_LEAF
Definition:
type_tree.h:36
SCIP_NodeType
SCIP_NodeType
Definition:
type_tree.h:30
SCIP_Sibling
Definition:
struct_tree.h:62
SCIP_Leaf
Definition:
struct_tree.h:74
SCIP_NODETYPE_FOCUSNODE
Definition:
type_tree.h:32
SCIP_Child
Definition:
struct_tree.h:68
SCIP_PendingBdchg
Definition:
struct_tree.h:160
SCIP_NODETYPE_CHILD
Definition:
type_tree.h:35
SCIP_Junction
Definition:
struct_tree.h:80
SCIP_NODETYPE
enum SCIP_NodeType SCIP_NODETYPE
Definition:
type_tree.h:44
SCIP_Pseudofork
Definition:
struct_tree.h:86
SCIP_Fork
Definition:
struct_tree.h:96
SCIP_NODETYPE_JUNCTION
Definition:
type_tree.h:38
SCIP_NODETYPE_FORK
Definition:
type_tree.h:40
SCIP_NODETYPE_DEADEND
Definition:
type_tree.h:37
SCIP_Tree
Definition:
struct_tree.h:173