## Detailed Description

type definitions for node selectors

Definition in file type_nodesel.h.

`#include "scip/def.h"`

`#include "scip/type_retcode.h"`

`#include "scip/type_tree.h"`

`#include "scip/type_scip.h"`

Go to the source code of this file.

## Macros | |

#define | SCIP_DECL_NODESELCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

#define | SCIP_DECL_NODESELSELECT(x) SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) |

#define | SCIP_DECL_NODESELCOMP(x) int x (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) |

## Typedefs | |

typedef struct SCIP_NodePQ | SCIP_NODEPQ |

typedef struct SCIP_Nodesel | SCIP_NODESEL |

typedef struct SCIP_NodeselData | SCIP_NODESELDATA |

## Macro Definition Documentation

## ◆ SCIP_DECL_NODESELCOPY

#define SCIP_DECL_NODESELCOPY | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

copy method for node selector plugins (called when SCIP copies plugins)

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 47 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELFREE

#define SCIP_DECL_NODESELFREE | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

destructor of node selector to free user data (called when SCIP is exiting)

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 56 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELINIT

#define SCIP_DECL_NODESELINIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

initialization method of node selector (called after problem was transformed)

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 64 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELEXIT

#define SCIP_DECL_NODESELEXIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

deinitialization method of node selector (called before transformed problem is freed)

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 72 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELINITSOL

#define SCIP_DECL_NODESELINITSOL | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

solving process initialization method of node selector (called when branch and bound process is about to begin)

This method is called when the presolving was finished and the branch and bound process is about to begin. The node selector may use this call to initialize its branch and bound specific data.

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 83 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELEXITSOL

#define SCIP_DECL_NODESELEXITSOL | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel) |

solving process deinitialization method of node selector (called before branch and bound process data is freed)

This method is called before the branch and bound process is freed. The node selector should use this call to clean up its branch and bound data.

input:

- scip : SCIP main data structure
- nodesel : the node selector itself

Definition at line 94 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELSELECT

#define SCIP_DECL_NODESELSELECT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) |

node selection method of node selector

This method is called to select the next leaf of the branch and bound tree to be processed.

input:

- scip : SCIP main data structure
- nodesel : the node selector itself
- selnode : pointer to store the selected node

possible return values for *selnode:

- NULL : problem is solved, because tree is empty
- non-NULL: node to be solved next

Definition at line 109 of file type_nodesel.h.

## ◆ SCIP_DECL_NODESELCOMP

#define SCIP_DECL_NODESELCOMP | ( | x | ) | int x (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) |

node comparison method of node selector

This method is called to compare two nodes regarding their order in the node priority queue.

input:

- scip : SCIP main data structure
- nodesel : the node selector itself
- node1 : first node to compare
- node2 : second node to compare

possible return values:

- value < 0: node1 comes before (is better than) node2
- value = 0: both nodes are equally good
- value > 0: node2 comes after (is worse than) node2

Definition at line 126 of file type_nodesel.h.

## Typedef Documentation

## ◆ SCIP_NODEPQ

typedef struct SCIP_NodePQ SCIP_NODEPQ |

node priority queue

Definition at line 36 of file type_nodesel.h.

## ◆ SCIP_NODESEL

typedef struct SCIP_Nodesel SCIP_NODESEL |

node selector data structure

Definition at line 37 of file type_nodesel.h.

## ◆ SCIP_NODESELDATA

typedef struct SCIP_NodeselData SCIP_NODESELDATA |

node selector specific data

Definition at line 38 of file type_nodesel.h.