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 "scip/symmetry_graph.h"
#include "symmetry/struct_symmetry.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) |
static SCIP_RETCODE | addSymmetryInformation (SCIP *scip, SYM_SYMTYPE symtype, SCIP_CONS *cons, SYM_GRAPH *graph, SCIP_Bool *success) |
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) |
static | SCIP_DECL_CONSGETPERMSYMGRAPH (consGetPermsymGraphBounddisjunction) |
static | SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH (consGetSignedPermsymGraphBounddisjunction) |
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 74 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 75 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 76 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 77 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 78 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 79 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 82 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 83 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 84 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PRESOLTIMING
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_FAST |
Definition at line 86 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 87 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "bounddisjunction" |
Definition at line 96 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 97 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_NAME
#define CONFLICTHDLR_NAME "bounddisjunction" |
Definition at line 106 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 107 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ CONFLICTHDLR_PRIORITY
#define CONFLICTHDLR_PRIORITY -3000000 |
Definition at line 108 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 117 of file cons_bounddisjunction.c.
Referenced by SCIPincludeConshdlrBounddisjunction().
◆ AGEINCREASE
#define AGEINCREASE | ( | n | ) | (1.0 + 0.2*n) |
Definition at line 128 of file cons_bounddisjunction.c.
Referenced by processWatchedVars().
◆ isFeasLT
#define isFeasLT | ( | scip, | |
var, | |||
val1, | |||
val2 | |||
) | SCIPisFeasLT(scip, val1, val2) |
Definition at line 148 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 149 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 150 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 151 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 183 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 207 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 231 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 259 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 287 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 307 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 320 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 453 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 623 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 639 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 668 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 737 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 768 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 821 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 926 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 1001 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 1026 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 1051 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 1143 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 1247 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 1279 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 1300 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 1553 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 1624 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 1711 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 1765 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 1885 of file cons_bounddisjunction.c.
References addSymmetryInformation(), CONSHDLR_NAME, createNAryBranch(), enforceCurrentSol(), FALSE, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by createNAryBranch(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFORELAX().
◆ addSymmetryInformation()
|
static |
adds symmetry information of constraint to a symmetry detection graph
- Parameters
-
scip SCIP pointer symtype type of symmetries that need to be added cons constraint graph symmetry detection graph success pointer to store whether symmetry information could be added
Definition at line 1964 of file cons_bounddisjunction.c.
References bound, FALSE, NULL, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_OKAY, SCIP_Real, SCIPaddSymgraphConsnode(), SCIPaddSymgraphEdge(), SCIPaddSymgraphOpnode(), SCIPaddSymgraphValnode(), SCIPaddSymgraphVarAggregation(), SCIPallocBufferArray, SCIPconsGetData(), SCIPfreeBufferArray, SCIPgetNVars(), SCIPgetSymActiveVariables(), SCIPisTransformed(), SYM_CONSOPTYPE_BDDISJ, SYM_CONSOPTYPE_SUM, and TRUE.
Referenced by enforceConstraint(), SCIP_DECL_CONSGETPERMSYMGRAPH(), and SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 2055 of file cons_bounddisjunction.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrBounddisjunction(), and TRUE.
Referenced by addSymmetryInformation().
◆ SCIP_DECL_CONSFREE()
|
static |
destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
Definition at line 2071 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 2093 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 2139 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 2215 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 2231 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 2264 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 2274 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 2284 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 2348 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 2398 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 2442 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 2590 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 2658 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 2685 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 2722 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 2761 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 2774 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 2816 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, SCIPparseReal(), SCIPparseVarName(), SCIPreallocBufferArray, SCIPskipSpace(), 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 2953 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 2977 of file cons_bounddisjunction.c.
References NULL, SCIP_DECL_CONSGETPERMSYMGRAPH(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSGETVARS().
◆ SCIP_DECL_CONSGETPERMSYMGRAPH()
|
static |
constraint handler method which returns the permutation symmetry detection graph of a constraint
Definition at line 2994 of file cons_bounddisjunction.c.
References addSymmetryInformation(), SCIP_CALL, SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH(), SCIP_OKAY, and SYM_SYMTYPE_PERM.
Referenced by SCIP_DECL_CONSGETNVARS().
◆ SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH()
|
static |
constraint handler method which returns the signed permutation symmetry detection graph of a constraint
Definition at line 3003 of file cons_bounddisjunction.c.
References addSymmetryInformation(), SCIP_CALL, SCIP_DECL_EVENTEXEC(), SCIP_OKAY, and SYM_SYMTYPE_SIGNPERM.
Referenced by SCIP_DECL_CONSGETPERMSYMGRAPH().
◆ SCIP_DECL_EVENTEXEC()
|
static |
Definition at line 3018 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_CONSGETSIGNEDPERMSYMGRAPH().
◆ SCIP_DECL_CONFLICTEXEC()
|
static |
conflict processing method of conflict handler (called when conflict was found)
Definition at line 3057 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_LONGINT_FORMAT, 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 3199 of file cons_bounddisjunction.c.
References NULL, SCIP_OKAY, SCIPconflicthdlrGetData(), SCIPfreeBlockMemory, and SCIPincludeConshdlrBounddisjunction().
Referenced by SCIP_DECL_CONFLICTEXEC().