Detailed Description
Constraint handler stores the local branching decision data.
This constraint handler is used to store the branching decision of the Ryan/Foster branching rule which is implemented in branch_ryanfoster.c.
Definition in file cons_samediff.c.
#include <assert.h>
#include <string.h>
#include "cons_samediff.h"
#include "probdata_binpacking.h"
#include "vardata_binpacking.h"
Go to the source code of this file.
Macros | |
Constraint handler properties | |
#define | CONSHDLR_NAME "samediff" |
#define | CONSHDLR_DESC "stores the local branching decisions" |
#define | CONSHDLR_ENFOPRIORITY 0 |
#define | CONSHDLR_CHECKPRIORITY 9999999 |
#define | CONSHDLR_PROPFREQ 1 |
#define | CONSHDLR_EAGERFREQ 1 |
#define | CONSHDLR_DELAYPROP FALSE |
#define | CONSHDLR_NEEDSCONS TRUE |
#define | CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Callback methods | |
#define | consEnfolpSamediff NULL |
#define | consEnfopsSamediff NULL |
#define | consCheckSamediff NULL |
#define | consLockSamediff NULL |
static | SCIP_DECL_CONSDELETE (consDeleteSamediff) |
static | SCIP_DECL_CONSTRANS (consTransSamediff) |
static | SCIP_DECL_CONSPROP (consPropSamediff) |
static | SCIP_DECL_CONSACTIVE (consActiveSamediff) |
static | SCIP_DECL_CONSDEACTIVE (consDeactiveSamediff) |
static | SCIP_DECL_CONSPRINT (consPrintSamediff) |
Macro Definition Documentation
◆ CONSHDLR_NAME
#define CONSHDLR_NAME "samediff" |
Definition at line 49 of file cons_samediff.c.
Referenced by SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSTRANS(), SCIPcreateConsSamediff(), and SCIPincludeConshdlrSamediff().
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "stores the local branching decisions" |
Definition at line 50 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_ENFOPRIORITY
#define CONSHDLR_ENFOPRIORITY 0 |
priority of the constraint handler for constraint enforcing
Definition at line 51 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_CHECKPRIORITY
#define CONSHDLR_CHECKPRIORITY 9999999 |
priority of the constraint handler for checking feasibility
Definition at line 52 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_PROPFREQ
#define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 53 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_EAGERFREQ
#define CONSHDLR_EAGERFREQ 1 |
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only
Definition at line 54 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_DELAYPROP
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 57 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_NEEDSCONS
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 58 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 60 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ consEnfolpSamediff
#define consEnfolpSamediff NULL |
constraint enforcing method of constraint handler for LP solutions
Definition at line 366 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ consEnfopsSamediff
#define consEnfopsSamediff NULL |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 369 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ consCheckSamediff
#define consCheckSamediff NULL |
feasibility check method of constraint handler for integral solutions
Definition at line 372 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
◆ consLockSamediff
#define consLockSamediff NULL |
variable rounding lock method of constraint handler
Definition at line 450 of file cons_samediff.c.
Referenced by SCIPincludeConshdlrSamediff().
Function Documentation
◆ consdataCreate()
|
static |
create constraint data
- Parameters
-
scip SCIP data structure consdata pointer to store the constraint data itemid1 item id one itemid2 item id two type stores whether the items have to be in the SAME or DIFFER packing node the node in the B&B-tree at which the cons is sticking
Definition at line 89 of file cons_samediff.c.
References consdataPrint(), DIFFER, FALSE, NULL, SAME, SCIP_CALL, SCIP_OKAY, and SCIPallocBlockMemory.
Referenced by SCIP_DECL_CONSTRANS(), and SCIPcreateConsSamediff().
◆ consdataPrint()
|
static |
display constraints
- Parameters
-
scip SCIP data structure consdata constraint data file file stream
Definition at line 119 of file cons_samediff.c.
References checkVariable(), NULL, SAME, SCIPgetProbData(), SCIPinfoMessage(), SCIPnodeGetNumber(), and SCIPprobdataGetIds().
Referenced by consdataCheck(), consdataCreate(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSPROP(), and SCIPcreateConsSamediff().
◆ checkVariable()
|
static |
fixes a variable to zero if the corresponding packings are not valid for this constraint/node (due to branching)
- Parameters
-
scip SCIP data structure consdata constraint data var variables to check nfixedvars pointer to store the number of fixed variables cutoff pointer to store if a cutoff was detected
Definition at line 141 of file cons_samediff.c.
References consdataFixVariables(), DIFFER, NULL, SAME, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPfixVar(), SCIPsortedvecFindInt(), SCIPvardataGetConsids(), SCIPvardataGetNConsids(), SCIPvarGetData(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by consdataFixVariables(), and consdataPrint().
◆ consdataFixVariables()
|
static |
fixes variables to zero if the corresponding packings are not valid for this sonstraint/node (due to branching)
- Parameters
-
scip SCIP data structure consdata constraint data vars generated variables nvars number of generated variables result pointer to store the result of the fixing
Definition at line 204 of file cons_samediff.c.
References checkVariable(), consdataCheck(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_REDUCEDDOM, and SCIPdebugMsg.
Referenced by checkVariable(), and SCIP_DECL_CONSPROP().
◆ consdataCheck()
|
static |
check if all variables are valid for the given consdata
- Parameters
-
scip SCIP data structure probdata problem data consdata constraint data beforeprop is this check performed before propagation?
Definition at line 240 of file cons_samediff.c.
References consdataFree(), consdataPrint(), DIFFER, FALSE, NULL, SAME, SCIP_Bool, SCIPdebug, SCIPprintVar(), SCIPprobdataGetNVars(), SCIPprobdataGetVars(), SCIPsortedvecFindInt(), SCIPvardataGetConsids(), SCIPvardataGetNConsids(), SCIPvardataPrint(), SCIPvarGetData(), SCIPvarGetUbLocal(), and TRUE.
Referenced by consdataFixVariables(), and SCIP_DECL_CONSPROP().
◆ consdataFree()
|
static |
frees samediff constraint data
- Parameters
-
scip SCIP data structure consdata pointer to the constraint data
Definition at line 299 of file cons_samediff.c.
References NULL, SCIP_DECL_CONSDELETE(), SCIP_OKAY, and SCIPfreeBlockMemory.
Referenced by consdataCheck(), and SCIP_DECL_CONSDELETE().
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 322 of file cons_samediff.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetName().
Referenced by consdataFree().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 337 of file cons_samediff.c.
References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), and SCIPgetStage().
Referenced by SCIP_DECL_CONSDELETE().
◆ SCIP_DECL_CONSPROP()
|
static |
domain propagation method of constraint handler
Definition at line 376 of file cons_samediff.c.
References consdataCheck(), consdataFixVariables(), consdataPrint(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMsg, SCIPgetProbData(), SCIPprobdataGetNVars(), SCIPprobdataGetVars(), and TRUE.
◆ SCIP_DECL_CONSACTIVE()
|
static |
constraint activation notification method of constraint handler
Definition at line 454 of file cons_samediff.c.
References consdataPrint(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSDEACTIVE(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMsg, SCIPgetProbData(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), SCIPprobdataGetNVars(), and SCIPrepropagateNode().
◆ SCIP_DECL_CONSDEACTIVE()
|
static |
constraint deactivation notification method of constraint handler
Definition at line 486 of file cons_samediff.c.
References consdataPrint(), CONSHDLR_NAME, NULL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMsg, SCIPgetNChildren(), SCIPgetProbData(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), and SCIPprobdataGetNVars().
Referenced by SCIP_DECL_CONSACTIVE().
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 514 of file cons_samediff.c.
References consdataPrint(), NULL, SCIP_OKAY, SCIPconsGetData(), and SCIPincludeConshdlrSamediff().
Referenced by SCIP_DECL_CONSDEACTIVE().
◆ SCIPincludeConshdlrSamediff()
SCIP_RETCODE SCIPincludeConshdlrSamediff | ( | SCIP * | scip | ) |
creates the handler for samediff constraints and includes it in SCIP
- Parameters
-
scip SCIP data structure
Definition at line 534 of file cons_samediff.c.
References consCheckSamediff, consEnfolpSamediff, consEnfopsSamediff, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, consLockSamediff, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsSamediff(), SCIPincludeConshdlrBasic(), SCIPsetConshdlrActive(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), and SCIPsetConshdlrTrans().
Referenced by runShell(), and SCIP_DECL_CONSPRINT().
◆ SCIPcreateConsSamediff()
SCIP_RETCODE SCIPcreateConsSamediff | ( | SCIP * | scip, |
SCIP_CONS ** | cons, | ||
const char * | name, | ||
int | itemid1, | ||
int | itemid2, | ||
CONSTYPE | type, | ||
SCIP_NODE * | node, | ||
SCIP_Bool | local | ||
) |
creates and captures a samediff constraint
- Parameters
-
scip SCIP data structure cons pointer to hold the created constraint name name of constraint itemid1 item id one itemid2 item id two type stores whether the items have to be in the SAME or DIFFER packing node the node in the B&B-tree at which the cons is sticking local is constraint only valid locally?
Definition at line 560 of file cons_samediff.c.
References consdataCreate(), consdataPrint(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPcreateCons(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetItemid1Samediff(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIPincludeConshdlrSamediff().
◆ SCIPgetItemid1Samediff()
returns item id one
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 596 of file cons_samediff.c.
References NULL, SCIPconsGetData(), and SCIPgetItemid2Samediff().
Referenced by addBranchingDecisionConss(), and SCIPcreateConsSamediff().
◆ SCIPgetItemid2Samediff()
returns item id two
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 612 of file cons_samediff.c.
References NULL, SCIPconsGetData(), and SCIPgetTypeSamediff().
Referenced by addBranchingDecisionConss(), and SCIPgetItemid1Samediff().
◆ SCIPgetTypeSamediff()
return constraint type SAME or DIFFER
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 628 of file cons_samediff.c.
References NULL, and SCIPconsGetData().
Referenced by addBranchingDecisionConss(), and SCIPgetItemid2Samediff().