Scippy

SCIP

Solving Constraint Integer Programs

branch_leastinf.c File Reference

Detailed Description

least infeasible LP branching rule

Author
Tobias Achterberg
Stefan Vigerske

Definition in file branch_leastinf.c.

#include <assert.h>
#include <string.h>
#include "scip/branch_leastinf.h"

Go to the source code of this file.

Macros

#define BRANCHRULE_NAME   "leastinf"
 
#define BRANCHRULE_DESC   "least infeasible branching"
 
#define BRANCHRULE_PRIORITY   50
 
#define BRANCHRULE_MAXDEPTH   -1
 
#define BRANCHRULE_MAXBOUNDDIST   1.0
 

Functions

static void updateBestCandidate (SCIP *scip, SCIP_VAR **bestvar, SCIP_Real *bestscore, SCIP_Real *bestobj, SCIP_Real *bestsol, SCIP_VAR *cand, SCIP_Real candscore, SCIP_Real candsol)
 
static SCIP_DECL_BRANCHCOPY (branchCopyLeastinf)
 
static SCIP_DECL_BRANCHEXECLP (branchExeclpLeastinf)
 
static SCIP_DECL_BRANCHEXECEXT (branchExecextLeastinf)
 
SCIP_RETCODE SCIPincludeBranchruleLeastinf (SCIP *scip)
 

Macro Definition Documentation

#define BRANCHRULE_NAME   "leastinf"
#define BRANCHRULE_DESC   "least infeasible branching"

Definition at line 30 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

#define BRANCHRULE_PRIORITY   50

Definition at line 31 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

#define BRANCHRULE_MAXDEPTH   -1

Definition at line 32 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

#define BRANCHRULE_MAXBOUNDDIST   1.0

Definition at line 33 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

Function Documentation

static void updateBestCandidate ( SCIP scip,
SCIP_VAR **  bestvar,
SCIP_Real bestscore,
SCIP_Real bestobj,
SCIP_Real bestsol,
SCIP_VAR cand,
SCIP_Real  candscore,
SCIP_Real  candsol 
)
static

compares the so far best branching candidate with a new candidate and updates best candidate, if new candidate is better

Parameters
scipSCIP data structure
bestvarbest branching candidate
bestscorescore of best branching candidate
bestobjabsolute objective value of best branching candidate
bestsolproposed branching point of best branching candidate
candbranching candidate to consider
candscorescoring of branching candidate
candsolproposed branching point of branching candidate

Definition at line 41 of file branch_leastinf.c.

References FALSE, NULL, REALABS, SCIP_Bool, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPisEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPvarGetBranchFactor(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetObj(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE.

Referenced by SCIP_DECL_BRANCHEXECEXT().

static SCIP_DECL_BRANCHCOPY ( branchCopyLeastinf  )
static

copy method for branchrule plugins (called when SCIP copies plugins)

Definition at line 207 of file branch_leastinf.c.

References BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleLeastinf().

static SCIP_DECL_BRANCHEXECLP ( branchExeclpLeastinf  )
static
SCIP_RETCODE SCIPincludeBranchruleLeastinf ( SCIP scip)

creates the least infeasible LP branching rule and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 357 of file branch_leastinf.c.

References BRANCHRULE_DESC, BRANCHRULE_MAXBOUNDDIST, BRANCHRULE_MAXDEPTH, BRANCHRULE_NAME, BRANCHRULE_PRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeBranchruleBasic(), SCIPsetBranchruleCopy(), SCIPsetBranchruleExecExt(), and SCIPsetBranchruleExecLp().

Referenced by SCIP_DECL_BRANCHCOPY(), and SCIPincludeDefaultPlugins().