Detailed Description
random variable branching rule
Definition in file branch_random.c.
#include "scip/branch_random.h"
#include "scip/pub_branch.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_message.h"
#include "scip/scip_mem.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_randnumgen.h"
#include "scip/scip_tree.h"
#include <string.h>
Go to the source code of this file.
Macros | |
#define | BRANCHRULE_NAME "random" |
#define | BRANCHRULE_DESC "random variable branching" |
#define | BRANCHRULE_PRIORITY -100000 |
#define | BRANCHRULE_MAXDEPTH -1 |
#define | BRANCHRULE_MAXBOUNDDIST 1.0 |
#define | DEFAULT_INITSEED 41 |
Functions | |
static void | getRandomVariable (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata, SCIP_VAR **cands, SCIP_Real *candssol, int ncands, SCIP_VAR **bestcand, SCIP_Real *bestcandsol) |
static | SCIP_DECL_BRANCHCOPY (branchCopyRandom) |
static | SCIP_DECL_BRANCHFREE (branchFreeRandom) |
static | SCIP_DECL_BRANCHINIT (branchInitRandom) |
static | SCIP_DECL_BRANCHEXIT (branchExitRandom) |
static | SCIP_DECL_BRANCHEXECLP (branchExeclpRandom) |
static | SCIP_DECL_BRANCHEXECEXT (branchExecextRandom) |
static | SCIP_DECL_BRANCHEXECPS (branchExecpsRandom) |
SCIP_RETCODE | SCIPincludeBranchruleRandom (SCIP *scip) |
Macro Definition Documentation
◆ BRANCHRULE_NAME
#define BRANCHRULE_NAME "random" |
Definition at line 50 of file branch_random.c.
Referenced by SCIP_DECL_BRANCHCOPY(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), and SCIPincludeBranchruleRandom().
◆ BRANCHRULE_DESC
#define BRANCHRULE_DESC "random variable branching" |
Definition at line 51 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_PRIORITY
#define BRANCHRULE_PRIORITY -100000 |
Definition at line 52 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_MAXDEPTH
#define BRANCHRULE_MAXDEPTH -1 |
Definition at line 53 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_MAXBOUNDDIST
#define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 54 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ DEFAULT_INITSEED
#define DEFAULT_INITSEED 41 |
initial random seed
Definition at line 56 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
Function Documentation
◆ getRandomVariable()
|
static |
selects a random active variable from a given list of variables
- Parameters
-
scip SCIP data structure branchruledata branchrule data cands array of branching candidates candssol relaxation solution values of branching candidates, or NULL ncands number of branching candidates bestcand buffer to store pointer to best candidate bestcandsol buffer to store solution value of best candidate
Definition at line 71 of file branch_random.c.
References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPdebugMsg, SCIPisEQ(), SCIPrandomGetInt(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and SCIPvarIsActive().
Referenced by SCIP_DECL_BRANCHEXECEXT().
◆ SCIP_DECL_BRANCHCOPY()
|
static |
copy method for branchrule plugins (called when SCIP copies plugins)
Definition at line 140 of file branch_random.c.
References BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleRandom().
◆ SCIP_DECL_BRANCHFREE()
|
static |
destructor of branching rule to free user data (called when SCIP is exiting) ! [SnippetBranchFreeRandom]
Definition at line 155 of file branch_random.c.
References NULL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), and SCIPfreeBlockMemory.
◆ SCIP_DECL_BRANCHINIT()
|
static |
! [SnippetBranchFreeRandom] initialization method of branching rule (called after problem was transformed)
Definition at line 174 of file branch_random.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPcreateRandom(), and TRUE.
◆ SCIP_DECL_BRANCHEXIT()
|
static |
deinitialization method of branching rule
Definition at line 191 of file branch_random.c.
References NULL, SCIP_OKAY, SCIPbranchruleGetData(), and SCIPfreeRandom().
◆ SCIP_DECL_BRANCHEXECLP()
|
static |
branching execution method for fractional LP solutions
Definition at line 207 of file branch_random.c.
References BRANCHRULE_NAME, NULL, SCIP_BRANCHED, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVar(), SCIPdebugMsg, SCIPgetDepth(), SCIPgetLPBranchCands(), SCIPrandomGetInt(), and SCIPvarGetName().
◆ SCIP_DECL_BRANCHEXECEXT()
|
static |
branching execution method for external candidates
Definition at line 245 of file branch_random.c.
References BRANCHRULE_NAME, getRandomVariable(), NULL, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVarVal(), SCIPdebugMsg, SCIPerrorMessage, SCIPgetBranchingPoint(), SCIPgetExternBranchCands(), SCIPisEQ(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().
◆ SCIP_DECL_BRANCHEXECPS()
|
static |
branching execution method for not completely fixed pseudo solutions
Definition at line 312 of file branch_random.c.
References BRANCHRULE_NAME, NULL, SCIP_BRANCHED, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVar(), SCIPdebugMsg, SCIPgetPseudoBranchCands(), SCIPrandomGetInt(), and SCIPvarGetName().