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 "scip/branch_leastinf.h"
#include "scip/pub_branch.h"
#include "scip/pub_message.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_var.h"
#include <string.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

◆ BRANCHRULE_NAME

#define BRANCHRULE_NAME   "leastinf"

◆ BRANCHRULE_DESC

#define BRANCHRULE_DESC   "least infeasible branching"

Definition at line 35 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

◆ BRANCHRULE_PRIORITY

#define BRANCHRULE_PRIORITY   50

Definition at line 36 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

◆ BRANCHRULE_MAXDEPTH

#define BRANCHRULE_MAXDEPTH   -1

Definition at line 37 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

◆ BRANCHRULE_MAXBOUNDDIST

#define BRANCHRULE_MAXBOUNDDIST   1.0

Definition at line 38 of file branch_leastinf.c.

Referenced by SCIPincludeBranchruleLeastinf().

Function Documentation

◆ updateBestCandidate()

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 46 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().

◆ SCIP_DECL_BRANCHCOPY()

static SCIP_DECL_BRANCHCOPY ( branchCopyLeastinf  )
static

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

Definition at line 212 of file branch_leastinf.c.

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

◆ SCIP_DECL_BRANCHEXECLP()

static SCIP_DECL_BRANCHEXECLP ( branchExeclpLeastinf  )
static

◆ SCIP_DECL_BRANCHEXECEXT()