Scippy

GCG

Branch-and-Price & Column Generation for Everyone

branch_empty.c File Reference

Detailed Description

branching rule for the original problem while real branching is applied in the master

Author
Marcel Schmickerath
Martin Bergner
Christian Puchert

Definition in file branch_empty.c.

#include <assert.h>
#include <string.h>
#include "branch_empty.h"
#include "relax_gcg.h"
#include "gcg.h"
#include "branch_orig.h"
#include "cons_masterbranch.h"
#include "cons_origbranch.h"
#include "scip/branch_allfullstrong.h"
#include "scip/branch_fullstrong.h"
#include "scip/branch_inference.h"
#include "scip/branch_mostinf.h"
#include "scip/branch_leastinf.h"
#include "scip/branch_pscost.h"
#include "scip/branch_random.h"
#include "scip/branch_relpscost.h"
#include "scip/cons_varbound.h"
#include "type_branchgcg.h"

Go to the source code of this file.

Macros

#define BRANCHRULE_NAME   "empty"
 
#define BRANCHRULE_DESC   "branching rule for the original problem while real branching is applied in the master"
 
#define BRANCHRULE_PRIORITY   1000000
 
#define BRANCHRULE_MAXDEPTH   -1
 
#define BRANCHRULE_MAXBOUNDDIST   1.0
 
#define branchFreeEmpty   NULL
 
#define branchInitEmpty   NULL
 
#define branchExitEmpty   NULL
 
#define branchInitsolEmpty   NULL
 
#define branchExitsolEmpty   NULL
 

Functions

static SCIP_RETCODE includeSCIPBranchingRules (SCIP *scip)
 
static SCIP_RETCODE createOrigbranchConstraint (SCIP *scip, SCIP_NODE *childnode, SCIP_CONS *masterbranchchildcons)
 
static SCIP_RETCODE applyOriginalBranching (SCIP *scip, SCIP_NODE *childnode, SCIP_CONS *masterbranchchildcons)
 
static SCIP_RETCODE createBranchNodesInOrigprob (SCIP *scip, SCIP_RESULT *result)
 
static SCIP_DECL_BRANCHCOPY (branchCopyEmpty)
 
static SCIP_DECL_BRANCHEXECLP (branchExeclpEmpty)
 
static SCIP_DECL_BRANCHEXECEXT (branchExecextEmpty)
 
static SCIP_DECL_BRANCHEXECPS (branchExecpsEmpty)
 
SCIP_RETCODE SCIPincludeBranchruleEmpty (SCIP *scip)
 

Macro Definition Documentation

◆ BRANCHRULE_NAME

#define BRANCHRULE_NAME   "empty"

Definition at line 57 of file branch_empty.c.

◆ BRANCHRULE_DESC

#define BRANCHRULE_DESC   "branching rule for the original problem while real branching is applied in the master"

Definition at line 58 of file branch_empty.c.

◆ BRANCHRULE_PRIORITY

#define BRANCHRULE_PRIORITY   1000000

Definition at line 59 of file branch_empty.c.

◆ BRANCHRULE_MAXDEPTH

#define BRANCHRULE_MAXDEPTH   -1

Definition at line 60 of file branch_empty.c.

◆ BRANCHRULE_MAXBOUNDDIST

#define BRANCHRULE_MAXBOUNDDIST   1.0

Definition at line 61 of file branch_empty.c.

◆ branchFreeEmpty

#define branchFreeEmpty   NULL

destructor of branching rule to free user data (called when SCIP is exiting)

Definition at line 302 of file branch_empty.c.

◆ branchInitEmpty

#define branchInitEmpty   NULL

initialization method of branching rule (called after problem was transformed)

Definition at line 305 of file branch_empty.c.

◆ branchExitEmpty

#define branchExitEmpty   NULL

deinitialization method of branching rule (called before transformed problem is freed)

Definition at line 308 of file branch_empty.c.

◆ branchInitsolEmpty

#define branchInitsolEmpty   NULL

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

Definition at line 311 of file branch_empty.c.

◆ branchExitsolEmpty

#define branchExitsolEmpty   NULL

solving process deinitialization method of branching rule (called before branch and bound process data is freed)

Definition at line 314 of file branch_empty.c.

Function Documentation

◆ includeSCIPBranchingRules()

static SCIP_RETCODE includeSCIPBranchingRules ( SCIP *  scip)
static

copy default SCIP branching rules in order to solve restrictions of the original problem as a subSCIP without Dantzig-Wolfe decomposition

Definition at line 72 of file branch_empty.c.

Referenced by SCIP_DECL_BRANCHCOPY().

◆ createOrigbranchConstraint()

static SCIP_RETCODE createOrigbranchConstraint ( SCIP *  scip,
SCIP_NODE *  childnode,
SCIP_CONS *  masterbranchchildcons 
)
static

◆ applyOriginalBranching()

static SCIP_RETCODE applyOriginalBranching ( SCIP *  scip,
SCIP_NODE *  childnode,
SCIP_CONS *  masterbranchchildcons 
)
static

◆ createBranchNodesInOrigprob()

static SCIP_RETCODE createBranchNodesInOrigprob ( SCIP *  scip,
SCIP_RESULT *  result 
)
static

◆ SCIP_DECL_BRANCHCOPY()

static SCIP_DECL_BRANCHCOPY ( branchCopyEmpty  )
static

copy method for empty branching rule

Definition at line 288 of file branch_empty.c.

References includeSCIPBranchingRules().

◆ SCIP_DECL_BRANCHEXECLP()

static SCIP_DECL_BRANCHEXECLP ( branchExeclpEmpty  )
static

branching execution method for fractional LP solutions

Definition at line 318 of file branch_empty.c.

References BRANCHRULE_NAME, and createBranchNodesInOrigprob().

◆ SCIP_DECL_BRANCHEXECEXT()

static SCIP_DECL_BRANCHEXECEXT ( branchExecextEmpty  )
static

branching execution method relaxation solutions

Definition at line 332 of file branch_empty.c.

References BRANCHRULE_NAME, and createBranchNodesInOrigprob().

◆ SCIP_DECL_BRANCHEXECPS()

static SCIP_DECL_BRANCHEXECPS ( branchExecpsEmpty  )
static

branching execution method for not completely fixed pseudo solutions

Definition at line 346 of file branch_empty.c.

References BRANCHRULE_NAME, and createBranchNodesInOrigprob().

◆ SCIPincludeBranchruleEmpty()

SCIP_RETCODE SCIPincludeBranchruleEmpty ( SCIP *  scip)

creates the empty branching rule and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 364 of file branch_empty.c.

References branchExitEmpty, branchExitsolEmpty, branchFreeEmpty, branchInitEmpty, branchInitsolEmpty, BRANCHRULE_DESC, BRANCHRULE_MAXBOUNDDIST, BRANCHRULE_MAXDEPTH, BRANCHRULE_NAME, and BRANCHRULE_PRIORITY.

Referenced by SCIPincludeGcgPlugins().