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 <assert.h>
#include <string.h>
#include <limits.h>
#include <ctype.h>
#include "scip/cons_bounddisjunction.h"
#include "scip/cons_quadratic.h"
#include "scip/cons_linear.h"
#include "scip/cons_logicor.h"
#include "scip/cons_setppc.h"
#include "scip/pub_misc.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 SCIP_RETCODE | 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 SCIP_RETCODE | 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_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) |
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_RETCODE | checkCons (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Bool *violated) |
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) |
#define CONSHDLR_NAME "bounddisjunction" |
Definition at line 41 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().
#define CONSHDLR_DESC "bound disjunction constraints" |
Definition at line 42 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_ENFOPRIORITY -3000000 |
priority of the constraint handler for constraint enforcing
Definition at line 43 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_CHECKPRIORITY -3000000 |
priority of the constraint handler for checking feasibility
Definition at line 44 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 45 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#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 46 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 49 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 50 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 51 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Definition at line 53 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 54 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define QUADCONSUPGD_PRIORITY 500000 |
priority of the constraint handler for upgrading of quadratic constraints
Definition at line 56 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define EVENTHDLR_NAME "bounddisjunction" |
Definition at line 65 of file cons_bounddisjunction.c.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPincludeConshdlrBounddisjunction().
#define EVENTHDLR_DESC "event handler for bound disjunction constraints" |
Definition at line 66 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONFLICTHDLR_NAME "bounddisjunction" |
Definition at line 75 of file cons_bounddisjunction.c.
Referenced by SCIP_DECL_CONFLICTEXEC(), and SCIPincludeConshdlrBounddisjunction().
#define CONFLICTHDLR_DESC "conflict handler creating bound disjunction constraints" |
Definition at line 76 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define CONFLICTHDLR_PRIORITY -3000000 |
Definition at line 77 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define DEFAULT_CONTINUOUSFRAC 0.4 |
maximal percantage of continuous variables within a conflict
Definition at line 86 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
#define AGEINCREASE | ( | n | ) | (1.0 + 0.2*n) |
Definition at line 97 of file cons_bounddisjunction.c.
Referenced by processWatchedVars().
#define isFeasLT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLT(scip, val1, val2) |
Definition at line 117 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
#define isFeasLE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLE(scip, val1, val2) |
Definition at line 118 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), checkCons(), consdataCreate(), createNAryBranch(), isLiteralSatisfied(), and removeFixedVariables().
#define isFeasGT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGT(scip, val1, val2) |
Definition at line 119 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
#define isFeasGE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGE(scip, val1, val2) |
Definition at line 120 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), checkCons(), consdataCreate(), createNAryBranch(), isLiteralSatisfied(), and removeFixedVariables().
|
static |
adds rounding locks for the given variable in the given bound disjunction constraint
scip | SCIP data structure |
cons | bound disjunction constraint |
consdata | bound disjunction constraint data |
pos | position of the variable in the constraint |
Definition at line 151 of file cons_bounddisjunction.c.
References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPlockVarCons(), TRUE, and unlockRounding().
Referenced by addCoef().
|
static |
removes rounding locks for the given variable in the given bound disjunction constraint
scip | SCIP data structure |
cons | bound disjunction constraint |
consdata | bound disjunction constraint data |
pos | position of the variable in the constraint |
Definition at line 177 of file cons_bounddisjunction.c.
References catchEvents(), FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPunlockVarCons(), and TRUE.
Referenced by delCoefPos(), and lockRounding().
|
static |
catches the events on a single variable of the bound disjunction constraint
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 203 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().
|
static |
drops the events on a single variable of the bound disjunction constraint
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 231 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().
|
static |
creates constraint handler data for bound disjunction constraint handler
scip | SCIP data structure |
conshdlrdata | pointer to store the constraint handler data |
eventhdlr | event handler |
Definition at line 259 of file cons_bounddisjunction.c.
References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocBlockMemory.
Referenced by dropEvents(), and SCIPincludeConshdlrBounddisjunction().
|
static |
frees constraint handler data for bound disjunction constraint handler
scip | SCIP data structure |
conshdlrdata | pointer to the constraint handler data |
Definition at line 279 of file cons_bounddisjunction.c.
References consdataCreate(), NULL, SCIP_OKAY, and SCIPfreeBlockMemory.
Referenced by conshdlrdataCreate(), and SCIP_DECL_CONSFREE().
|
static |
creates a bound disjunction constraint data object
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 294 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().
|
static |
frees a bound disjunction constraint data
scip | SCIP data structure |
consdata | pointer to the bound disjunction constraint |
Definition at line 424 of file cons_bounddisjunction.c.
References consdataPrint(), NULL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
Referenced by consdataCreate(), and SCIP_DECL_CONSDELETE().
|
static |
prints bound disjunction constraint to file stream
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 442 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().
|
static |
stores the given variable numbers as watched variables, and updates the event processing
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 471 of file cons_bounddisjunction.c.
References catchEvents(), delCoefPos(), dropEvents(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), and SCIPconsIsActive().
Referenced by addCoef(), consdataPrint(), delCoefPos(), and processWatchedVars().
|
static |
deletes coefficient at given position from bound disjunction constraint data
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 540 of file cons_bounddisjunction.c.
References addCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPenableConsPropagation(), SCIPvarIsTransformed(), switchWatchedvars(), and unlockRounding().
Referenced by applyGlobalBounds(), removeFixedVariables(), and switchWatchedvars().
|
static |
adds literal to bound disjunction constraint data
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 |
Definition at line 593 of file cons_bounddisjunction.c.
References applyGlobalBounds(), bound, lockRounding(), NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPconsGetData(), SCIPconsIsTransformed(), SCIPenableConsPropagation(), SCIPisInfinity(), SCIPreallocBlockMemoryArray, SCIPvarIsTransformed(), and switchWatchedvars().
Referenced by delCoefPos(), and removeFixedVariables().
|
static |
deletes all variables with global bounds violating the literal, checks for global bounds satisfying the literal
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 655 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().
|
static |
returns whether literal at the given position is satisfied in the local bounds
scip | SCIP data structure |
consdata | bound disjunction constraint data |
pos | position of the literal |
Definition at line 730 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().
|
static |
returns whether literal at the given position is violated in the local bounds
scip | SCIP data structure |
consdata | bound disjunction constraint data |
pos | position of the literal |
Definition at line 755 of file cons_bounddisjunction.c.
References isFeasGT, isFeasLT, NULL, removeFixedVariables(), SCIP_BOUNDTYPE_LOWER, SCIP_Real, SCIPcomputeVarLbLocal(), and SCIPcomputeVarUbLocal().
Referenced by isLiteralSatisfied(), processWatchedVars(), and SCIP_DECL_CONSPRESOL().
|
static |
replace variables by their representative active (or multi-aggregated) variables
scip | SCIP data structure |
cons | bound disjunction constraint |
eventhdlr | event handler |
redundant | flag to indicate whether constraint has been bound redundant |
Definition at line 780 of file cons_bounddisjunction.c.
References addCoef(), bound, delCoefPos(), isFeasGE, isFeasLE, isLiteralSatisfied(), 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().
|
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
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 866 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().
|
static |
analyzes conflicting assignment on given constraint, and adds conflict constraint to problem
scip | SCIP data structure |
cons | bound disjunction constraint that detected the conflict |
Definition at line 970 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().
|
static |
disables or deletes the given constraint, depending on the current depth
scip | SCIP data structure |
cons | bound disjunction constraint to be disabled |
Definition at line 1002 of file cons_bounddisjunction.c.
References processWatchedVars(), SCIP_CALL, SCIP_OKAY, SCIPconsGetValidDepth(), SCIPdelCons(), SCIPdisableCons(), and SCIPgetDepth().
Referenced by analyzeConflict(), and processWatchedVars().
|
static |
checks constraint for violation only looking at the watched variables, applies bound changes if possible
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 1023 of file cons_bounddisjunction.c.
References AGEINCREASE, analyzeConflict(), checkCons(), CONSHDLR_NAME, disableCons(), FALSE, 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().
|
static |
checks constraint for violation, returns TRUE iff constraint is feasible
scip | SCIP data structure |
cons | bound disjunction constraint to be checked |
sol | primal CIP solution |
violated | pointer to store whether the given solution violates the constraint |
Definition at line 1276 of file cons_bounddisjunction.c.
References FALSE, isFeasGE, isFeasLE, NULL, registerBranchingCandidates(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPgetSolVal(), and TRUE.
Referenced by enforceCurrentSol(), processWatchedVars(), and SCIP_DECL_CONSCHECK().
|
static |
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 1325 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 checkCons(), and enforceCurrentSol().
|
static |
enforces the pseudo or LP solution on the given constraint
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 1408 of file cons_bounddisjunction.c.
References checkCons(), CONSHDLR_NAME, createNAryBranch(), 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().
|
static |
enforces a constraint by creating an n-ary branch consisting of a set of child nodes, each enforcing one literal
scip | SCIP data structure |
cons | bound disjunction constraint to branch on |
sol | solution which should be enforced (NULL for LP solution) |
Definition at line 1465 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().
|
static |
helper function to enforce constraints
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 1585 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().
|
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 1675 of file cons_bounddisjunction.c.
References 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(), and SCIP_QuadVarTerm::var.
Referenced by enforceConstraint().
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 2076 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().
|
static |
destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
Definition at line 2092 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, conshdlrdataFree(), NULL, SCIP_CALL, SCIP_DECL_CONSEXITPRE(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPconshdlrSetData().
Referenced by SCIP_DECL_CONSHDLRCOPY().
|
static |
presolving deinitialization method of constraint handler (called after presolving has been finished)
Definition at line 2114 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().
|
static |
frees specific constraint data
Definition at line 2161 of file cons_bounddisjunction.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetName().
Referenced by SCIP_DECL_CONSEXITPRE().
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 2177 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().
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 2210 of file cons_bounddisjunction.c.
References enforceConstraint(), NULL, SCIP_CALL, SCIP_DECL_CONSENFORELAX(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSTRANS().
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 2220 of file cons_bounddisjunction.c.
References enforceConstraint(), SCIP_CALL, SCIP_DECL_CONSENFOPS(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSENFOLP().
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 2230 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().
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 2294 of file cons_bounddisjunction.c.
References checkCons(), CONSHDLR_NAME, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPgetSolVal(), SCIPinfoMessage(), SCIPprintCons(), and SCIPvarGetName().
Referenced by SCIP_DECL_CONSENFOPS().
|
static |
domain propagation method of constraint handler
Definition at line 2347 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().
|
static |
presolving method of constraint handler
Definition at line 2391 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().
|
static |
propagation conflict resolving method of constraint handler
Definition at line 2539 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().
|
static |
variable rounding lock method of constraint handler
Definition at line 2607 of file cons_bounddisjunction.c.
References NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DECL_CONSACTIVE(), SCIP_OKAY, SCIPaddVarLocks(), and SCIPconsGetData().
Referenced by SCIP_DECL_CONSRESPROP().
|
static |
constraint activation notification method of constraint handler
Definition at line 2634 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().
|
static |
constraint deactivation notification method of constraint handler
Definition at line 2671 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().
|
static |
constraint display method of constraint handler
Definition at line 2710 of file cons_bounddisjunction.c.
References consdataPrint(), FALSE, NULL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, and SCIPconsGetData().
Referenced by SCIP_DECL_CONSDEACTIVE().
|
static |
constraint copying method of constraint handler
Definition at line 2724 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().
|
static |
constraint parsing method of constraint handler
Definition at line 2766 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().
|
static |
constraint method of constraint handler which returns the variables (if possible)
Definition at line 2899 of file cons_bounddisjunction.c.
References BMScopyMemoryArray, FALSE, NULL, SCIP_DECL_CONSGETNVARS(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSPARSE().
|
static |
constraint method of constraint handler which returns the number of variables (if possible)
Definition at line 2923 of file cons_bounddisjunction.c.
References NULL, SCIP_DECL_EVENTEXEC(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSGETVARS().
|
static |
Definition at line 2945 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().
|
static |
conflict processing method of conflict handler (called when conflict was found)
Definition at line 2984 of file cons_bounddisjunction.c.
References CONFLICTHDLR_NAME, FALSE, 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(), SCIPfreeBufferArray, SCIPgetNConflictConssApplied(), SCIPgetNRuns(), SCIPisFeasEQ(), SCIPisGE(), SCIPisIntegral(), SCIPisLE(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and TRUE.
Referenced by SCIP_DECL_EVENTEXEC().
|
static |
free method of conflict handler
Definition at line 3071 of file cons_bounddisjunction.c.
References NULL, SCIP_OKAY, SCIPconflicthdlrGetData(), SCIPfreeBlockMemory, and SCIPincludeConshdlrBounddisjunction().
Referenced by SCIP_DECL_CONFLICTEXEC().