SCIP Doxygen Documentation
Loading...
Searching...
No Matches
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-2024 Zuse Institute Berlin (ZIB) */
7
/* */
8
/* Licensed under the Apache License, Version 2.0 (the "License"); */
9
/* you may not use this file except in compliance with the License. */
10
/* You may obtain a copy of the License at */
11
/* */
12
/* http://www.apache.org/licenses/LICENSE-2.0 */
13
/* */
14
/* Unless required by applicable law or agreed to in writing, software */
15
/* distributed under the License is distributed on an "AS IS" BASIS, */
16
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17
/* See the License for the specific language governing permissions and */
18
/* limitations under the License. */
19
/* */
20
/* You should have received a copy of the Apache-2.0 license */
21
/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22
/* */
23
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25
/**@file type_tree.h
26
* @brief type definitions for branch and bound tree
27
* @author Tobias Achterberg
28
*/
29
30
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
31
32
#ifndef __SCIP_TYPE_TREE_H__
33
#define __SCIP_TYPE_TREE_H__
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
39
enum
SCIP_NodeType
40
{
41
SCIP_NODETYPE_FOCUSNODE
= 0,
/**< the focus node, whose data is stored in the tree data structure */
42
SCIP_NODETYPE_PROBINGNODE
= 1,
/**< temporary child node of the focus or refocused node used for probing */
43
SCIP_NODETYPE_SIBLING
= 2,
/**< unsolved sibling of the focus node */
44
SCIP_NODETYPE_CHILD
= 3,
/**< unsolved child of the focus node */
45
SCIP_NODETYPE_LEAF
= 4,
/**< unsolved leaf of the tree, stored in the tree's queue */
46
SCIP_NODETYPE_DEADEND
= 5,
/**< temporary type of focus node, if it was solved completely */
47
SCIP_NODETYPE_JUNCTION
= 6,
/**< fork without LP solution */
48
SCIP_NODETYPE_PSEUDOFORK
= 7,
/**< fork without LP solution and added rows and columns */
49
SCIP_NODETYPE_FORK
= 8,
/**< fork with solved LP and added rows and columns */
50
SCIP_NODETYPE_SUBROOT
= 9,
/**< fork with solved LP and arbitrarily changed rows and columns */
51
SCIP_NODETYPE_REFOCUSNODE
= 10
/**< junction, fork, or subroot that was refocused for domain propagation */
52
};
53
typedef
enum
SCIP_NodeType
SCIP_NODETYPE
;
/**< type of node */
54
55
typedef
struct
SCIP_Probingnode
SCIP_PROBINGNODE
;
/**< data for probing nodes */
56
typedef
struct
SCIP_Sibling
SCIP_SIBLING
;
/**< data for sibling nodes */
57
typedef
struct
SCIP_Child
SCIP_CHILD
;
/**< data for child nodes */
58
typedef
struct
SCIP_Leaf
SCIP_LEAF
;
/**< data for leaf nodes */
59
typedef
struct
SCIP_Junction
SCIP_JUNCTION
;
/**< data for junction nodes */
60
typedef
struct
SCIP_Pseudofork
SCIP_PSEUDOFORK
;
/**< data for pseudo fork nodes */
61
typedef
struct
SCIP_Fork
SCIP_FORK
;
/**< data for fork nodes */
62
typedef
struct
SCIP_Subroot
SCIP_SUBROOT
;
/**< data for subroot nodes */
63
typedef
struct
SCIP_Node
SCIP_NODE
;
/**< node data structure */
64
typedef
struct
SCIP_PendingBdchg
SCIP_PENDINGBDCHG
;
/**< bound change information for pending bound changes */
65
typedef
struct
SCIP_Tree
SCIP_TREE
;
/**< branch and bound tree */
66
67
#ifdef __cplusplus
68
}
69
#endif
70
71
#endif
SCIP_Child
Definition
struct_tree.h:80
SCIP_Fork
Definition
struct_tree.h:108
SCIP_Junction
Definition
struct_tree.h:92
SCIP_Leaf
Definition
struct_tree.h:86
SCIP_Node
Definition
struct_tree.h:142
SCIP_PendingBdchg
Definition
struct_tree.h:172
SCIP_Probingnode
Definition
struct_tree.h:56
SCIP_Pseudofork
Definition
struct_tree.h:98
SCIP_Sibling
Definition
struct_tree.h:74
SCIP_Subroot
Definition
struct_tree.h:125
SCIP_Tree
Definition
struct_tree.h:185
SCIP_NODETYPE
enum SCIP_NodeType SCIP_NODETYPE
Definition
type_tree.h:53
SCIP_NodeType
SCIP_NodeType
Definition
type_tree.h:40
SCIP_NODETYPE_REFOCUSNODE
@ SCIP_NODETYPE_REFOCUSNODE
Definition
type_tree.h:51
SCIP_NODETYPE_FORK
@ SCIP_NODETYPE_FORK
Definition
type_tree.h:49
SCIP_NODETYPE_CHILD
@ SCIP_NODETYPE_CHILD
Definition
type_tree.h:44
SCIP_NODETYPE_PROBINGNODE
@ SCIP_NODETYPE_PROBINGNODE
Definition
type_tree.h:42
SCIP_NODETYPE_JUNCTION
@ SCIP_NODETYPE_JUNCTION
Definition
type_tree.h:47
SCIP_NODETYPE_PSEUDOFORK
@ SCIP_NODETYPE_PSEUDOFORK
Definition
type_tree.h:48
SCIP_NODETYPE_DEADEND
@ SCIP_NODETYPE_DEADEND
Definition
type_tree.h:46
SCIP_NODETYPE_SIBLING
@ SCIP_NODETYPE_SIBLING
Definition
type_tree.h:43
SCIP_NODETYPE_LEAF
@ SCIP_NODETYPE_LEAF
Definition
type_tree.h:45
SCIP_NODETYPE_SUBROOT
@ SCIP_NODETYPE_SUBROOT
Definition
type_tree.h:50
SCIP_NODETYPE_FOCUSNODE
@ SCIP_NODETYPE_FOCUSNODE
Definition
type_tree.h:41
type_tree.h
© 2002-2024 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.12.0