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 41 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 42 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_PRIORITY
#define BRANCHRULE_PRIORITY -100000 |
Definition at line 43 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_MAXDEPTH
#define BRANCHRULE_MAXDEPTH -1 |
Definition at line 44 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ BRANCHRULE_MAXBOUNDDIST
#define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 45 of file branch_random.c.
Referenced by SCIPincludeBranchruleRandom().
◆ DEFAULT_INITSEED
#define DEFAULT_INITSEED 41 |
initial random seed
Definition at line 47 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 62 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 131 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 146 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 165 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 182 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 198 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 236 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 303 of file branch_random.c.
References BRANCHRULE_NAME, NULL, SCIP_BRANCHED, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVar(), SCIPdebugMsg, SCIPgetPseudoBranchCands(), SCIPrandomGetInt(), and SCIPvarGetName().