Detailed Description
branching rule for the original problem while real branching is applied in the master
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 |
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 |
for a new branch-and-bound node on the master problem add an original branching constraint that holds the branching decision to the corresponding node in the original problem
Definition at line 94 of file branch_empty.c.
References GCGconsMasterbranchGetBranchdata(), GCGconsMasterbranchGetBranchrule(), GCGconsMasterbranchGetName(), GCGconsMasterbranchGetNOrigbranchConss(), GCGconsMasterbranchGetOrigbranchConss(), GCGconsMasterbranchReleaseOrigbranchConss(), GCGconsMasterbranchSetOrigcons(), GCGconsOrigbranchGetActiveCons(), GCGconsOrigbranchSetMastercons(), GCGcreateConsOrigbranch(), and GCGgetMasterprob().
Referenced by createBranchNodesInOrigprob().
◆ applyOriginalBranching()
|
static |
Definition at line 149 of file branch_empty.c.
References GCG_BOUNDTYPE_FIXED, GCG_BOUNDTYPE_LOWER, GCG_BOUNDTYPE_UPPER, GCGbranchOrigGetBoundtype(), GCGbranchOrigGetNewbound(), GCGbranchOrigGetOrigvar(), GCGconsMasterbranchAddCopiedVarBndchg(), GCGconsMasterbranchGetBranchdata(), GCGgetMasterprob(), and GCGvarGetBlock().
Referenced by createBranchNodesInOrigprob().
◆ createBranchNodesInOrigprob()
|
static |
creates branch-and-bound nodes in the original problem corresponding to those in the master problem
- Parameters
-
scip SCIP data structure result result pointer
Definition at line 191 of file branch_empty.c.
References applyOriginalBranching(), createOrigbranchConstraint(), GCGconsMasterbranchGetActiveCons(), GCGconsMasterbranchGetBranchrule(), GCGconsMasterbranchGetChildcons(), GCGconsMasterbranchGetNChildconss(), GCGconsMasterbranchGetNode(), GCGconsOrigbranchGetActiveCons(), GCGconsOrigbranchGetNode(), and GCGgetMasterprob().
Referenced by SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_BRANCHEXECPS().
◆ SCIP_DECL_BRANCHCOPY()
|
static |
copy method for empty branching rule
Definition at line 288 of file branch_empty.c.
References includeSCIPBranchingRules().
◆ SCIP_DECL_BRANCHEXECLP()
|
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 |
branching execution method relaxation solutions
Definition at line 332 of file branch_empty.c.
References BRANCHRULE_NAME, and createBranchNodesInOrigprob().
◆ SCIP_DECL_BRANCHEXECPS()
|
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
-
scip SCIP 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().