Scippy

GCG

Branch-and-Price & Column Generation for Everyone

type_branchgcg.h File Reference

Detailed Description

type definitions for branching rules in GCG projects

Author
Gerald Gamrath

Definition in file type_branchgcg.h.

#include "scip/def.h"
#include "scip/type_result.h"
#include "scip/type_scip.h"

Go to the source code of this file.

Macros

#define GCG_DECL_BRANCHACTIVEMASTER(x)   SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata)
 
#define GCG_DECL_BRANCHDEACTIVEMASTER(x)   SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata)
 
#define GCG_DECL_BRANCHPROPMASTER(x)   SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata, SCIP_RESULT* result)
 
#define GCG_DECL_BRANCHMASTERSOLVED(x)   SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata, SCIP_Real newlowerbound)
 
#define GCG_DECL_BRANCHDATADELETE(x)   SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA** branchdata)
 

Typedefs

typedef struct GCG_BranchData GCG_BRANCHDATA
 
typedef struct GCG_Branchrule GCG_BRANCHRULE
 
typedef enum GCG_BoundType GCG_BOUNDTYPE
 

Enumerations

enum  GCG_BoundType {
  GCG_BOUNDTYPE_LOWER = 0,
  GCG_BOUNDTYPE_UPPER = 1,
  GCG_BOUNDTYPE_FIXED = 2,
  GCG_BOUNDTYPE_NONE = 3
}
 

Macro Definition Documentation

◆ GCG_DECL_BRANCHACTIVEMASTER

#define GCG_DECL_BRANCHACTIVEMASTER (   x)    SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata)

activation method for branchrule, called when a node in the master problem is activated, should perform changes to the current node's problem due to the branchdata

input:

  • scip : SCIP main data structure of the master problem
  • branchdata : the branching data

Definition at line 67 of file type_branchgcg.h.

◆ GCG_DECL_BRANCHDEACTIVEMASTER

#define GCG_DECL_BRANCHDEACTIVEMASTER (   x)    SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata)

deactivation method for branchrule, called when a node in the master problem is deactivated, should undo changes to the current node's problem due to the branchdata

input:

  • scip : SCIP main data structure of the master problem
  • branchdata : the branching data

Definition at line 76 of file type_branchgcg.h.

◆ GCG_DECL_BRANCHPROPMASTER

#define GCG_DECL_BRANCHPROPMASTER (   x)    SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata, SCIP_RESULT* result)

propagation method for branchrule, called when a node in the master problem is propagated, should perform propagation at the current node due to the branchdata

input:

  • scip : SCIP main data structure of the master problem
  • branchdata : the branching data
  • node : the activated node
  • result : pointer to store the result of the propagation call

possible return values for *result:

  • SCIP_CUTOFF : the node is infeasible in the variable's bounds and can be cut off
  • SCIP_REDUCEDDOM : at least one domain reduction was found
  • SCIP_DIDNOTFIND : the propagator searched but did not find any domain reductions
  • SCIP_DIDNOTRUN : the propagator was skipped
  • SCIP_DELAYED : the propagator was skipped, but should be called again

Definition at line 95 of file type_branchgcg.h.

◆ GCG_DECL_BRANCHMASTERSOLVED

#define GCG_DECL_BRANCHMASTERSOLVED (   x)    SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA* branchdata, SCIP_Real newlowerbound)

method for branchrule, called when the master LP is solved at one node, can store pseudocosts for the branching decisions

input:

  • scip : SCIP main data structure of the original problem
  • branchdata : the branching data
  • newlowerbound : the new local lower bound

Definition at line 106 of file type_branchgcg.h.

◆ GCG_DECL_BRANCHDATADELETE

#define GCG_DECL_BRANCHDATADELETE (   x)    SCIP_RETCODE x (SCIP* scip, GCG_BRANCHDATA** branchdata)

frees branching data of an origbranch constraint (called when the origbranch constraint is deleted)

input: scip : SCIP main data structure of the original problem branchdata : pointer to the branching data to free

Definition at line 114 of file type_branchgcg.h.

Typedef Documentation

◆ GCG_BRANCHDATA

branching data

Definition at line 47 of file type_branchgcg.h.

◆ GCG_BRANCHRULE

branching rule

Definition at line 48 of file type_branchgcg.h.

◆ GCG_BOUNDTYPE

Definition at line 58 of file type_branchgcg.h.

Enumeration Type Documentation

◆ GCG_BoundType

type of variable bound: lower or upper bound

Enumerator
GCG_BOUNDTYPE_LOWER 

lower bound

GCG_BOUNDTYPE_UPPER 

upper bound

GCG_BOUNDTYPE_FIXED 

variable fixed

GCG_BOUNDTYPE_NONE 

no bound

Definition at line 51 of file type_branchgcg.h.