|
cloud branching rule
- Author
- Timo Berthold
-
Domenico Salvagnin
Branching rule based on muliple optimal solutions to the current LP relaxation. See
Cloud Branching
Time Berthold and Domenico Salvagnin
Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, CPAIOR 2013, LNCS 7874
Preliminary version available as ZIB-Report 13-01.
Definition in file branch_cloud.c.
#include <assert.h>
#include <string.h>
#include "scip/branch_cloud.h"
#include "scip/branch_fullstrong.h"
#include "scip/branch_allfullstrong.h"
Go to the source code of this file.
#define BRANCHRULE_NAME "cloud" |
#define BRANCHRULE_DESC "branching rule that considers several alternative LP optima" |
#define BRANCHRULE_PRIORITY 0 |
#define BRANCHRULE_MAXDEPTH -1 |
#define BRANCHRULE_MAXBOUNDDIST 1.0 |
#define DEFAULT_USECLOUD TRUE |
#define DEFAULT_USEUNION FALSE |
#define DEFAULT_MAXPOINTS -1 |
#define DEFAULT_MINSUCCESSRATE 0.0 |
#define DEFAULT_MINSUCCESSUNION 0.0 |
#define DEFAULT_MAXDEPTHUNION 65000 |
#define DEFAULT_ONLYF2 FALSE |
static SCIP_DECL_BRANCHFREE |
( |
branchFreeCloud |
| ) |
|
|
static |
destructor of branching rule to free user data (called when SCIP is exiting)
Definition at line 84 of file branch_cloud.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbranchruleGetData(), SCIPbranchruleSetData(), SCIPfreeClock(), SCIPfreeMemory, SCIPfreeMemoryArrayNull, SCIPgetClockTime(), and SCIPstatisticMessage.
static SCIP_DECL_BRANCHINIT |
( |
branchInitCloud |
| ) |
|
|
static |
static SCIP_DECL_BRANCHEXECLP |
( |
branchExeclpCloud |
| ) |
|
|
static |
branching execution method for fractional LP solutions
Definition at line 142 of file branch_cloud.c.
References BMSclearMemoryArray, BMScopyMemoryArray, BRANCHRULE_NAME, FALSE, MAX, MIN, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_VARTYPE_INTEGER, SCIPallColsInLP(), SCIPallocBufferArray, SCIPallocMemoryArray, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVar(), SCIPceil(), SCIPchgRowLhsDive(), SCIPchgRowRhsDive(), SCIPchgVarLbDive(), SCIPchgVarObjDive(), SCIPchgVarUbDive(), SCIPcreateSol(), SCIPdebugMessage, SCIPendDive(), SCIPfloor(), SCIPfrac(), SCIPfreeBufferArray, SCIPgetCutoffbound(), SCIPgetDepth(), SCIPgetLPBranchCands(), SCIPgetLPRows(), SCIPgetLPSolstat(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNLPBranchCands(), SCIPgetNLPRows(), SCIPgetRowActivity(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetVarRedcost(), SCIPgetVarsData(), SCIPinfinity(), SCIPisExactSolve(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPisFeasZero(), SCIPisIntegral(), SCIPisLPSolBasic(), SCIPisLT(), SCIPisZero(), SCIPlinkLPSol(), SCIPnodeGetLowerbound(), SCIProwGetDualsol(), SCIProwGetLhs(), SCIProwGetRhs(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsolveDiveLP(), SCIPstartClock(), SCIPstartDive(), SCIPstopClock(), SCIPtrySolFree(), SCIPupdateNodeLowerbound(), SCIPvarGetName(), SCIPvarGetSol(), SCIPvarGetType(), SCIPwarningMessage(), and TRUE.
creates the cloud branching rule and includes it in SCIP
- Parameters
-
Definition at line 649 of file branch_cloud.c.
References BRANCHRULE_DESC, BRANCHRULE_MAXBOUNDDIST, BRANCHRULE_MAXDEPTH, BRANCHRULE_NAME, BRANCHRULE_PRIORITY, DEFAULT_MAXDEPTHUNION, DEFAULT_MAXPOINTS, DEFAULT_MINSUCCESSRATE, DEFAULT_MINSUCCESSUNION, DEFAULT_ONLYF2, DEFAULT_USECLOUD, DEFAULT_USEUNION, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPcreateClock(), SCIPincludeBranchruleBasic(), SCIPsetBranchruleExecLp(), SCIPsetBranchruleFree(), and SCIPsetBranchruleInit().
Referenced by SCIPincludeDefaultPlugins().
|