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_setppc.h"
#include "scip/expr_pow.h"
#include "scip/expr_var.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_expr.h"
#include "scip/scip_general.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_nlp.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 |
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 | |
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) |
SCIP_RETCODE | SCIPcreateConsBounddisjunctionRedundant (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 | SCIPcreateConsBasicBounddisjunctionRedundant (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) |
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 SCIP_RETCODE | consdataCreateRedundant (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 *cutoff, 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) |
Callback methods of constraint handler | |
static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyBounddisjunction) |
static | SCIP_DECL_CONSFREE (consFreeBounddisjunction) |
static | SCIP_DECL_CONSEXITPRE (consExitpreBounddisjunction) |
static | SCIP_DECL_CONSINITSOL (consInitsolBounddisjunction) |
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) |
Macro Definition Documentation
◆ CONSHDLR_NAME
#define CONSHDLR_NAME "bounddisjunction" |
Definition at line 65 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(), SCIPcreateConsBounddisjunctionRedundant(), SCIPgetBoundsBounddisjunction(), SCIPgetBoundtypesBounddisjunction(), SCIPgetNVarsBounddisjunction(), SCIPgetVarsBounddisjunction(), and SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "bound disjunction constraints" |
Definition at line 66 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 67 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 68 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 69 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 70 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 73 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 74 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 75 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PRESOLTIMING
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Definition at line 77 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 78 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "bounddisjunction" |
Definition at line 87 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 88 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_NAME
#define CONFLICTHDLR_NAME "bounddisjunction" |
Definition at line 97 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 98 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_PRIORITY
#define CONFLICTHDLR_PRIORITY -3000000 |
Definition at line 99 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 108 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ AGEINCREASE
#define AGEINCREASE | ( | n | ) | (1.0 + 0.2*n) |
Definition at line 119 of file cons_bounddisjunction.c.
Referenced by processWatchedVars().
◆ isFeasLT
#define isFeasLT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLT(scip, val1, val2) |
Definition at line 139 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreateRedundant(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
◆ isFeasLE
#define isFeasLE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLE(scip, val1, val2) |
Definition at line 140 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreate(), consdataCreateRedundant(), createNAryBranch(), isConsViolated(), isLiteralSatisfied(), and removeFixedVariables().
◆ isFeasGT
#define isFeasGT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGT(scip, val1, val2) |
Definition at line 141 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreateRedundant(), createNAryBranch(), isLiteralViolated(), and registerBranchingCandidates().
◆ isFeasGE
#define isFeasGE | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasGE(scip, val1, val2) |
Definition at line 142 of file cons_bounddisjunction.c.
Referenced by applyGlobalBounds(), consdataCreate(), consdataCreateRedundant(), 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 174 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 198 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 222 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 250 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 278 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 298 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 311 of file cons_bounddisjunction.c.
References bound, consdataCreateRedundant(), 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().
◆ consdataCreateRedundant()
|
static |
creates a bound disjunction constraint data object with possibly redundant literals
- 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 441 of file cons_bounddisjunction.c.
References consdataFree(), isFeasGE, isFeasGT, isFeasLE, isFeasLT, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBlockMemory(), SCIPduplicateBlockMemoryArray, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetTransformedVars(), SCIPisConsCompressionEnabled(), SCIPisEQ(), SCIPisGE(), SCIPisLE(), SCIPisTransformed(), SCIPsortPtrRealInt(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and w.
Referenced by consdataCreate(), and SCIPcreateConsBounddisjunctionRedundant().
◆ consdataFree()
|
static |
frees a bound disjunction constraint data
- Parameters
-
scip SCIP data structure consdata pointer to the bound disjunction constraint
Definition at line 611 of file cons_bounddisjunction.c.
References consdataPrint(), NULL, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
Referenced by consdataCreateRedundant(), 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 627 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 656 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 725 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 756 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 809 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 914 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 989 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 1014 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 1039 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 1131 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 1235 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 1267 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 1288 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 1541 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) cutoff pointer to store whether the constraint cannot be made feasible by branching neednarybranch pointer to store TRUE, if n-ary branching is necessary to enforce this constraint
Definition at line 1612 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 1699 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 1753 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 1873 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, createNAryBranch(), enforceCurrentSol(), FALSE, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSHDLRCOPY(), 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_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 1959 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrBounddisjunction(), and TRUE.
Referenced by enforceConstraint().
◆ SCIP_DECL_CONSFREE()
|
static |
destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
Definition at line 1975 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 1997 of file cons_bounddisjunction.c.
References applyGlobalBounds(), CONSHDLR_NAME, NULL, removeFixedVariables(), SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSINITSOL(), SCIP_OKAY, SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsAdded(), SCIPconsIsDeleted(), SCIPdebugMsg, and SCIPdelCons().
Referenced by SCIP_DECL_CONSFREE().
◆ SCIP_DECL_CONSINITSOL()
|
static |
solving process initialization method of constraint handler
Definition at line 2043 of file cons_bounddisjunction.c.
References a, b, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIP_Real, SCIPaddNlRow(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsLocal(), SCIPcreateExprPow(), SCIPcreateExprVar(), SCIPcreateNlRow(), SCIPinfinity(), SCIPisNLPConstructed(), SCIPreleaseExpr(), and SCIPreleaseNlRow().
Referenced by SCIP_DECL_CONSEXITPRE().
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 2119 of file cons_bounddisjunction.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetName().
Referenced by SCIP_DECL_CONSINITSOL().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 2135 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 2168 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 2178 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 2188 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 2252 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 2302 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 2346 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 2494 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 2562 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 2589 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 2626 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 2665 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 2678 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 2720 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 2853 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 2877 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 2900 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 2939 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 3081 of file cons_bounddisjunction.c.
References NULL, SCIP_OKAY, SCIPconflicthdlrGetData(), SCIPfreeBlockMemory, and SCIPincludeConshdlrBounddisjunction().
Referenced by SCIP_DECL_CONFLICTEXEC().