Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjHeur Class Referenceabstract

Detailed Description

C++ wrapper for primal heuristics.

This class defines the interface for primal heuristics implemented in C++. Note that there is a pure virtual function (this function has to be implemented). This function is: scip_exec().

Definition at line 43 of file objheur.h.

#include <objheur.h>

Public Member Functions

 ObjHeur (SCIP *scip, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip)
 
virtual ~ObjHeur ()
 
virtual SCIP_DECL_HEURFREE (scip_free)
 
virtual SCIP_DECL_HEURINIT (scip_init)
 
virtual SCIP_DECL_HEUREXIT (scip_exit)
 
virtual SCIP_DECL_HEURINITSOL (scip_initsol)
 
virtual SCIP_DECL_HEUREXITSOL (scip_exitsol)
 
virtual SCIP_DECL_HEUREXEC (scip_exec)=0
 
- Public Member Functions inherited from scip::ObjCloneable
virtual ~ObjCloneable ()
 
virtual SCIP_DECL_OBJCLONEABLECLONE (ObjCloneable *clone)
 
virtual SCIP_DECL_OBJCLONEABLEISCLONEABLE (iscloneable)
 

Data Fields

SCIPscip_
 
char * scip_name_
 
char * scip_desc_
 
const char scip_dispchar_
 
const int scip_priority_
 
const int scip_freq_
 
const int scip_freqofs_
 
const int scip_maxdepth_
 
const SCIP_HEURTIMING scip_timingmask_
 
const SCIP_Bool scip_usessubscip_
 

Constructor & Destructor Documentation

◆ ObjHeur()

scip::ObjHeur::ObjHeur ( SCIP scip,
const char *  name,
const char *  desc,
char  dispchar,
int  priority,
int  freq,
int  freqofs,
int  maxdepth,
SCIP_HEURTIMING  timingmask,
SCIP_Bool  usessubscip 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of primal heuristic
descdescription of primal heuristic
dispchardisplay character of primal heuristic
prioritypriority of the primal heuristic
freqfrequency for calling primal heuristic
freqofsfrequency offset for calling primal heuristic
maxdepthmaximal depth level to call heuristic at (-1: no limit)
timingmaskpositions in the node solving loop where heuristic should be executed; see definition of SCIP_HEURTIMING for possible values
usessubscipdoes the heuristic use a secondary SCIP instance?

Definition at line 79 of file objheur.h.

References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.

◆ ~ObjHeur()

virtual scip::ObjHeur::~ObjHeur ( )
inlinevirtual

destructor

Definition at line 109 of file objheur.h.

References SCIPfreeMemoryArray.

Member Function Documentation

◆ SCIP_DECL_HEURFREE()

virtual scip::ObjHeur::SCIP_DECL_HEURFREE ( scip_free  )
inlinevirtual

destructor of primal heuristic to free user data (called when SCIP is exiting)

See also
SCIP_DECL_HEURFREE(x) in type_heur.h

Reimplemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Definition at line 121 of file objheur.h.

References SCIP_OKAY.

◆ SCIP_DECL_HEURINIT()

virtual scip::ObjHeur::SCIP_DECL_HEURINIT ( scip_init  )
inlinevirtual

initialization method of primal heuristic (called after problem was transformed)

See also
SCIP_DECL_HEURINIT(x) in type_heur.h

Reimplemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Definition at line 130 of file objheur.h.

References SCIP_OKAY.

◆ SCIP_DECL_HEUREXIT()

virtual scip::ObjHeur::SCIP_DECL_HEUREXIT ( scip_exit  )
inlinevirtual

deinitialization method of primal heuristic (called before transformed problem is freed)

See also
SCIP_DECL_HEUREXIT(x) in type_heur.h

Reimplemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Definition at line 139 of file objheur.h.

References SCIP_OKAY.

◆ SCIP_DECL_HEURINITSOL()

virtual scip::ObjHeur::SCIP_DECL_HEURINITSOL ( scip_initsol  )
inlinevirtual

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

See also
SCIP_DECL_HEURINITSOL(x) in type_heur.h

Reimplemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Definition at line 148 of file objheur.h.

References SCIP_OKAY.

◆ SCIP_DECL_HEUREXITSOL()

virtual scip::ObjHeur::SCIP_DECL_HEUREXITSOL ( scip_exitsol  )
inlinevirtual

solving process deinitialization method of primal heuristic (called before branch and bound process data is freed)

See also
SCIP_DECL_HEUREXITSOL(x) in type_heur.h

Reimplemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Definition at line 157 of file objheur.h.

References SCIP_Bool, SCIP_DECL_HEUREXEC(), SCIP_OKAY, SCIPfindObjHeur(), SCIPgetObjHeur(), and SCIPincludeObjHeur().

◆ SCIP_DECL_HEUREXEC()

virtual scip::ObjHeur::SCIP_DECL_HEUREXEC ( scip_exec  )
pure virtual

execution method of primal heuristic

See also
SCIP_DECL_HEUREXEC(x) in type_heur.h

Implemented in tsp::Heur2opt, tsp::HeurFrats, and tsp::HeurFarthestInsert.

Referenced by SCIP_DECL_HEUREXITSOL().

Field Documentation

◆ scip_

SCIP* scip::ObjHeur::scip_

SCIP data structure

Definition at line 49 of file objheur.h.

◆ scip_name_

char* scip::ObjHeur::scip_name_

name of the primal heuristic

Definition at line 52 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_desc_

char* scip::ObjHeur::scip_desc_

description of the primal heuristic

Definition at line 55 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_dispchar_

const char scip::ObjHeur::scip_dispchar_

display character of primal heuristic

Definition at line 58 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_priority_

const int scip::ObjHeur::scip_priority_

default priority of the primal heuristic

Definition at line 61 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_freq_

const int scip::ObjHeur::scip_freq_

frequency for calling primal heuristic

Definition at line 64 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_freqofs_

const int scip::ObjHeur::scip_freqofs_

frequency offset for calling primal heuristic

Definition at line 67 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_maxdepth_

const int scip::ObjHeur::scip_maxdepth_

maximal depth level to call heuristic at (-1: no limit)

Definition at line 70 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_timingmask_

const SCIP_HEURTIMING scip::ObjHeur::scip_timingmask_

positions in the node solving loop where heuristic should be executed

Definition at line 73 of file objheur.h.

Referenced by SCIPincludeObjHeur().

◆ scip_usessubscip_

const SCIP_Bool scip::ObjHeur::scip_usessubscip_

does the heuristic use a secondary SCIP instance?

Definition at line 76 of file objheur.h.

Referenced by SCIPincludeObjHeur().