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 <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 63 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 64 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ CONSHDLR_SEPAPRIORITY
#define CONSHDLR_SEPAPRIORITY +850000 |
priority of the constraint handler for separation
Definition at line 65 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 66 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 67 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 68 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 69 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 70 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 73 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 74 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 75 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 76 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 78 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 79 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "or" |
Definition at line 81 of file cons_or.c.
Referenced by SCIPincludeConshdlrOr().
◆ EVENTHDLR_DESC
#define EVENTHDLR_DESC "event handler for or constraints" |
Definition at line 82 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 136 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 152 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 168 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 188 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 201 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 212 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 236 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 259 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 285 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 311 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 371 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 395 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 439 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 466 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 500 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 525 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 579 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 637 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 696 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 739 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 773 of file cons_or.c.
References consdataGetNRows(), FALSE, NULL, r, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPgetSolVal(), SCIPincConsAge(), SCIPinfoMessage(), SCIPisFeasIntegral(), 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 875 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 925 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 957 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 998 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 1237 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 1323 of file cons_or.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), 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().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 1381 of file cons_or.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrOr(), and TRUE.
Referenced by upgradeCons().
◆ SCIP_DECL_CONSFREE()
|
static |
destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
Definition at line 1397 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 1415 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 1433 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 1448 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 1477 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 1495 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 1519 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 1543 of file cons_or.c.
References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFORELAX(), SCIP_FEASIBLE, 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 1570 of file cons_or.c.
References checkCons(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, 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 1597 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 for integral solutions
Definition at line 1620 of file cons_or.c.
References checkCons(), FALSE, 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 1643 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 1676 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 1796 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 1806 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 1831 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 1844 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 1897 of file cons_or.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, SCIPallocBufferArray, SCIPcreateConsOr(), SCIPdebugMsg, SCIPduplicateBufferArray, 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 1975 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 1996 of file cons_or.c.
References NULL, SCIP_DECL_EVENTEXEC(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSGETVARS().
◆ SCIP_DECL_EVENTEXEC()
|
static |
Definition at line 2017 of file cons_or.c.
References FALSE, NULL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_OKAY, SCIPeventGetType(), and SCIPincludeConshdlrOr().
Referenced by SCIP_DECL_CONSGETNVARS().