Detailed Description
Constraint handler for "or" constraints, \(r = x_1 \vee x_2 \vee \dots \vee x_n\).
This constraint handler deals with "or" constraint. These are constraint of the form:
\[ r = x_1 \vee x_2 \vee \dots \vee x_n \]
where \(x_i\) is a binary variable for all \(i\). Hence, \(r\) is also of binary type. The variable \(r\) is called resultant and the \(x\)'s operators.
Definition in file cons_or.c.
#include "blockmemshell/memory.h"
#include "scip/cons_and.h"
#include "scip/cons_or.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_conflict.h"
#include "scip/scip_cons.h"
#include "scip/scip_copy.h"
#include "scip/scip_cut.h"
#include "scip/scip_event.h"
#include "scip/scip_general.h"
#include "scip/scip_lp.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_prob.h"
#include "scip/scip_probing.h"
#include "scip/scip_sol.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 | |
#define | CONSHDLR_NAME "or" |
#define | CONSHDLR_DESC "constraint handler for or constraints: r = or(x1, ..., xn)" |
#define | CONSHDLR_SEPAPRIORITY +850000 |
#define | CONSHDLR_ENFOPRIORITY -850000 |
#define | CONSHDLR_CHECKPRIORITY -850000 |
#define | CONSHDLR_SEPAFREQ 0 |
#define | CONSHDLR_PROPFREQ 1 |
#define | CONSHDLR_EAGERFREQ 100 |
#define | CONSHDLR_MAXPREROUNDS -1 |
#define | CONSHDLR_DELAYSEPA FALSE |
#define | CONSHDLR_DELAYPROP FALSE |
#define | CONSHDLR_NEEDSCONS TRUE |
#define | CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
#define | CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_MEDIUM |
#define | EVENTHDLR_NAME "or" |
#define | EVENTHDLR_DESC "event handler for or constraints" |
Typedefs | |
typedef enum Proprule | PROPRULE |
Enumerations | |
enum | Proprule { PROPRULE_INVALID = 0, PROPRULE_1 = 1, PROPRULE_2 = 2, PROPRULE_3 = 3, PROPRULE_4 = 4, PROPRULE_0_INVALID = 0, PROPRULE_1_CORETIMES = 1, PROPRULE_2_EDGEFINDING = 2, PROPRULE_3_TTEF = 3, PROPRULE_1_RHS = 1, PROPRULE_1_LHS = 2, PROPRULE_1_RANGEDROW = 3, PROPRULE_INVALID = 0, PROPRULE_1 = 0, PROPRULE_2 = 1, PROPRULE_3 = 2, PROPRULE_4 = 3, PROPRULE_INVALID = 4, PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, PROPRULE_0, PROPRULE_1, PROPRULE_INTLB, PROPRULE_INTUB, PROPRULE_INVALID } |
Macro Definition Documentation
◆ CONSHDLR_NAME
#define CONSHDLR_NAME "or" |
Definition at line 74 of file cons_or.c.
Referenced by SCIP_DECL_CONSHDLRCOPY(), SCIPcreateConsOr(), SCIPgetNVarsOr(), SCIPgetResultantOr(), SCIPgetVarsOr(), and SCIPincludeConshdlrOr().
◆ CONSHDLR_DESC
#define CONSHDLR_DESC "constraint handler for or constraints: r = or(x1, ..., xn)" |
Definition at line 75 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_SEPAPRIORITY
#define CONSHDLR_SEPAPRIORITY +850000 |
priority of the constraint handler for separation
Definition at line 76 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_ENFOPRIORITY
#define CONSHDLR_ENFOPRIORITY -850000 |
priority of the constraint handler for constraint enforcing
Definition at line 77 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_CHECKPRIORITY
#define CONSHDLR_CHECKPRIORITY -850000 |
priority of the constraint handler for checking feasibility
Definition at line 78 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_SEPAFREQ
#define CONSHDLR_SEPAFREQ 0 |
frequency for separating cuts; zero means to separate only in the root node
Definition at line 79 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_PROPFREQ
#define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 80 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ 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 81 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_MAXPREROUNDS
#define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 84 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_DELAYSEPA
#define CONSHDLR_DELAYSEPA FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 85 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_DELAYPROP
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 86 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_NEEDSCONS
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 87 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_PROP_TIMING
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
propagation timing mask of the constraint handler
Definition at line 89 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_PRESOLTIMING
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_MEDIUM |
presolving timing of the constraint handler (fast, medium, or exhaustive)
Definition at line 90 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "or" |
Definition at line 92 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ EVENTHDLR_DESC
#define EVENTHDLR_DESC "event handler for or constraints" |
Definition at line 93 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
Typedef Documentation
◆ PROPRULE
Enumeration Type Documentation
◆ Proprule
enum Proprule |
Function Documentation
◆ lockRounding()
|
static |
installs rounding locks for the given variable in the given or constraint
- Parameters
-
scip SCIP data structure cons or constraint var variable of constraint entry
Definition at line 147 of file cons_or.c.
References SCIP_CALL, SCIP_LOCKTYPE_CONFLICT, SCIP_OKAY, SCIPconsIsLockedType(), SCIPlockVarCons(), TRUE, and unlockRounding().
Referenced by addCoef().
◆ unlockRounding()
|
static |
removes rounding locks for the given variable in the given or constraint
- Parameters
-
scip SCIP data structure cons or constraint var variable of constraint entry
Definition at line 163 of file cons_or.c.
References conshdlrdataCreate(), SCIP_CALL, SCIP_LOCKTYPE_CONFLICT, SCIP_OKAY, SCIPconsIsLockedType(), SCIPunlockVarCons(), and TRUE.
Referenced by delCoefPos(), and lockRounding().
◆ conshdlrdataCreate()
|
static |
creates constraint handler data
- Parameters
-
scip SCIP data structure conshdlrdata pointer to store the constraint handler data eventhdlr event handler
Definition at line 179 of file cons_or.c.
References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocBlockMemory.
Referenced by SCIPincludeConshdlrOr(), and unlockRounding().
◆ conshdlrdataFree()
|
static |
frees constraint handler data
- Parameters
-
scip SCIP data structure conshdlrdata pointer to the constraint handler data
Definition at line 199 of file cons_or.c.
References consdataGetNRows(), NULL, and SCIPfreeBlockMemory.
Referenced by conshdlrdataCreate(), and SCIP_DECL_CONSFREE().
◆ consdataGetNRows()
|
static |
gets number of LP rows needed for the LP relaxation of the constraint
- Parameters
-
consdata constraint data
Definition at line 212 of file cons_or.c.
References consdataCatchWatchedEvents(), and NULL.
Referenced by addRelaxation(), checkCons(), consdataFreeRows(), conshdlrdataFree(), createRelaxation(), and separateCons().
◆ consdataCatchWatchedEvents()
|
static |
catches events for the watched variable at given position
- Parameters
-
scip SCIP data structure consdata or constraint data eventhdlr event handler to call for the event processing pos array position of variable to catch bound change events for filterpos pointer to store position of event filter entry
Definition at line 223 of file cons_or.c.
References consdataDropWatchedEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPcatchVarEvent().
Referenced by consdataGetNRows(), and consdataSwitchWatchedvars().
◆ consdataDropWatchedEvents()
|
static |
drops events for the watched variable at given position
- Parameters
-
scip SCIP data structure consdata or constraint data eventhdlr event handler to call for the event processing pos array position of watched variable to drop bound change events for filterpos position of event filter entry
Definition at line 247 of file cons_or.c.
References consdataCatchEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPdropVarEvent().
Referenced by consdataCatchWatchedEvents(), and consdataSwitchWatchedvars().
◆ consdataCatchEvents()
|
static |
catches needed events on all variables of constraint, except the special ones for watched variables
- Parameters
-
scip SCIP data structure consdata or constraint data eventhdlr event handler to call for the event processing
Definition at line 270 of file cons_or.c.
References consdataDropEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPcatchVarEvent().
Referenced by consdataCreate(), and consdataDropWatchedEvents().
◆ consdataDropEvents()
|
static |
drops events on all variables of constraint, except the special ones for watched variables
- Parameters
-
scip SCIP data structure consdata or constraint data eventhdlr event handler to call for the event processing
Definition at line 296 of file cons_or.c.
References consdataSwitchWatchedvars(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPdropVarEvent().
Referenced by consdataCatchEvents(), and consdataFree().
◆ consdataSwitchWatchedvars()
|
static |
stores the given variable numbers as watched variables, and updates the event processing
- Parameters
-
scip SCIP data structure consdata or constraint data eventhdlr event handler to call for the event processing watchedvar1 new first watched variable watchedvar2 new second watched variable
Definition at line 322 of file cons_or.c.
References consdataCatchWatchedEvents(), consdataDropWatchedEvents(), consdataEnsureVarsSize(), NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by consdataDropEvents(), consdataFree(), delCoefPos(), and propagateCons().
◆ consdataEnsureVarsSize()
|
static |
ensures, that the vars array can store at least num entries
- Parameters
-
scip SCIP data structure consdata linear constraint data num minimum number of entries to store
Definition at line 382 of file cons_or.c.
References consdataCreate(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray.
Referenced by addCoef(), and consdataSwitchWatchedvars().
◆ consdataCreate()
|
static |
creates constraint data for or constraint
- Parameters
-
scip SCIP data structure consdata pointer to store the constraint data eventhdlr event handler to call for the event processing nvars number of variables in the or operation vars variables in or operation resvar resultant variable
Definition at line 406 of file cons_or.c.
References consdataCatchEvents(), consdataFreeRows(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPduplicateBlockMemoryArray, SCIPgetTransformedVar(), SCIPgetTransformedVars(), and SCIPisTransformed().
Referenced by consdataEnsureVarsSize(), SCIP_DECL_CONSTRANS(), and SCIPcreateConsOr().
◆ consdataFreeRows()
|
static |
releases LP rows of constraint data and frees rows array
- Parameters
-
scip SCIP data structure consdata constraint data
Definition at line 450 of file cons_or.c.
References consdataFree(), consdataGetNRows(), NULL, r, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArray, and SCIPreleaseRow().
Referenced by consdataCreate(), consdataFree(), and SCIP_DECL_CONSEXITSOL().
◆ consdataFree()
|
static |
frees constraint data for or constraint
- Parameters
-
scip SCIP data structure consdata pointer to the constraint data eventhdlr event handler to call for the event processing
Definition at line 477 of file cons_or.c.
References consdataDropEvents(), consdataFreeRows(), consdataPrint(), consdataSwitchWatchedvars(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, and SCIPisTransformed().
Referenced by consdataFreeRows(), and SCIP_DECL_CONSDELETE().
◆ consdataPrint()
|
static |
prints or constraint to file stream
- Parameters
-
scip SCIP data structure consdata or constraint data file output file (or NULL for standard output)
Definition at line 511 of file cons_or.c.
References addCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), SCIPwriteVarsList(), and TRUE.
Referenced by applyFixings(), consdataFree(), and SCIP_DECL_CONSPRINT().
◆ addCoef()
|
static |
adds coefficient in or constraint
- Parameters
-
scip SCIP data structure cons linear constraint eventhdlr event handler to call for the event processing var variable to add to the constraint
Definition at line 536 of file cons_or.c.
References consdataEnsureVarsSize(), delCoefPos(), lockRounding(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsIsTransformed(), SCIPerrorMessage, SCIPgetTransformedVar(), and SCIPvarIsTransformed().
Referenced by applyFixings(), and consdataPrint().
◆ delCoefPos()
|
static |
deletes coefficient at given position from or constraint data
- Parameters
-
scip SCIP data structure cons or constraint eventhdlr event handler to call for the event processing pos position of coefficient to delete
Definition at line 590 of file cons_or.c.
References applyFixings(), consdataSwitchWatchedvars(), FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), SCIPvarIsTransformed(), and unlockRounding().
Referenced by addCoef(), and applyFixings().
◆ applyFixings()
|
static |
deletes all zero-fixed variables
- Parameters
-
scip SCIP data structure cons or constraint eventhdlr event handler to call for the event processing
Definition at line 648 of file cons_or.c.
References addCoef(), consdataPrint(), createRelaxation(), delCoefPos(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPdebug, SCIPdebugMsg, SCIPdebugMsgPrint, SCIPgetBinvarRepresentative(), SCIPisFeasEQ(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and SCIPvarIsBinary().
Referenced by delCoefPos(), and SCIP_DECL_CONSPRESOL().
◆ createRelaxation()
|
static |
creates LP rows corresponding to or constraint:
- for each operator variable vi: resvar - vi >= 0
- one additional row: resvar - v1 - ... - vn <= 0
- Parameters
-
scip SCIP data structure cons constraint to check
Definition at line 707 of file cons_or.c.
References addRelaxation(), consdataGetNRows(), NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPallocBlockMemoryArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsRemovable(), SCIPcreateEmptyRowCons(), SCIPinfinity(), and SCIPsnprintf().
Referenced by addRelaxation(), applyFixings(), and separateCons().
◆ addRelaxation()
|
static |
adds linear relaxation of or constraint to the LP
- Parameters
-
scip SCIP data structure cons constraint to check infeasible pointer to store whether an infeasibility was detected
Definition at line 750 of file cons_or.c.
References checkCons(), consdataGetNRows(), createRelaxation(), FALSE, NULL, r, SCIP_CALL, SCIP_OKAY, SCIPaddRow(), SCIPconsGetData(), and SCIProwIsInLP().
Referenced by createRelaxation(), and SCIP_DECL_CONSINITLP().
◆ checkCons()
|
static |
checks or constraint for feasibility of given solution: returns TRUE iff constraint is feasible
- Parameters
-
scip SCIP data structure cons constraint to check sol solution to check, NULL for current solution checklprows Do constraints represented by rows in the current LP have to be checked? printreason Should the reason for the violation be printed? violated pointer to store whether the constraint is violated
Definition at line 784 of file cons_or.c.
References consdataGetNRows(), FALSE, MAX3, NULL, r, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPgetSolVal(), SCIPincConsAge(), SCIPinfoMessage(), SCIPisFeasPositive(), SCIPprintCons(), SCIPresetConsAge(), SCIProwIsInLP(), SCIPupdateSolConsViolation(), SCIPvarGetName(), separateCons(), and TRUE.
Referenced by addRelaxation(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), and SCIP_DECL_CONSENFORELAX().
◆ separateCons()
|
static |
separates current LP solution
- Parameters
-
scip SCIP data structure cons constraint to check sol primal CIP solution, NULL for current LP solution separated pointer to store whether a cut was found
Definition at line 900 of file cons_or.c.
References analyzeConflictZero(), consdataGetNRows(), createRelaxation(), FALSE, NULL, r, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddRow(), SCIPconsGetData(), SCIPgetRowSolFeasibility(), SCIPisFeasNegative(), SCIProwIsInLP(), and TRUE.
Referenced by checkCons(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
◆ analyzeConflictZero()
|
static |
analyzes conflicting FALSE assignment to resultant of given constraint, and adds conflict constraint to problem
- Parameters
-
scip SCIP data structure cons or constraint that detected the conflict truepos position of operand that is fixed to TRUE
Definition at line 950 of file cons_or.c.
References analyzeConflictOne(), FALSE, NULL, SCIP_CALL, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by propagateCons(), and separateCons().
◆ analyzeConflictOne()
|
static |
analyzes conflicting TRUE assignment to resultant of given constraint, and adds conflict constraint to problem
- Parameters
-
scip SCIP data structure cons or constraint that detected the conflict
Definition at line 982 of file cons_or.c.
References FALSE, NULL, propagateCons(), SCIP_CALL, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPconsIsModifiable(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by analyzeConflictZero(), and propagateCons().
◆ propagateCons()
|
static |
propagates constraint with the following rules: (1) v_i = TRUE => r = TRUE (2) r = FALSE => v_i = FALSE for all i (3) v_i = FALSE for all i => r = FALSE (4) r = TRUE, v_i = FALSE for all i except j => v_j = TRUE
- Parameters
-
scip SCIP data structure cons or 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 nfixedvars pointer to add up the number of found domain reductions
Definition at line 1023 of file cons_or.c.
References analyzeConflictOne(), analyzeConflictZero(), consdataSwitchWatchedvars(), FALSE, NULL, PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, resolvePropagation(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsModifiable(), SCIPdebugMsg, SCIPdelConsLocal(), SCIPincConsAge(), SCIPinferBinvarCons(), SCIPinRepropagation(), SCIPisFeasEQ(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE.
Referenced by analyzeConflictOne(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
◆ resolvePropagation()
|
static |
resolves a conflict on the given variable by supplying the variables needed for applying the corresponding propagation rule (see propagateCons()): (1) v_i = TRUE => r = TRUE (2) r = FALSE => v_i = FALSE for all i (3) v_i = FALSE for all i => r = FALSE (4) r = TRUE, v_i = FALSE for all i except j => v_j = TRUE
- Parameters
-
scip SCIP data structure cons constraint that inferred the bound change infervar variable that was deduced proprule propagation rule that deduced the value bdchgidx bound change index (time stamp of bound change), or NULL for current time result pointer to store the result of the propagation conflict resolving call
Definition at line 1262 of file cons_or.c.
References FALSE, NULL, PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, PROPRULE_INVALID, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_SUCCESS, SCIPaddConflictBinvar(), SCIPconsGetData(), SCIPconsGetName(), SCIPerrorMessage, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), TRUE, and upgradeCons().
Referenced by propagateCons(), and SCIP_DECL_CONSRESPROP().
◆ upgradeCons()
|
static |
upgrades unmodifiable or constraint into an and constraint on negated variables
- Parameters
-
scip SCIP data structure cons constraint that inferred the bound change nupgdconss pointer to count the number of constraint upgrades
Definition at line 1348 of file cons_or.c.
References addSymmetryInformation(), NULL, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsAnd(), SCIPdebugMsg, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetNegatedVar(), and SCIPreleaseCons().
Referenced by resolvePropagation(), and SCIP_DECL_CONSPRESOL().
◆ 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 1401 of file cons_or.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPextendPermsymDetectionGraphLinear(), SCIPfreeBufferArray, SCIPgetNVars(), SCIPgetNVarsOr(), SCIPgetResultantOr(), SCIPgetSymActiveVariables(), SCIPgetVarsOr(), and SCIPisTransformed().
Referenced by SCIP_DECL_CONSGETPERMSYMGRAPH(), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH(), and upgradeCons().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 1465 of file cons_or.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrOr(), 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 1481 of file cons_or.c.
References conshdlrdataFree(), NULL, SCIP_DECL_CONSEXITSOL(), SCIP_OKAY, SCIPconshdlrGetData(), and SCIPconshdlrSetData().
Referenced by SCIP_DECL_CONSHDLRCOPY().
◆ SCIP_DECL_CONSEXITSOL()
|
static |
solving process deinitialization method of constraint handler (called before branch and bound process data is freed)
Definition at line 1499 of file cons_or.c.
References consdataFreeRows(), SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_OKAY, and SCIPconsGetData().
Referenced by SCIP_DECL_CONSFREE().
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 1517 of file cons_or.c.
References consdataFree(), NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetData().
Referenced by SCIP_DECL_CONSEXITSOL().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 1532 of file cons_or.c.
References consdataCreate(), NULL, SCIP_CALL, SCIP_DECL_CONSINITLP(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), and SCIPcreateCons().
Referenced by SCIP_DECL_CONSDELETE().
◆ SCIP_DECL_CONSINITLP()
|
static |
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved)
Definition at line 1561 of file cons_or.c.
References addRelaxation(), FALSE, SCIP_CALL, SCIP_DECL_CONSSEPALP(), SCIP_OKAY, and SCIPconsIsInitial().
Referenced by SCIP_DECL_CONSTRANS().
◆ SCIP_DECL_CONSSEPALP()
|
static |
separation method of constraint handler for LP solutions
Definition at line 1579 of file cons_or.c.
References NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSSEPASOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
Referenced by SCIP_DECL_CONSINITLP().
◆ SCIP_DECL_CONSSEPASOL()
|
static |
separation method of constraint handler for arbitrary primal solutions
Definition at line 1603 of file cons_or.c.
References SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFOLP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
Referenced by SCIP_DECL_CONSSEPALP().
◆ SCIP_DECL_CONSENFOLP()
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 1627 of file cons_or.c.
References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFORELAX(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
Referenced by SCIP_DECL_CONSSEPASOL().
◆ SCIP_DECL_CONSENFORELAX()
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 1661 of file cons_or.c.
References checkCons(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
Referenced by SCIP_DECL_CONSENFOLP().
◆ SCIP_DECL_CONSENFOPS()
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 1695 of file cons_or.c.
References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, and TRUE.
Referenced by SCIP_DECL_CONSENFORELAX().
◆ SCIP_DECL_CONSCHECK()
|
static |
feasibility check method of constraint handler or
Definition at line 1717 of file cons_or.c.
References checkCons(), SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, and SCIP_OKAY.
Referenced by SCIP_DECL_CONSENFOPS().
◆ SCIP_DECL_CONSPROP()
|
static |
domain propagation method of constraint handler
Definition at line 1736 of file cons_or.c.
References FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSPRESOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, and SCIPconshdlrGetData().
Referenced by SCIP_DECL_CONSCHECK().
◆ SCIP_DECL_CONSPRESOL()
|
static |
presolving method of constraint handler
Definition at line 1769 of file cons_or.c.
References applyFixings(), FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSRESPROP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPaddVarImplication(), SCIPaggregateVars(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPdebugMsg, SCIPdelCons(), SCIPdoNotAggr(), SCIPisFeasEQ(), SCIPisStopped(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), TRUE, and upgradeCons().
Referenced by SCIP_DECL_CONSPROP().
◆ SCIP_DECL_CONSRESPROP()
|
static |
propagation conflict resolving method of constraint handler
Definition at line 1889 of file cons_or.c.
References resolvePropagation(), SCIP_CALL, SCIP_DECL_CONSLOCK(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSPRESOL().
◆ SCIP_DECL_CONSLOCK()
|
static |
variable rounding lock method of constraint handler
Definition at line 1899 of file cons_or.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddVarLocksType(), and SCIPconsGetData().
Referenced by SCIP_DECL_CONSRESPROP().
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 1924 of file cons_or.c.
References consdataPrint(), NULL, SCIP_CALL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, and SCIPconsGetData().
Referenced by SCIP_DECL_CONSLOCK().
◆ SCIP_DECL_CONSCOPY()
|
static |
constraint copying method of constraint handler
Definition at line 1937 of file cons_or.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSPARSE(), SCIP_INVALIDCALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetName(), SCIPcreateConsOr(), SCIPfreeBufferArray, SCIPgetNVarsOr(), SCIPgetResultantOr(), SCIPgetVarCopy(), SCIPgetVarsOr(), and TRUE.
Referenced by SCIP_DECL_CONSPRINT().
◆ SCIP_DECL_CONSPARSE()
|
static |
constraint parsing method of constraint handler
Definition at line 1990 of file cons_or.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, SCIPallocBufferArray, SCIPcreateConsOr(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseVarName(), SCIPparseVarsList(), SCIPreallocBufferArray, and SCIPstrtok().
Referenced by SCIP_DECL_CONSCOPY().
◆ SCIP_DECL_CONSGETVARS()
|
static |
constraint method of constraint handler which returns the variables (if possible)
Definition at line 2069 of file cons_or.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 variable (if possible)
Definition at line 2090 of file cons_or.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 2107 of file cons_or.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 2116 of file cons_or.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 2128 of file cons_or.c.
References FALSE, NULL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_OKAY, SCIPeventGetType(), and SCIPincludeConshdlrOr().
Referenced by SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH().