SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches
cutsel.h File Reference

Detailed Description

internal methods for cut selectors

Author
Felipe Serrano
Mark Turner

Definition in file cutsel.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/pub_cutsel.h"
#include "scip/lp.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPcutselCreate (SCIP_CUTSEL **cutsel, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, SCIP_DECL_CUTSELCOPY((*cutselcopy)), SCIP_DECL_CUTSELFREE((*cutselfree)), SCIP_DECL_CUTSELINIT((*cutselinit)), SCIP_DECL_CUTSELEXIT((*cutselexit)), SCIP_DECL_CUTSELINITSOL((*cutselinitsol)), SCIP_DECL_CUTSELEXITSOL((*cutselexitsol)), SCIP_DECL_CUTSELSELECT((*cutselselect)), SCIP_CUTSELDATA *cutseldata)
 
void SCIPcutselEnableOrDisableClocks (SCIP_CUTSEL *cutsel, SCIP_Bool enable)
 
SCIP_RETCODE SCIPcutselsSelect (SCIP_SET *set, SCIP_ROW **cuts, int ncuts, int nforcedcuts, SCIP_Bool root, SCIP_Bool initiallp, int maxnselectedcuts, int *nselectedcuts)
 
SCIP_RETCODE SCIPcutselCopyInclude (SCIP_CUTSEL *cutsel, SCIP_SET *set)
 
void SCIPcutselSetCopy (SCIP_CUTSEL *cutsel,)
 
SCIP_RETCODE SCIPcutselInit (SCIP_CUTSEL *cutsel, SCIP_SET *set)
 
SCIP_RETCODE SCIPcutselExit (SCIP_CUTSEL *cutsel, SCIP_SET *set)
 
SCIP_RETCODE SCIPcutselFree (SCIP_CUTSEL **cutsel, SCIP_SET *set)
 
SCIP_RETCODE SCIPcutselInitsol (SCIP_CUTSEL *cutsel, SCIP_SET *set)
 
SCIP_RETCODE SCIPcutselExitsol (SCIP_CUTSEL *cutsel, SCIP_SET *set)
 
void SCIPcutselSetFree (SCIP_CUTSEL *cutsel,)
 
void SCIPcutselSetInit (SCIP_CUTSEL *cutsel,)
 
void SCIPcutselSetExit (SCIP_CUTSEL *cutsel,)
 
void SCIPcutselSetInitsol (SCIP_CUTSEL *cutsel,)
 
void SCIPcutselSetExitsol (SCIP_CUTSEL *cutsel,)
 
void SCIPcutselSetPriority (SCIP_CUTSEL *cutsel, SCIP_SET *set, int priority)
 

Function Documentation

◆ SCIPcutselCreate()

SCIP_RETCODE SCIPcutselCreate ( SCIP_CUTSEL ** cutsel,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
const char * name,
const char * desc,
int priority,
SCIP_DECL_CUTSELCOPY((*cutselcopy)) ,
SCIP_DECL_CUTSELFREE((*cutselfree)) ,
SCIP_DECL_CUTSELINIT((*cutselinit)) ,
SCIP_DECL_CUTSELEXIT((*cutselexit)) ,
SCIP_DECL_CUTSELINITSOL((*cutselinitsol)) ,
SCIP_DECL_CUTSELEXITSOL((*cutselexitsol)) ,
SCIP_DECL_CUTSELSELECT((*cutselselect)) ,
SCIP_CUTSELDATA * cutseldata )

creates a cut selector

Parameters
cutselpointer to store cut selector
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of cut selector
descdescription of cut selector
prioritypriority of the cut selector in standard mode
cutseldatacut selector data

Definition at line 128 of file cutsel.c.

References assert(), doCutselCreate(), NULL, SCIP_CALL_FINALLY, SCIP_DECL_CUTSELCOPY, SCIP_DECL_CUTSELEXIT, SCIP_DECL_CUTSELFREE, SCIP_DECL_CUTSELINIT, SCIP_OKAY, and SCIPcutselFree().

Referenced by SCIPincludeCutsel(), and SCIPincludeCutselBasic().

◆ SCIPcutselEnableOrDisableClocks()

void SCIPcutselEnableOrDisableClocks ( SCIP_CUTSEL * cutsel,
SCIP_Bool enable )

enables or disables all clocks of cutsel, depending on the value of the flag

Parameters
cutselthe cut selector for which all clocks should be enabled or disabled
enableshould the clocks of the cut selector be enabled?

Definition at line 450 of file cutsel.c.

References assert(), SCIP_Cutsel::cutseltime, NULL, SCIP_Bool, SCIPclockEnableOrDisable(), and SCIP_Cutsel::setuptime.

◆ SCIPcutselsSelect()

SCIP_RETCODE SCIPcutselsSelect ( SCIP_SET * set,
SCIP_ROW ** cuts,
int ncuts,
int nforcedcuts,
SCIP_Bool root,
SCIP_Bool initiallp,
int maxnselectedcuts,
int * nselectedcuts )

calls cut selectors to select cuts

Parameters
setglobal SCIP settings
cutsarray with cuts to select from
ncutslength of cuts
nforcedcutsnumber of forced cuts at start of given array
rootare we at the root node?
initiallpis the separation storage currently being filled with the initial LP rows?
maxnselectedcutsmaximum number of cuts to be selected
nselectedcutspointer to return number of selected cuts

Definition at line 169 of file cutsel.c.

References assert(), SCIP_Cutsel::cutseltime, i, MIN, SCIP_Cutsel::ncalls, SCIP_Cutsel::nlocalcutsfiltered, SCIP_Cutsel::nlocalcutsforced, SCIP_Cutsel::nlocalcutsselected, SCIP_Cutsel::nrootcalls, SCIP_Cutsel::nrootcutsfiltered, SCIP_Cutsel::nrootcutsforced, SCIP_Cutsel::nrootcutsselected, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPclockStart(), SCIPclockStop(), and SCIPsetSortCutsels().

Referenced by SCIPsepastoreApplyCuts().

◆ SCIPcutselCopyInclude()

SCIP_RETCODE SCIPcutselCopyInclude ( SCIP_CUTSEL * cutsel,
SCIP_SET * set )

copies the given cut selector to a new scip

Parameters
cutselcut selector
setSCIP_SET of SCIP to copy to

Definition at line 255 of file cutsel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcutselGetName(), and SCIPsetDebugMsg.

Referenced by SCIPsetCopyPlugins().

◆ SCIPcutselSetCopy()

void SCIPcutselSetCopy ( SCIP_CUTSEL * cutsel)

sets copy method of cut selector

Parameters
cutselcut selector copy method of cut selector or NULL if you don't want to copy your plugin into sub-SCIPs

Definition at line 465 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELCOPY.

Referenced by SCIPsetCutselCopy().

◆ SCIPcutselInit()

SCIP_RETCODE SCIPcutselInit ( SCIP_CUTSEL * cutsel,
SCIP_SET * set )

initializes cut selector

Parameters
cutselcut selector
setglobal SCIP settings

Definition at line 304 of file cutsel.c.

References assert(), SCIP_Cutsel::cutseltime, SCIP_Cutsel::initialized, SCIP_Cutsel::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Cutsel::setuptime, and TRUE.

◆ SCIPcutselExit()

SCIP_RETCODE SCIPcutselExit ( SCIP_CUTSEL * cutsel,
SCIP_SET * set )

deinitializes cut selector

Parameters
cutselcut selector
setglobal SCIP settings

Definition at line 341 of file cutsel.c.

References assert(), FALSE, SCIP_Cutsel::initialized, SCIP_Cutsel::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Cutsel::setuptime.

◆ SCIPcutselFree()

SCIP_RETCODE SCIPcutselFree ( SCIP_CUTSEL ** cutsel,
SCIP_SET * set )

frees memory of cut selector

Parameters
cutselpointer to cut selector data structure
setglobal SCIP settings

Definition at line 273 of file cutsel.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

Referenced by SCIPcutselCreate().

◆ SCIPcutselInitsol()

SCIP_RETCODE SCIPcutselInitsol ( SCIP_CUTSEL * cutsel,
SCIP_SET * set )

informs cut selector that the branch and bound process is being started

Parameters
cutselcut selector
setglobal SCIP settings

Definition at line 371 of file cutsel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Cutsel::setuptime.

◆ SCIPcutselExitsol()

SCIP_RETCODE SCIPcutselExitsol ( SCIP_CUTSEL * cutsel,
SCIP_SET * set )

informs cut selector that the branch and bound process is being started

Parameters
cutselcut selector
setglobal SCIP settings

Definition at line 395 of file cutsel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Cutsel::setuptime.

◆ SCIPcutselSetFree()

void SCIPcutselSetFree ( SCIP_CUTSEL * cutsel)

sets destructor method of cut selector

Parameters
cutselcut selector destructor of cut selector

Definition at line 476 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELFREE.

Referenced by SCIPsetCutselFree().

◆ SCIPcutselSetInit()

void SCIPcutselSetInit ( SCIP_CUTSEL * cutsel)

sets initialization method of cut selector

Parameters
cutselcut selector initialize cut selector

Definition at line 487 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELINIT.

Referenced by SCIPsetCutselInit().

◆ SCIPcutselSetExit()

void SCIPcutselSetExit ( SCIP_CUTSEL * cutsel)

sets deinitialization method of cut selector

Parameters
cutselcut selector deinitialize cut selector

Definition at line 498 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELEXIT.

Referenced by SCIPsetCutselExit().

◆ SCIPcutselSetInitsol()

void SCIPcutselSetInitsol ( SCIP_CUTSEL * cutsel)

sets solving process initialization method of cut selector

Parameters
cutselcut selector solving process initialization method of cut selector

Definition at line 509 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELINITSOL.

Referenced by SCIPsetCutselInitsol().

◆ SCIPcutselSetExitsol()

void SCIPcutselSetExitsol ( SCIP_CUTSEL * cutsel)

sets solving process deinitialization method of cut selector

Parameters
cutselcut selector solving process deinitialization method of cut selector

Definition at line 520 of file cutsel.c.

References assert(), NULL, and SCIP_DECL_CUTSELEXITSOL.

Referenced by SCIPsetCutselExitsol().

◆ SCIPcutselSetPriority()

void SCIPcutselSetPriority ( SCIP_CUTSEL * cutsel,
SCIP_SET * set,
int priority )

sets priority of cut selector

Parameters
cutselcut selector
setglobal SCIP settings
prioritynew priority of the cut selector

Definition at line 531 of file cutsel.c.

References assert(), FALSE, NULL, and SCIP_Cutsel::priority.

Referenced by SCIPsetCutselPriority().