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.
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "stores the local branching decisions" |
Definition at line 50 of file cons_samediff.c.
◆ CONSHDLR_ENFOPRIORITY
#define CONSHDLR_ENFOPRIORITY 0 |
priority of the constraint handler for constraint enforcing
Definition at line 51 of file cons_samediff.c.
◆ CONSHDLR_CHECKPRIORITY
#define CONSHDLR_CHECKPRIORITY -9999999 |
priority of the constraint handler for checking feasibility
Definition at line 52 of file cons_samediff.c.
◆ CONSHDLR_PROPFREQ
#define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 53 of file cons_samediff.c.
◆ 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 55 of file cons_samediff.c.
◆ CONSHDLR_DELAYPROP
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 56 of file cons_samediff.c.
◆ CONSHDLR_NEEDSCONS
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 57 of file cons_samediff.c.
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 59 of file cons_samediff.c.
◆ consEnfolpSamediff
#define consEnfolpSamediff NULL |
constraint enforcing method of constraint handler for LP solutions
Definition at line 365 of file cons_samediff.c.
◆ consEnfopsSamediff
#define consEnfopsSamediff NULL |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 368 of file cons_samediff.c.
◆ consCheckSamediff
#define consCheckSamediff NULL |
feasibility check method of constraint handler for integral solutions
Definition at line 371 of file cons_samediff.c.
◆ consLockSamediff
#define consLockSamediff NULL |
variable rounding lock method of constraint handler
Definition at line 449 of file cons_samediff.c.
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 88 of file cons_samediff.c.
References 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 118 of file cons_samediff.c.
References NULL, SAME, SCIP_LONGINT_FORMAT, SCIPgetProbData(), SCIPinfoMessage(), SCIPnodeGetNumber(), and SCIPprobdataGetIds().
Referenced by consdataCheck(), 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 140 of file cons_samediff.c.
References DIFFER, NULL, SAME, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPfixVar(), SCIPsortedvecFindInt(), SCIPvardataGetConsids(), SCIPvardataGetNConsids(), SCIPvarGetData(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by consdataFixVariables().
◆ 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 203 of file cons_samediff.c.
References checkVariable(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_REDUCEDDOM, and SCIPdebugMsg.
Referenced by 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 239 of file cons_samediff.c.
References consdataPrint(), DIFFER, FALSE, NULL, SAME, SCIP_Bool, SCIPdebug, SCIPprintVar(), SCIPprobdataGetNVars(), SCIPprobdataGetVars(), SCIPsortedvecFindInt(), SCIPvardataGetConsids(), SCIPvardataGetNConsids(), SCIPvardataPrint(), SCIPvarGetData(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIP_DECL_CONSPROP().
◆ consdataFree()
|
static |
frees samediff constraint data
- Parameters
-
scip SCIP data structure consdata pointer to the constraint data
Definition at line 298 of file cons_samediff.c.
References NULL, SCIP_OKAY, and SCIPfreeBlockMemory.
Referenced by SCIP_DECL_CONSDELETE().
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 321 of file cons_samediff.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 336 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().
◆ SCIP_DECL_CONSPROP()
|
static |
domain propagation method of constraint handler
Definition at line 375 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 453 of file cons_samediff.c.
References consdataPrint(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_LONGINT_FORMAT, 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 485 of file cons_samediff.c.
References consdataPrint(), CONSHDLR_NAME, NULL, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMsg, SCIPgetNChildren(), SCIPgetProbData(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), and SCIPprobdataGetNVars().
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 513 of file cons_samediff.c.
References consdataPrint(), NULL, SCIP_OKAY, and SCIPconsGetData().
◆ 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 533 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, SCIPincludeConshdlrBasic(), SCIPsetConshdlrActive(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), and SCIPsetConshdlrTrans().
Referenced by runShell().
◆ 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 559 of file cons_samediff.c.
References consdataCreate(), consdataPrint(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPcreateCons(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPfindConshdlr(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ SCIPgetItemid1Samediff()
returns item id one
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 595 of file cons_samediff.c.
References NULL, and SCIPconsGetData().
Referenced by addBranchingDecisionConss().
◆ SCIPgetItemid2Samediff()
returns item id two
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 611 of file cons_samediff.c.
References NULL, and SCIPconsGetData().
Referenced by addBranchingDecisionConss().
◆ SCIPgetTypeSamediff()
return constraint type SAME or DIFFER
- Parameters
-
scip SCIP data structure cons samediff constraint
Definition at line 627 of file cons_samediff.c.
References NULL, and SCIPconsGetData().
Referenced by addBranchingDecisionConss().