Detailed Description
constraint handler for full orbitope constraints w.r.t. the full symmetric group
The type of constraints of this constraint handler is described in cons_orbitope_full.h. When creating the constraint, users can decide whether it is a constraint defining the model or "just" use to handle symmetries. In the latter case, symmetry reductions are only performed by the constraint handler if strong dual reductions are permitted.
The details of the method implemented here are described in the following papers.
Orbitopal fixing for the full (sub-)orbitope and application to the Unit Commitment Problem
Pascale Bendotti, Pierre Fouilhoux, and Cecile Rottner,
Optimization Online: http://www.optimization-online.org/DB_HTML/2017/10/6301.html
Two linear time propagation algorithms for full orbitopes are described in this paper, a static version and a dynamic one. While the static version uses a fixed variable order, the dynamic version determines the variable order during the solving process via branching descisions. We only implemented the static version, because constraints should define the model and should not be changed during the solving process. Instead, a dynamic version of orbitopal fixing has been implemented as a routine in prop_symmetry.c.
Polytopes associated with symmetry handling
Christopher Hojny and Marc E. Pfetsch,
Math. Program. (2018)
In this paper, a linear time separation algorithm for orbisacks (full orbitopes with two columnes) is described. We use this algorithm for every pair of adjacent columns within the orbitope.
Definition in file cons_orbitope_full.c.
#include "blockmemshell/memory.h"#include "scip/cons_orbisack.h"#include "scip/cons_orbitope_full.h"#include "scip/cons_setppc.h"#include "scip/pub_cons.h"#include "scip/pub_message.h"#include "scip/pub_var.h"#include "scip/scip.h"#include "scip/scip_branch.h"#include "scip/scip_conflict.h"#include "scip/scip_cons.h"#include "scip/scip_copy.h"#include "scip/scip_cut.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_param.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/scip_sol.h"#include "scip/scip_var.h"#include "scip/symmetry.h"#include <symmetry/type_symmetry.h>Go to the source code of this file.
Macros | |
| #define | CONSHDLR_NAME "orbitope_full" |
| #define | CONSHDLR_DESC "symmetry breaking constraint handler relying on full orbitopes" |
| #define | CONSHDLR_SEPAPRIORITY +40100 |
| #define | CONSHDLR_ENFOPRIORITY -1005200 |
| #define | CONSHDLR_CHECKPRIORITY -1005200 |
| #define | CONSHDLR_SEPAFREQ -1 |
| #define | CONSHDLR_PROPFREQ 1 |
| #define | CONSHDLR_EAGERFREQ -1 |
| #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 | DEFAULT_FORCECONSCOPY FALSE |
Functions | |
| static SCIP_RETCODE | consdataFree (SCIP *scip, SCIP_CONSDATA **consdata) |
| static SCIP_RETCODE | consdataCreate (SCIP *scip, SCIP_CONSDATA **consdata, SCIP_VAR ***vars, int nrows, int ncols, SCIP_Bool resolveprop, SCIP_Bool ismodelcons) |
| static SCIP_RETCODE | findLexMinFace (SCIP_VAR ***vars, int **lexminfixes, int *minfixedrowlexmin, SCIP_Bool *infeasible, int nrows, int ncols, SCIP_Bool resprop) |
| static SCIP_RETCODE | findLexMaxFace (SCIP_VAR ***vars, int **lexmaxfixes, int *minfixedrowlexmax, SCIP_Bool *infeasible, int nrows, int ncols, SCIP_Bool resprop) |
| static SCIP_RETCODE | propagateCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *infeasible, int *nfixedvars) |
| static SCIP_RETCODE | resolvePropagationFullOrbitope (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons, int inferinfo, SCIP_BDCHGIDX *bdchgidx, SCIP_RESULT *result) |
| static SCIP_RETCODE | checkFullOrbitopeSolution (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool *feasible) |
| static SCIP_RETCODE | separateCoversOrbisack (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, int *ngen, SCIP_Bool *infeasible) |
| static SCIP_RETCODE | separateConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS **conss, int nconss, int nusefulconss, SCIP_SOL *sol, SCIP_RESULT *result, SCIP_Bool enforce) |
| static SCIP_RETCODE | checkRedundantCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *redundant) |
| static SCIP_RETCODE | replaceAggregatedVarsOrbitopeFull (SCIP *scip, SCIP_CONS *cons) |
| static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyOrbitopeFull) |
| static | SCIP_DECL_CONSFREE (consFreeOrbitopeFull) |
| static | SCIP_DECL_CONSDELETE (consDeleteOrbitopeFull) |
| static | SCIP_DECL_CONSTRANS (consTransOrbitopeFull) |
| static | SCIP_DECL_CONSSEPALP (consSepalpOrbitopeFull) |
| static | SCIP_DECL_CONSSEPASOL (consSepasolOrbitopeFull) |
| static | SCIP_DECL_CONSENFOLP (consEnfolpOrbitopeFull) |
| static | SCIP_DECL_CONSENFORELAX (consEnforelaxOrbitopeFull) |
| static | SCIP_DECL_CONSENFOPS (consEnfopsOrbitopeFull) |
| static | SCIP_DECL_CONSCHECK (consCheckOrbitopeFull) |
| static | SCIP_DECL_CONSPROP (consPropOrbitopeFull) |
| static | SCIP_DECL_CONSPRESOL (consPresolOrbitopeFull) |
| static | SCIP_DECL_CONSRESPROP (consRespropOrbitopeFull) |
| static | SCIP_DECL_CONSEXITPRE (consExitpreOrbitopeFull) |
| static | SCIP_DECL_CONSLOCK (consLockOrbitopeFull) |
| static | SCIP_DECL_CONSPRINT (consPrintOrbitopeFull) |
| static | SCIP_DECL_CONSCOPY (consCopyOrbitopeFull) |
| static | SCIP_DECL_CONSPARSE (consParseOrbitopeFull) |
| static | SCIP_DECL_CONSGETVARS (consGetVarsOrbitopeFull) |
| static | SCIP_DECL_CONSGETNVARS (consGetNVarsOrbitopeFull) |
| SCIP_RETCODE | SCIPincludeConshdlrOrbitopeFull (SCIP *scip) |
| SCIP_RETCODE | SCIPcreateConsOrbitopeFull (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, int nrows, int ncols, SCIP_Bool resolveprop, SCIP_Bool ismodelcons, 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 | SCIPcreateConsBasicOrbitopeFull (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, int nrows, int ncols, SCIP_Bool resolveprop, SCIP_Bool ismodelcons) |
Macro Definition Documentation
◆ CONSHDLR_NAME
| #define CONSHDLR_NAME "orbitope_full" |
Definition at line 87 of file cons_orbitope_full.c.
◆ CONSHDLR_DESC
| #define CONSHDLR_DESC "symmetry breaking constraint handler relying on full orbitopes" |
Definition at line 88 of file cons_orbitope_full.c.
◆ CONSHDLR_SEPAPRIORITY
| #define CONSHDLR_SEPAPRIORITY +40100 |
priority of the constraint handler for separation
Definition at line 89 of file cons_orbitope_full.c.
◆ CONSHDLR_ENFOPRIORITY
| #define CONSHDLR_ENFOPRIORITY -1005200 |
priority of the constraint handler for constraint enforcing
Definition at line 90 of file cons_orbitope_full.c.
◆ CONSHDLR_CHECKPRIORITY
| #define CONSHDLR_CHECKPRIORITY -1005200 |
priority of the constraint handler for checking feasibility
Definition at line 91 of file cons_orbitope_full.c.
◆ CONSHDLR_SEPAFREQ
| #define CONSHDLR_SEPAFREQ -1 |
frequency for separating cuts; zero means to separate only in the root node
Definition at line 92 of file cons_orbitope_full.c.
◆ CONSHDLR_PROPFREQ
| #define CONSHDLR_PROPFREQ 1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 93 of file cons_orbitope_full.c.
◆ CONSHDLR_EAGERFREQ
| #define CONSHDLR_EAGERFREQ -1 |
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 95 of file cons_orbitope_full.c.
◆ CONSHDLR_MAXPREROUNDS
| #define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 96 of file cons_orbitope_full.c.
◆ CONSHDLR_DELAYSEPA
| #define CONSHDLR_DELAYSEPA FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 97 of file cons_orbitope_full.c.
◆ CONSHDLR_DELAYPROP
| #define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 98 of file cons_orbitope_full.c.
◆ CONSHDLR_NEEDSCONS
| #define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 99 of file cons_orbitope_full.c.
◆ CONSHDLR_PROP_TIMING
| #define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
propagation timing mask of the constraint handler
Definition at line 101 of file cons_orbitope_full.c.
◆ CONSHDLR_PRESOLTIMING
| #define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_MEDIUM |
presolving timing of the constraint handler (fast, medium, or exhaustive)
Definition at line 102 of file cons_orbitope_full.c.
◆ DEFAULT_FORCECONSCOPY
| #define DEFAULT_FORCECONSCOPY FALSE |
whether orbitope constraints should be forced to be copied to sub SCIPs
Definition at line 104 of file cons_orbitope_full.c.
Function Documentation
◆ consdataFree()
|
static |
frees an orbitope constraint data
- Parameters
-
scip SCIP data structure consdata pointer to orbitope constraint data
Definition at line 133 of file cons_orbitope_full.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, and SCIPreleaseVar().
Referenced by SCIP_DECL_CONSDELETE().
◆ consdataCreate()
|
static |
creates orbitope constraint data
- Parameters
-
scip SCIP data structure consdata pointer to store constraint data vars variables array, must have size nrows x ncols nrows number of rows ncols number of columns resolveprop should propagation be resolved? ismodelcons whether the orbitope is a model constraint
Definition at line 170 of file cons_orbitope_full.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPgetTransformedVar(), SCIPisTransformed(), and SCIPmarkDoNotMultaggrVar().
Referenced by SCIP_DECL_CONSTRANS(), and SCIPcreateConsOrbitopeFull().
◆ findLexMinFace()
|
static |
Compute lexicographically minimal face of the hypercube w.r.t. some coordinate fixing
- Parameters
-
vars variable matrix lexminfixes fixings characterzing lex-min face minfixedrowlexmin index of minimum fixed row for each column or NULL (if in prop) infeasible pointer to store whether infeasibility has been detected or NULL (if in resprop) nrows number of rows in vars ncols number of columns in vars resprop whether we are in resprop (TRUE) or prop (FALSE)
Definition at line 231 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_OKAY, and TRUE.
Referenced by propagateCons(), and resolvePropagationFullOrbitope().
◆ findLexMaxFace()
|
static |
Compute lexicographically maximal face of the hypercube w.r.t. some coordinate fixing
- Parameters
-
vars variable matrix lexmaxfixes fixings characterzing lex-max face minfixedrowlexmax index of minimum fixed row for each column or NULL (if in prop) infeasible pointer to store whether infeasibility has been detected or NULL (if in resprop) nrows number of rows in vars ncols number of columns in vars resprop whether we are in resprop (TRUE) or prop (FALSE)
Definition at line 328 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_OKAY, and TRUE.
Referenced by propagateCons(), and resolvePropagationFullOrbitope().
◆ propagateCons()
|
static |
propagation method for a single full orbitope constraint
- Parameters
-
scip SCIP data structure cons constraint to be processed infeasible 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 422 of file cons_orbitope_full.c.
References FALSE, findLexMaxFace(), findLexMinFace(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPallowStrongDualReds(), SCIPconsGetData(), SCIPfreeBufferArray, SCIPinferBinvarCons(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
◆ resolvePropagationFullOrbitope()
|
static |
Propagation conflict resolving method of propagator
In this function we use that all variable reductions that can be found by the propagation algorithm are only due to the fixed variables that are in or above the minimum fixed row of each pair of adjacent columns of the lexmin and lexmax matrices.
Since the storage of an integer is not enough to store the complete information about the fixing, we have to use the linear time algorithm for finding the lexmin and lexmax matrices and determine from this the minimum fixed rows.
- Parameters
-
scip SCIP data structure conshdlr constraint handler of the corresponding constraint cons constraint that inferred the bound change inferinfo inference information 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 565 of file cons_orbitope_full.c.
References FALSE, findLexMaxFace(), findLexMinFace(), MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPaddConflictBinvar(), SCIPallocBufferArray, SCIPconsGetData(), SCIPfreeBufferArray, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), and TRUE.
Referenced by SCIP_DECL_CONSRESPROP().
◆ checkFullOrbitopeSolution()
|
static |
check full orbitope solution for feasibility
- Parameters
-
scip SCIP data structure cons constraint to process sol solution to be checked printreason whether reason for infeasibility should be printed feasible memory address to store whether solution is feasible
Definition at line 705 of file cons_orbitope_full.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcheckSolutionOrbisack(), SCIPconsGetData(), SCIPfreeBufferArray, and TRUE.
Referenced by SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSENFOPS().
◆ separateCoversOrbisack()
|
static |
separate orbisack cover inequalities
- Parameters
-
scip SCIP data structure cons constraint to process sol solution to separate (NULL for the LP solution) ngen pointer to store number of generated cuts infeasible pointer to store whether infeasibility has been detected
Definition at line 764 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddRow(), SCIPaddVarToRow(), SCIPallocBufferArray, SCIPcacheRowExtensions(), SCIPconsGetData(), SCIPcreateEmptyRowCons(), SCIPflushRowExtensions(), SCIPfreeBufferArray, SCIPgetSolVal(), SCIPinfinity(), SCIPisEfficacious(), SCIPprintRow(), SCIPreleaseRow(), and TRUE.
Referenced by separateConstraints().
◆ separateConstraints()
|
static |
separate or enforce constraints
- Parameters
-
scip SCIP data structure conshdlr constraint handler conss constraints to process nconss number of constraints nusefulconss number of useful (non-obsolete) constraints to process sol solution to separate (NULL for the LP solution) result pointer to store the result (should be initialized) enforce whether we enforce orbitope constraints
Definition at line 892 of file cons_orbitope_full.c.
References CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_SEPARATED, SCIPallowStrongDualReds(), SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, and separateCoversOrbisack().
Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
◆ checkRedundantCons()
|
static |
check whether all variables in an orbitope constraint are fixed
- Parameters
-
scip SCIP data structure cons constraint to be processed redundant pointer to store whether constraint is redundant (contains no active vars)
Definition at line 961 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_OKAY, SCIPconsGetData(), SCIPvarIsActive(), and TRUE.
Referenced by SCIP_DECL_CONSPRESOL().
◆ replaceAggregatedVarsOrbitopeFull()
|
static |
replace aggregated variables by active variables
- Parameters
-
scip SCIP data structure cons constraint to be processed
Definition at line 1007 of file cons_orbitope_full.c.
References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_UNUSED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPcaptureVar(), SCIPconsGetData(), SCIPgetBinvarRepresentative(), SCIPreleaseVar(), SCIPvarGetStatus(), and SCIPvarIsActive().
Referenced by SCIP_DECL_CONSEXITPRE().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 1064 of file cons_orbitope_full.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrOrbitopeFull(), and TRUE.
◆ SCIP_DECL_CONSFREE()
|
static |
frees constraint handler
Definition at line 1081 of file cons_orbitope_full.c.
References CONSHDLR_NAME, NULL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPfreeBlockMemory.
◆ SCIP_DECL_CONSDELETE()
|
static |
frees specific constraint data
Definition at line 1099 of file cons_orbitope_full.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().
◆ SCIP_DECL_CONSTRANS()
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 1111 of file cons_orbitope_full.c.
References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), and SCIPgetStage().
◆ SCIP_DECL_CONSSEPALP()
|
static |
separation method of constraint handler for LP solutions
Definition at line 1141 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), and separateConstraints().
◆ SCIP_DECL_CONSSEPASOL()
|
static |
separation method of constraint handler for arbitrary primal solutions
Definition at line 1165 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, and separateConstraints().
◆ SCIP_DECL_CONSENFOLP()
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 1183 of file cons_orbitope_full.c.
References NULL, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), separateConstraints(), and TRUE.
◆ SCIP_DECL_CONSENFORELAX()
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 1204 of file cons_orbitope_full.c.
References NULL, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, separateConstraints(), and TRUE.
◆ SCIP_DECL_CONSENFOPS()
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 1222 of file cons_orbitope_full.c.
References checkFullOrbitopeSolution(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), and SCIPconshdlrGetName().
◆ SCIP_DECL_CONSCHECK()
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 1262 of file cons_orbitope_full.c.
References checkFullOrbitopeSolution(), CONSHDLR_NAME, NULL, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
◆ SCIP_DECL_CONSPROP()
|
static |
domain propagation method of constraint handler
Definition at line 1308 of file cons_orbitope_full.c.
References CONSHDLR_NAME, FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetName(), SCIPconshdlrGetName(), and SCIPdebugMsg.
◆ SCIP_DECL_CONSPRESOL()
|
static |
presolving method of constraint handler
Definition at line 1356 of file cons_orbitope_full.c.
References checkRedundantCons(), CONSHDLR_NAME, FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsActive(), SCIPdebugMsg, and SCIPdelCons().
◆ SCIP_DECL_CONSRESPROP()
|
static |
propagation conflict resolving method of constraint handler
Definition at line 1424 of file cons_orbitope_full.c.
References NULL, resolvePropagationFullOrbitope(), SCIP_CALL, and SCIP_OKAY.
◆ SCIP_DECL_CONSEXITPRE()
|
static |
presolving deinitialization method of constraint handler (called after presolving has been finished)
Definition at line 1440 of file cons_orbitope_full.c.
References CONSHDLR_NAME, NULL, replaceAggregatedVarsOrbitopeFull(), SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().
◆ SCIP_DECL_CONSLOCK()
|
static |
variable rounding lock method of constraint handler
Definition at line 1459 of file cons_orbitope_full.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddVarLocksType(), SCIPconsGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
◆ SCIP_DECL_CONSPRINT()
|
static |
constraint display method of constraint handler
Definition at line 1501 of file cons_orbitope_full.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.
◆ SCIP_DECL_CONSCOPY()
|
static |
constraint copying method of constraint handler
Definition at line 1548 of file cons_orbitope_full.c.
References CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPcreateConsOrbitopeFull(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetVarCopy(), separate(), and TRUE.
◆ SCIP_DECL_CONSPARSE()
|
static |
constraint parsing method of constraint handler
Definition at line 1630 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPcreateConsOrbitopeFull(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseVarName(), SCIPreallocBufferArray, SCIPskipSpace(), separate(), and TRUE.
◆ SCIP_DECL_CONSGETVARS()
|
static |
constraint method of constraint handler which returns the variables (if possible)
Definition at line 1757 of file cons_orbitope_full.c.
References FALSE, NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
◆ SCIP_DECL_CONSGETNVARS()
|
static |
constraint method of constraint handler which returns the number of variables (if possible)
Definition at line 1790 of file cons_orbitope_full.c.
References NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.