## Detailed Description

type definitions for cut selectors

Definition in file type_cutsel.h.

`#include "scip/def.h"`

`#include "scip/type_retcode.h"`

`#include "scip/type_scip.h"`

`#include "scip/type_lp.h"`

`#include "scip/type_result.h"`

Go to the source code of this file.

## Macros | |

#define | SCIP_DECL_CUTSELCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

#define | SCIP_DECL_CUTSELSELECT(x) |

## Typedefs | |

typedef struct SCIP_Cutsel | SCIP_CUTSEL |

typedef struct SCIP_CutselData | SCIP_CUTSELDATA |

## Macro Definition Documentation

## ◆ SCIP_DECL_CUTSELCOPY

#define SCIP_DECL_CUTSELCOPY | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

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

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 62 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELFREE

#define SCIP_DECL_CUTSELFREE | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

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

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 70 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELINIT

#define SCIP_DECL_CUTSELINIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

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

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 78 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELEXIT

#define SCIP_DECL_CUTSELEXIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

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

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 86 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELINITSOL

#define SCIP_DECL_CUTSELINITSOL | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

solving process initialization method of cut 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 cut selector may use this call to initialize its branch and bound specific data.

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 97 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELEXITSOL

#define SCIP_DECL_CUTSELEXITSOL | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel) |

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

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

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself

Definition at line 108 of file type_cutsel.h.

## ◆ SCIP_DECL_CUTSELSELECT

#define SCIP_DECL_CUTSELSELECT | ( | x | ) |

**Value:**

**Definition:**struct_scip.h:69

**Definition:**struct_lp.h:201

**Definition:**struct_cutsel.h:46

**Definition:**objbenders.h:43

cut selection method of cut selector

This method is called to select the cuts to be added to the LP. Forcedcuts must not be changed, and cuts should only be resorted, with the first nselectedcuts of cuts being chosen. These nselectededcuts are used in addition to the forcedcuts (do not delete nor modify elements, simply resort).

input:

- scip : SCIP main data structure
- cutsel : the cut selector itself
- cuts : cutting planes to select from
- ncuts : number of cutting planes to select from (length of cuts)
- forcedcuts : list of cuts that are forced to be applied (i.e they are going to be selected no matter what)
- nforcedcuts : number of forced cuts
- root : are we at the root node?
- maxselectedcuts : maximum number of cuts that can be selected (upper bound for nselectedcuts)
- nselectedcuts : the first nselectedcuts from cuts are selected in addition to the nforcedcuts forced cuts
- result : pointer to store the result of the cut selection call

possible return values for *result (if more than one applies, the first in the list should be used):

- SCIP_SUCCESS : the cut selection succeeded
- SCIP_DIDNOTFIND : the cut selection did not find good enough cuts to select

Definition at line 132 of file type_cutsel.h.

## Typedef Documentation

## ◆ SCIP_CUTSEL

typedef struct SCIP_Cutsel SCIP_CUTSEL |

cut selector data structure

Definition at line 52 of file type_cutsel.h.

## ◆ SCIP_CUTSELDATA

typedef struct SCIP_CutselData SCIP_CUTSELDATA |

cut selector specific data

Definition at line 53 of file type_cutsel.h.