Detailed Description
constraint handler for bound disjunction constraints \((x_1 \{\leq,\geq\} b_1) \vee \ldots \vee (x_n \{\leq,\geq\} b_n)\)
Definition in file cons_bounddisjunction.c.
#include "blockmemshell/memory.h"
#include "scip/cons_bounddisjunction.h"
#include "scip/cons_linear.h"
#include "scip/cons_logicor.h"
#include "scip/cons_quadratic.h"
#include "scip/cons_setppc.h"
#include "scip/pub_conflict.h"
#include "scip/pub_cons.h"
#include "scip/pub_event.h"
#include "scip/pub_lp.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_conflict.h"
#include "scip/scip_cons.h"
#include "scip/scip_copy.h"
#include "scip/scip_event.h"
#include "scip/scip_general.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_probing.h"
#include "scip/scip_sol.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include <ctype.h>
#include <string.h>
Go to the source code of this file.
Macros | |
Constraint handler properties | |
#define | CONSHDLR_NAME "bounddisjunction" |
#define | CONSHDLR_DESC "bound disjunction constraints" |
#define | CONSHDLR_ENFOPRIORITY -3000000 |
#define | CONSHDLR_CHECKPRIORITY -3000000 |
#define | CONSHDLR_PROPFREQ 1 |
#define | CONSHDLR_EAGERFREQ 100 |
#define | CONSHDLR_MAXPREROUNDS -1 |
#define | CONSHDLR_DELAYPROP FALSE |
#define | CONSHDLR_NEEDSCONS TRUE |
#define | CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
#define | CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
#define | QUADCONSUPGD_PRIORITY 500000 |
Event handler properties | |
#define | EVENTHDLR_NAME "bounddisjunction" |
#define | EVENTHDLR_DESC "event handler for bound disjunction constraints" |
Conflict handler properties | |
#define | CONFLICTHDLR_NAME "bounddisjunction" |
#define | CONFLICTHDLR_DESC "conflict handler creating bound disjunction constraints" |
#define | CONFLICTHDLR_PRIORITY -3000000 |
Default parameter values | |
#define | DEFAULT_CONTINUOUSFRAC 0.4 |
Age increase defines | |
#define | AGEINCREASE(n) (1.0 + 0.2*n) |
Comparison for two values | |
#define | isFeasLT(scip, var, val1, val2) SCIPisFeasLT(scip, val1, val2) |
#define | isFeasLE(scip, var, val1, val2) SCIPisFeasLE(scip, val1, val2) |
#define | isFeasGT(scip, var, val1, val2) SCIPisFeasGT(scip, val1, val2) |
#define | isFeasGE(scip, var, val1, val2) SCIPisFeasGE(scip, val1, val2) |
Functions | |
Local methods | |
static SCIP_RETCODE | lockRounding (SCIP *scip, SCIP_CONS *cons, SCIP_CONSDATA *consdata, int pos) |
static SCIP_RETCODE | unlockRounding (SCIP *scip, SCIP_CONS *cons, SCIP_CONSDATA *consdata, int pos) |
static SCIP_RETCODE | catchEvents (SCIP *scip, SCIP_CONS *cons, SCIP_CONSDATA *consdata, SCIP_EVENTHDLR *eventhdlr, int pos, int *filterpos) |
static SCIP_RETCODE | dropEvents (SCIP *scip, SCIP_CONS *cons, SCIP_CONSDATA *consdata, SCIP_EVENTHDLR *eventhdlr, int pos, int filterpos) |
static SCIP_RETCODE | conshdlrdataCreate (SCIP *scip, SCIP_CONSHDLRDATA **conshdlrdata, SCIP_EVENTHDLR *eventhdlr) |
static void | conshdlrdataFree (SCIP *scip, SCIP_CONSHDLRDATA **conshdlrdata) |
static SCIP_RETCODE | consdataCreate (SCIP *scip, SCIP_CONSDATA **consdata, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds) |
static void | consdataFree (SCIP *scip, SCIP_CONSDATA **consdata) |
static void | consdataPrint (SCIP *scip, SCIP_CONSDATA *consdata, FILE *file, SCIP_Bool endline) |
static SCIP_RETCODE | switchWatchedvars (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, int watchedvar1, int watchedvar2) |
static SCIP_Bool | isOverlapping (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype1, SCIP_Real bound1, SCIP_BOUNDTYPE boundtype2, SCIP_Real bound2) |
static SCIP_RETCODE | delCoefPos (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, int pos) |
static SCIP_RETCODE | addCoef (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_Real bound, SCIP_Bool *redundant) |
static SCIP_RETCODE | applyGlobalBounds (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, SCIP_Bool *redundant) |
static SCIP_Bool | isLiteralSatisfied (SCIP *scip, SCIP_CONSDATA *consdata, int pos) |
static SCIP_Bool | isLiteralViolated (SCIP *scip, SCIP_CONSDATA *consdata, int pos) |
static SCIP_RETCODE | removeFixedVariables (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, SCIP_Bool *redundant) |
static SCIP_RETCODE | upgradeCons (SCIP *scip, SCIP_CONS *cons, int *ndelconss, int *naddconss) |
static SCIP_RETCODE | analyzeConflict (SCIP *scip, SCIP_CONS *cons) |
static SCIP_RETCODE | disableCons (SCIP *scip, SCIP_CONS *cons) |
static SCIP_RETCODE | processWatchedVars (SCIP *scip, SCIP_CONS *cons, SCIP_EVENTHDLR *eventhdlr, SCIP_Bool *cutoff, SCIP_Bool *infeasible, SCIP_Bool *reduceddom, SCIP_Bool *mustcheck) |
static SCIP_Bool | isConsViolated (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol) |
static SCIP_RETCODE | registerBranchingCandidates (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Bool *neednarybranch) |
static SCIP_RETCODE | enforceCurrentSol (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_EVENTHDLR *eventhdlr, SCIP_Bool *cutoff, SCIP_Bool *infeasible, SCIP_Bool *reduceddom, SCIP_Bool *registeredbrcand) |
static SCIP_RETCODE | createNAryBranch (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol) |
static SCIP_RETCODE | enforceConstraint (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS **conss, int nconss, SCIP_SOL *sol, SCIP_RESULT *result) |
Upgrading methods for special quadratic constraint | |
static | SCIP_DECL_QUADCONSUPGD (upgradeConsQuadratic) |
Callback methods of constraint handler | |
static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyBounddisjunction) |
static | SCIP_DECL_CONSFREE (consFreeBounddisjunction) |
static | SCIP_DECL_CONSEXITPRE (consExitpreBounddisjunction) |
static | SCIP_DECL_CONSDELETE (consDeleteBounddisjunction) |
static | SCIP_DECL_CONSTRANS (consTransBounddisjunction) |
static | SCIP_DECL_CONSENFOLP (consEnfolpBounddisjunction) |
static | SCIP_DECL_CONSENFORELAX (consEnforelaxBounddisjunction) |
static | SCIP_DECL_CONSENFOPS (consEnfopsBounddisjunction) |
static | SCIP_DECL_CONSCHECK (consCheckBounddisjunction) |
static | SCIP_DECL_CONSPROP (consPropBounddisjunction) |
static | SCIP_DECL_CONSPRESOL (consPresolBounddisjunction) |
static | SCIP_DECL_CONSRESPROP (consRespropBounddisjunction) |
static | SCIP_DECL_CONSLOCK (consLockBounddisjunction) |
static | SCIP_DECL_CONSACTIVE (consActiveBounddisjunction) |
static | SCIP_DECL_CONSDEACTIVE (consDeactiveBounddisjunction) |
static | SCIP_DECL_CONSPRINT (consPrintBounddisjunction) |
static | SCIP_DECL_CONSCOPY (consCopyBounddisjunction) |
static | SCIP_DECL_CONSPARSE (consParseBounddisjunction) |
static | SCIP_DECL_CONSGETVARS (consGetVarsBounddisjunction) |
static | SCIP_DECL_CONSGETNVARS (consGetNVarsBounddisjunction) |
Callback methods of event handler | |
static | SCIP_DECL_EVENTEXEC (eventExecBounddisjunction) |
Callback methods of conflict handler | |
static | SCIP_DECL_CONFLICTEXEC (conflictExecBounddisjunction) |
static | SCIP_DECL_CONFLICTFREE (conflictFreeBounddisjunction) |
Interface methods | |
SCIP_RETCODE | SCIPincludeConshdlrBounddisjunction (SCIP *scip) |
SCIP_RETCODE | SCIPcreateConsBounddisjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) |
SCIP_RETCODE | SCIPcreateConsBasicBounddisjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds) |
int | SCIPgetNVarsBounddisjunction (SCIP *scip, SCIP_CONS *cons) |
SCIP_VAR ** | SCIPgetVarsBounddisjunction (SCIP *scip, SCIP_CONS *cons) |
SCIP_BOUNDTYPE * | SCIPgetBoundtypesBounddisjunction (SCIP *scip, SCIP_CONS *cons) |
SCIP_Real * | SCIPgetBoundsBounddisjunction (SCIP *scip, SCIP_CONS *cons) |
Macro Definition Documentation
◆ CONSHDLR_NAME
#define CONSHDLR_NAME "bounddisjunction" |
Definition at line 62 of file cons_bounddisjunction.c.
Referenced by createNAryBranch(), enforceConstraint(), enforceCurrentSol(), processWatchedVars(), registerBranchingCandidates(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSFREE(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIPcreateConsBounddisjunction(), SCIPgetBoundsBounddisjunction(), SCIPgetBoundtypesBounddisjunction(), SCIPgetNVarsBounddisjunction(), SCIPgetVarsBounddisjunction(), and SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "bound disjunction constraints" |
Definition at line 63 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_ENFOPRIORITY
#define CONSHDLR_ENFOPRIORITY -3000000 |
priority of the constraint handler for constraint enforcing
Definition at line 64 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_CHECKPRIORITY
#define CONSHDLR_CHECKPRIORITY -3000000 |
priority of the constraint handler for checking feasibility
Definition at line 65 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PROPFREQ
#define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 66 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_EAGERFREQ
#define CONSHDLR_EAGERFREQ 100 |
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 67 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_MAXPREROUNDS
#define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 70 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_DELAYPROP
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 71 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_NEEDSCONS
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 72 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PRESOLTIMING
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Definition at line 74 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 75 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ QUADCONSUPGD_PRIORITY
#define QUADCONSUPGD_PRIORITY 500000 |
priority of the constraint handler for upgrading of quadratic constraints
Definition at line 77 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "bounddisjunction" |
Definition at line 86 of file cons_bounddisjunction.c.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPincludeConshdlrBounddisjunction().
◆ EVENTHDLR_DESC
#define EVENTHDLR_DESC "event handler for bound disjunction constraints" |
Definition at line 87 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_NAME
#define CONFLICTHDLR_NAME "bounddisjunction" |
Definition at line 96 of file cons_bounddisjunction.c.
Referenced by SCIP_DECL_CONFLICTEXEC(), and SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_DESC
#define CONFLICTHDLR_DESC "conflict handler creating bound disjunction constraints" |
Definition at line 97 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_PRIORITY
#define CONFLICTHDLR_PRIORITY -3000000 |
Definition at line 98 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ DEFAULT_CONTINUOUSFRAC
#define DEFAULT_CONTINUOUSFRAC 0.4 |
maximal percantage of continuous variables within a conflict
Definition at line 107 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ AGEINCREASE
#define AGEINCREASE | ( | n | ) | (1.0 + 0.2*n) |
Definition at line 118 of file cons_bounddisjunction.c.
Referenced by processWatchedVars().
◆ isFeasLT
#define isFeasLT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLT(scip, val1, val2) |
Definition at line 138 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
◆ isFeasLE
#define isFeasLE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLE(scip, val1, val2) |
Definition at line 139 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreate(), createNAryBranch(), isConsViolated(), isLiteralSatisfied(), and removeFixedVariables().
◆ isFeasGT
#define isFeasGT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGT(scip, val1, val2) |
Definition at line 140 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
◆ isFeasGE
#define isFeasGE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGE(scip, val1, val2) |
Definition at line 141 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreate(), createNAryBranch(), isConsViolated(), isLiteralSatisfied(), and removeFixedVariables().
Function Documentation
◆ lockRounding()
|
static |
adds rounding locks for the given variable in the given bound disjunction constraint
- Parameters
-
scip SCIP data structure cons bound disjunction constraint consdata bound disjunction constraint data pos position of the variable in the constraint
Definition at line 173 of file cons_bounddisjunction.c.
References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPlockVarCons(), TRUE, and unlockRounding().
Referenced by addCoef().
◆ unlockRounding()
|
static |
removes rounding locks for the given variable in the given bound disjunction constraint
- Parameters
-
scip SCIP data structure cons bound disjunction constraint consdata bound disjunction constraint data pos position of the variable in the constraint
Definition at line 197 of file cons_bounddisjunction.c.
References catchEvents(), FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPunlockVarCons(), and TRUE.
Referenced by delCoefPos(), and lockRounding().
◆ catchEvents()
|
static |
catches the events on a single variable of the bound disjunction constraint
- Parameters
-
scip SCIP data structure cons bound disjunction constraint consdata bound disjunction constraint data eventhdlr event handler to call for the event processing pos position of the variable in the constraint filterpos pointer to store position of event filter entry, or NULL
Definition at line 221 of file cons_bounddisjunction.c.
References dropEvents(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPcatchVarEvent().
Referenced by SCIP_DECL_CONSACTIVE(), switchWatchedvars(), and unlockRounding().
◆ dropEvents()
|
static |
drops the events on a single variable of the bound disjunction constraint
- Parameters
-
scip SCIP data structure cons bound disjunction constraint consdata bound disjunction constraint data eventhdlr event handler to call for the event processing pos position of the variable in the constraint filterpos position of event filter entry returned by SCIPcatchVarEvent(), or -1
Definition at line 249 of file cons_bounddisjunction.c.
References conshdlrdataCreate(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPdropVarEvent().
Referenced by catchEvents(), SCIP_DECL_CONSDEACTIVE(), and switchWatchedvars().
◆ conshdlrdataCreate()
|
static |
creates constraint handler data for bound disjunction constraint handler
- Parameters
-
scip SCIP data structure conshdlrdata pointer to store the constraint handler data eventhdlr event handler
Definition at line 277 of file cons_bounddisjunction.c.
References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocBlockMemory.
Referenced by dropEvents(), and SCIPincludeConshdlrBounddisjunction().
◆ conshdlrdataFree()
|
static |
frees constraint handler data for bound disjunction constraint handler
- Parameters
-
scip SCIP data structure conshdlrdata pointer to the constraint handler data
Definition at line 297 of file cons_bounddisjunction.c.
References consdataCreate(), NULL, and SCIPfreeBlockMemory.
Referenced by conshdlrdataCreate(), and SCIP_DECL_CONSFREE().
◆ consdataCreate()
|
static |
creates a bound disjunction constraint data object
- Parameters
-
scip SCIP data structure consdata pointer to store the bound disjunction constraint data nvars number of variables in the constraint vars variables of the literals in the constraint boundtypes types of bounds of the literals (lower or upper bounds) bounds bounds of the literals
Definition at line 310 of file cons_bounddisjunction.c.
References bound, consdataFree(), FALSE, isFeasGE, isFeasLE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBlockMemory, SCIPallocBufferArray, SCIPduplicateBlockMemoryArray, SCIPfreeBufferArray, SCIPgetTransformedVars(), SCIPisConsCompressionEnabled(), SCIPisEQ(), SCIPisTransformed(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by conshdlrdataFree(), SCIP_DECL_CONSTRANS(), and SCIPcreateConsBounddisjunction().
◆ consdataFree()
|
static |
frees a bound disjunction constraint data
- Parameters
-
scip SCIP data structure consdata pointer to the bound disjunction constraint
Definition at line 440 of file cons_bounddisjunction.c.
References consdataPrint(), NULL, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
Referenced by consdataCreate(), and SCIP_DECL_CONSDELETE().
◆ consdataPrint()
|
static |
prints bound disjunction constraint to file stream
- Parameters
-
scip SCIP data structure consdata bound disjunction constraint data file output file (or NULL for standard output) endline should an endline be set?
Definition at line 456 of file cons_bounddisjunction.c.
References NULL, SCIP_BOUNDTYPE_LOWER, SCIPinfoMessage(), SCIPvarGetName(), and switchWatchedvars().
Referenced by applyGlobalBounds(), consdataFree(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), and SCIP_DECL_CONSPRINT().
◆ switchWatchedvars()
|
static |
stores the given variable numbers as watched variables, and updates the event processing
- Parameters
-
scip SCIP data structure cons bound disjunction constraint eventhdlr event handler to call for the event processing watchedvar1 new first watched variable watchedvar2 new second watched variable
Definition at line 485 of file cons_bounddisjunction.c.
References catchEvents(), dropEvents(), isOverlapping(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), and SCIPconsIsActive().
Referenced by addCoef(), consdataPrint(), delCoefPos(), and processWatchedVars().
◆ isOverlapping()
|
static |
check whether two intervals overlap
Definition at line 554 of file cons_bounddisjunction.c.
References delCoefPos(), FALSE, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPisLE(), SCIPvarIsIntegral(), and TRUE.
Referenced by addCoef(), SCIP_DECL_CONFLICTEXEC(), SCIPcreateConsBounddisjunction(), and switchWatchedvars().
◆ delCoefPos()
|
static |
deletes coefficient at given position from bound disjunction constraint data
- Parameters
-
scip SCIP data structure cons bound disjunction constraint eventhdlr event handler to call for the event processing pos position of coefficient to delete
Definition at line 585 of file cons_bounddisjunction.c.
References addCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPenableConsPropagation(), SCIPvarIsTransformed(), switchWatchedvars(), and unlockRounding().
Referenced by applyGlobalBounds(), isOverlapping(), and removeFixedVariables().
◆ addCoef()
|
static |
adds literal to bound disjunction constraint data
- Parameters
-
scip SCIP data structure cons bound disjunction constraint eventhdlr event handler to call for the event processing var variable in literal boundtype boundtype of literal bound bound of literal redundant flag to indicate whether constraint has been bound redundant
Definition at line 638 of file cons_bounddisjunction.c.
References applyGlobalBounds(), bound, isOverlapping(), lockRounding(), NULL, REALABS, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsTransformed(), SCIPdebugMsg, SCIPenableConsPropagation(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPreallocBlockMemoryArray, SCIPvarGetName(), SCIPvarIsTransformed(), switchWatchedvars(), and TRUE.
Referenced by delCoefPos(), and removeFixedVariables().
◆ applyGlobalBounds()
|
static |
deletes all variables with global bounds violating the literal, checks for global bounds satisfying the literal
- Parameters
-
scip SCIP data structure cons bound disjunction constraint eventhdlr event handler to call for the event processing redundant returns whether a variable fixed to one exists in the constraint
Definition at line 743 of file cons_bounddisjunction.c.
References consdataPrint(), delCoefPos(), FALSE, isFeasGE, isFeasGT, isFeasLE, isFeasLT, isLiteralSatisfied(), NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcomputeVarLbGlobal(), SCIPcomputeVarUbGlobal(), SCIPconsGetData(), SCIPdebug, SCIPdebugMsg, and TRUE.
Referenced by addCoef(), SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
◆ isLiteralSatisfied()
|
static |
returns whether literal at the given position is satisfied in the local bounds
- Parameters
-
scip SCIP data structure consdata bound disjunction constraint data pos position of the literal
Definition at line 818 of file cons_bounddisjunction.c.
References isFeasGE, isFeasLE, isLiteralViolated(), NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_Real, SCIPcomputeVarLbLocal(), and SCIPcomputeVarUbLocal().
Referenced by applyGlobalBounds(), createNAryBranch(), processWatchedVars(), registerBranchingCandidates(), removeFixedVariables(), and SCIP_DECL_CONSPRESOL().
◆ isLiteralViolated()
|
static |
returns whether literal at the given position is violated in the local bounds
- Parameters
-
scip SCIP data structure consdata bound disjunction constraint data pos position of the literal
Definition at line 843 of file cons_bounddisjunction.c.
References isFeasGT, isFeasLT, NULL, removeFixedVariables(), SCIP_BOUNDTYPE_LOWER, SCIP_Real, SCIPcomputeVarLbLocal(), and SCIPcomputeVarUbLocal().
Referenced by isLiteralSatisfied(), processWatchedVars(), removeFixedVariables(), and SCIP_DECL_CONSPRESOL().
◆ removeFixedVariables()
|
static |
replace variables by their representative active (or multi-aggregated) variables
- Parameters
-
scip SCIP data structure cons bound disjunction constraint eventhdlr event handler redundant flag to indicate whether constraint has been bound redundant
Definition at line 868 of file cons_bounddisjunction.c.
References addCoef(), bound, delCoefPos(), isFeasGE, isFeasLE, isLiteralSatisfied(), isLiteralViolated(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMsg, SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), TRUE, and upgradeCons().
Referenced by isLiteralViolated(), SCIP_DECL_CONSEXITPRE(), and SCIP_DECL_CONSPRESOL().
◆ upgradeCons()
|
static |
try to upgrade the bounddisjunction constraint
if only binary variables are left, we can upgrade a bounddisjunction to a logicor constraint(, if only two variables are left, this logicor constraint can be formulated as set-packing constraint as well)
e.g.: bounddisjunction( x1 >= 1, x2 <= 0; x3 >= 1; x4 <= 0 ) => x1 + ~x2 + x3 + ~x4 >= 1
- Parameters
-
scip SCIP data structure cons bound disjunction constraint that detected the conflict ndelconss pointer to store the number of delete constraint naddconss pointer to store the number of added constraint
Definition at line 960 of file cons_bounddisjunction.c.
References analyzeConflict(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLogicor(), SCIPcreateConsSetpack(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetNegatedVar(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPreleaseCons(), SCIPvarIsBinary(), and TRUE.
Referenced by removeFixedVariables(), and SCIP_DECL_CONSPRESOL().
◆ analyzeConflict()
|
static |
analyzes conflicting assignment on given constraint, and adds conflict constraint to problem
- Parameters
-
scip SCIP data structure cons bound disjunction constraint that detected the conflict
Definition at line 1064 of file cons_bounddisjunction.c.
References disableCons(), FALSE, NULL, SCIP_CALL, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBd(), SCIPanalyzeConflictCons(), SCIPboundtypeOpposite(), SCIPconsGetData(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), and SCIPisConflictAnalysisApplicable().
Referenced by processWatchedVars(), and upgradeCons().
◆ disableCons()
|
static |
disables or deletes the given constraint, depending on the current depth
- Parameters
-
scip SCIP data structure cons bound disjunction constraint to be disabled
Definition at line 1096 of file cons_bounddisjunction.c.
References processWatchedVars(), SCIP_CALL, SCIP_OKAY, SCIPconsGetValidDepth(), SCIPdelCons(), SCIPdisableCons(), and SCIPgetDepth().
Referenced by analyzeConflict(), and processWatchedVars().
◆ processWatchedVars()
|
static |
checks constraint for violation only looking at the watched variables, applies bound changes if possible
- Parameters
-
scip SCIP data structure cons bound disjunction constraint to be processed eventhdlr event handler to call for the event processing cutoff pointer to store TRUE, if the node can be cut off infeasible pointer to store TRUE, if the constraint is infeasible in current bounds reduceddom pointer to store TRUE, if a domain reduction was found mustcheck pointer to store whether this constraint must be checked for feasibility
Definition at line 1117 of file cons_bounddisjunction.c.
References AGEINCREASE, analyzeConflict(), CONSHDLR_NAME, disableCons(), FALSE, isConsViolated(), isLiteralSatisfied(), isLiteralViolated(), NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddConsAge(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsModifiable(), SCIPdebugMsg, SCIPdisableConsPropagation(), SCIPgetDepth(), SCIPinferVarLbCons(), SCIPinferVarUbCons(), SCIPresetConsAge(), SCIPvarGetName(), SCIPvarGetNBranchingsCurrentRun(), SCIPvarGetProbvar(), SCIPvarGetStatus(), switchWatchedvars(), and TRUE.
Referenced by disableCons(), enforceCurrentSol(), and SCIP_DECL_CONSPROP().
◆ isConsViolated()
checks constraint for violation, returns TRUE iff constraint is violated
- Parameters
-
scip SCIP data structure cons bound disjunction constraint to be checked sol primal CIP solution
Definition at line 1370 of file cons_bounddisjunction.c.
References FALSE, isFeasGE, isFeasLE, NULL, registerBranchingCandidates(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIP_REAL_MAX, SCIPconsGetData(), SCIPgetSolVal(), SCIPrelDiff(), SCIPupdateSolConsViolation(), and TRUE.
Referenced by enforceCurrentSol(), processWatchedVars(), and SCIP_DECL_CONSCHECK().
◆ registerBranchingCandidates()
|
static |
- Parameters
-
scip SCIP data structure cons bound disjunction constraint which variables should be registered for branching sol solution (NULL for LP solution) neednarybranch pointer to store TRUE, if n-ary branching is necessary to enforce this constraint
Definition at line 1441 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, enforceCurrentSol(), FALSE, isFeasGT, isFeasLT, isLiteralSatisfied(), NULL, REALABS, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddExternBranchCand(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPgetSolVal(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisInfinity(), SCIPvarGetType(), and TRUE.
Referenced by enforceCurrentSol(), and isConsViolated().
◆ enforceCurrentSol()
|
static |
enforces the pseudo or LP solution on the given constraint
- Parameters
-
scip SCIP data structure cons bound disjunction constraint to be separated sol solution which should be enforced (NULL for LP solution) eventhdlr event handler to call for the event processing cutoff pointer to store TRUE, if the node can be cut off infeasible pointer to store TRUE, if the constraint was infeasible reduceddom pointer to store TRUE, if a domain reduction was found registeredbrcand pointer to store TRUE, if branching variable candidates were registered or was already true
Definition at line 1524 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, createNAryBranch(), isConsViolated(), NULL, processWatchedVars(), registerBranchingCandidates(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsPropagationEnabled(), SCIPdebugMsg, SCIPresetConsAge(), and TRUE.
Referenced by enforceConstraint(), registerBranchingCandidates(), and SCIP_DECL_CONSENFOPS().
◆ createNAryBranch()
|
static |
enforces a constraint by creating an n-ary branch consisting of a set of child nodes, each enforcing one literal
- Parameters
-
scip SCIP data structure cons bound disjunction constraint to branch on sol solution which should be enforced (NULL for LP solution)
Definition at line 1578 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, enforceConstraint(), isFeasGE, isFeasGT, isFeasLE, isFeasLT, isLiteralSatisfied(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddConsNode(), SCIPcalcChildEstimate(), SCIPcalcNodeselPriority(), SCIPchgVarLbNode(), SCIPchgVarUbNode(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateChild(), SCIPcreateConsLinear(), SCIPdebugMsg, SCIPdelConsNode(), SCIPgetSolVal(), SCIPinfinity(), SCIPreleaseCons(), SCIPvarGetName(), SCIPvarGetStatus(), and SCIPvarIsActive().
Referenced by enforceConstraint(), enforceCurrentSol(), and SCIP_DECL_CONSENFOPS().
◆ enforceConstraint()
|
static |
helper function to enforce constraints
- Parameters
-
scip SCIP data structure conshdlr constraint handler conss constraints to process nconss number of constraints sol solution to enforce (NULL for the LP solution) result pointer to store the result of the enforcing call
Definition at line 1698 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, createNAryBranch(), enforceCurrentSol(), FALSE, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_QUADCONSUPGD(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by createNAryBranch(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFORELAX().
◆ SCIP_DECL_QUADCONSUPGD()
|
static |
upgrades quadratic complementarity constraints into a bounddisjunction constraint If constraint is of form (x - a) * (y - b) = 0 with x >= a and y >= b for some a and b, then upgrade to bounddisjunction constraint "x <= a or y <= b". If constraint is of form (x - a) * (y - b) >= 0, then upgrade to bounddisjunction constraints "x >= a or y <= b" and "x <= a or y >= b".
Definition at line 1789 of file cons_bounddisjunction.c.
References a, b, SCIP_BilinTerm::coef, SCIP_QuadVarTerm::lincoef, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsBounddisjunction(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPgetBilinTermsQuadratic(), SCIPgetLhsQuadratic(), SCIPgetNBilinTermsQuadratic(), SCIPgetNLinearVarsQuadratic(), SCIPgetNQuadVarTermsQuadratic(), SCIPgetQuadVarTermsQuadratic(), SCIPgetRhsQuadratic(), SCIPinfinity(), SCIPisEQ(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPisZero(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIP_QuadVarTerm::var, x, and y.
Referenced by enforceConstraint().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 2190 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrBounddisjunction(), and TRUE.
Referenced by SCIP_DECL_QUADCONSUPGD().
◆ SCIP_DECL_CONSFREE()
|
static |
destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
Definition at line 2206 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, conshdlrdataFree(), NULL, SCIP_DECL_CONSEXITPRE(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPconshdlrSetData().
Referenced by SCIP_DECL_CONSHDLRCOPY().
◆ SCIP_DECL_CONSEXITPRE()
|
static |
presolving deinitialization method of constraint handler (called after presolving has been finished)
Definition at line 2228 of file cons_bounddisjunction.c.
References applyGlobalBounds(), CONSHDLR_NAME, NULL, removeFixedVariables(), SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_OKAY, SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsAdded(), SCIPconsIsDeleted(), SCIPdebugMsg, and SCIPdelCons().
Referenced by SCIP_DECL_CONSFREE().
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 2275 of file cons_bounddisjunction.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetName().
Referenced by SCIP_DECL_CONSEXITPRE().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 2291 of file cons_bounddisjunction.c.
References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSENFOLP(), 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_CONSENFOLP()
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 2324 of file cons_bounddisjunction.c.
References enforceConstraint(), NULL, SCIP_CALL, SCIP_DECL_CONSENFORELAX(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSTRANS().
◆ SCIP_DECL_CONSENFORELAX()
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 2334 of file cons_bounddisjunction.c.
References enforceConstraint(), SCIP_CALL, SCIP_DECL_CONSENFOPS(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSENFOLP().
◆ SCIP_DECL_CONSENFOPS()
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 2344 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, createNAryBranch(), enforceCurrentSol(), FALSE, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by SCIP_DECL_CONSENFORELAX().
◆ SCIP_DECL_CONSCHECK()
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 2408 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, isConsViolated(), NULL, SCIP_CALL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPgetSolVal(), SCIPinfoMessage(), SCIPprintCons(), and SCIPvarGetName().
Referenced by SCIP_DECL_CONSENFOPS().
◆ SCIP_DECL_CONSPROP()
|
static |
domain propagation method of constraint handler
Definition at line 2458 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, FALSE, NULL, processWatchedVars(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSPRESOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconshdlrGetData(), and SCIPconshdlrGetName().
Referenced by SCIP_DECL_CONSCHECK().
◆ SCIP_DECL_CONSPRESOL()
|
static |
presolving method of constraint handler
Definition at line 2502 of file cons_bounddisjunction.c.
References applyGlobalBounds(), CONSHDLR_NAME, isLiteralSatisfied(), isLiteralViolated(), NULL, removeFixedVariables(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSRESPROP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIP_VARSTATUS_MULTAGGR, SCIPaddCons(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebugMsg, SCIPdelCons(), SCIPenableConsPropagation(), SCIPinfinity(), SCIPisStopped(), SCIPreleaseCons(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and upgradeCons().
Referenced by SCIP_DECL_CONSPROP().
◆ SCIP_DECL_CONSRESPROP()
|
static |
propagation conflict resolving method of constraint handler
Definition at line 2650 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_CONSLOCK(), SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIP_VARSTATUS_MULTAGGR, SCIPaddConflictBd(), SCIPboundtypeOpposite(), SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisGT(), SCIPisLT(), SCIPvarGetStatus(), and TRUE.
Referenced by SCIP_DECL_CONSPRESOL().
◆ SCIP_DECL_CONSLOCK()
|
static |
variable rounding lock method of constraint handler
Definition at line 2718 of file cons_bounddisjunction.c.
References NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DECL_CONSACTIVE(), SCIP_OKAY, SCIPaddVarLocksType(), and SCIPconsGetData().
Referenced by SCIP_DECL_CONSRESPROP().
◆ SCIP_DECL_CONSACTIVE()
|
static |
constraint activation notification method of constraint handler
Definition at line 2745 of file cons_bounddisjunction.c.
References catchEvents(), consdataPrint(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSDEACTIVE(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsTransformed(), SCIPdebug, SCIPdebugMsg, and TRUE.
Referenced by SCIP_DECL_CONSLOCK().
◆ SCIP_DECL_CONSDEACTIVE()
|
static |
constraint deactivation notification method of constraint handler
Definition at line 2782 of file cons_bounddisjunction.c.
References consdataPrint(), CONSHDLR_NAME, dropEvents(), NULL, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsTransformed(), SCIPdebug, SCIPdebugMsg, and TRUE.
Referenced by SCIP_DECL_CONSACTIVE().
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 2821 of file cons_bounddisjunction.c.
References consdataPrint(), FALSE, NULL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, and SCIPconsGetData().
Referenced by SCIP_DECL_CONSDEACTIVE().
◆ SCIP_DECL_CONSCOPY()
|
static |
constraint copying method of constraint handler
Definition at line 2834 of file cons_bounddisjunction.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSPARSE(), SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetName(), SCIPcreateConsBounddisjunction(), SCIPfreeBufferArray, SCIPgetBoundsBounddisjunction(), SCIPgetBoundtypesBounddisjunction(), SCIPgetNVarsBounddisjunction(), SCIPgetVarCopy(), SCIPgetVarsBounddisjunction(), and TRUE.
Referenced by SCIP_DECL_CONSPRINT().
◆ SCIP_DECL_CONSPARSE()
|
static |
constraint parsing method of constraint handler
Definition at line 2876 of file cons_bounddisjunction.c.
References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPcreateConsBounddisjunction(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPparseVarName(), SCIPreallocBufferArray, SCIPstrToRealValue(), SCIPvarGetName(), SCIPverbMessage(), and TRUE.
Referenced by SCIP_DECL_CONSCOPY().
◆ SCIP_DECL_CONSGETVARS()
|
static |
constraint method of constraint handler which returns the variables (if possible)
Definition at line 3009 of file cons_bounddisjunction.c.
References BMScopyMemoryArray, FALSE, NULL, SCIP_DECL_CONSGETNVARS(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSPARSE().
◆ SCIP_DECL_CONSGETNVARS()
|
static |
constraint method of constraint handler which returns the number of variables (if possible)
Definition at line 3033 of file cons_bounddisjunction.c.
References NULL, SCIP_DECL_EVENTEXEC(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSGETVARS().
◆ SCIP_DECL_EVENTEXEC()
|
static |
Definition at line 3056 of file cons_bounddisjunction.c.
References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONFLICTEXEC(), SCIP_EVENTTYPE_BOUNDRELAXED, SCIP_EVENTTYPE_BOUNDTIGHTENED, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsUpdatedeactivate(), SCIPenableCons(), SCIPenableConsPropagation(), SCIPeventGetType(), and SCIPeventhdlrGetName().
Referenced by SCIP_DECL_CONSGETNVARS().
◆ SCIP_DECL_CONFLICTEXEC()
|
static |
conflict processing method of conflict handler (called when conflict was found)
Definition at line 3095 of file cons_bounddisjunction.c.
References bound, CONFLICTHDLR_NAME, FALSE, isOverlapping(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CONSADDED, SCIP_DECL_CONFLICTFREE(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddConflict(), SCIPallocBufferArray, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPboundtypeOpposite(), SCIPconflicthdlrGetData(), SCIPconflicthdlrGetName(), SCIPcreateConsBounddisjunction(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetNConflictConssApplied(), SCIPgetNRuns(), SCIPisFeasEQ(), SCIPisGE(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and TRUE.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIP_DECL_CONFLICTFREE()
|
static |
free method of conflict handler
Definition at line 3237 of file cons_bounddisjunction.c.
References NULL, SCIP_OKAY, SCIPconflicthdlrGetData(), SCIPfreeBlockMemory, and SCIPincludeConshdlrBounddisjunction().
Referenced by SCIP_DECL_CONFLICTEXEC().