constraint handler for (partitioning/packing) orbitope constraints w.r.t. the full symmetric group
The type of constraints of this constraint handler is described in cons_orbitope.h.
The details of the method implemented here are described in the following papers.
Packing and Partitioning Orbitopes
Volker Kaibel and Marc E. Pfetsch,
Math. Program. 114, No. 1, 1-36 (2008)
Among other things, this paper describes so-called shifted column inequalities of the following form \(x(S) \leq x(B)\), where \(S\) is a so-called shifted column and \(B\) is a so-called bar. These inequalities can be used to handle symmetry and they are separated in this constraint handler. We use the linear time separation algorithm of the paper.
Orbitopal Fixing
Volker Kaibel, Matthias Peinhardt, and Marc E. Pfetsch,
Discrete Optimization 8, No. 4, 595-610 (2011) (A preliminary version appears in Proc. IPCO 2007.)
In this paper a linear time propagation algorithm is described, a variant of which is implemented here. The implemented variant does not run in linear time, but is very fast in practice.
here | paper |
nspcons | p |
nblocks | q |
vars | x |
vals | A^\star |
weights | \omega |
cases | \tau |
fixtriangle | – |
resolveprop | – |
firstnonzeros | \mu |
lastones | \alpha |
frontiersteps | \Gamma |
Definition in file cons_orbitope.c.
Go to the source code of this file.
Macros | |
#define | CONSHDLR_NAME "orbitope" |
#define | CONSHDLR_DESC "symmetry breaking constraint handler relying on (partitioning/packing) orbitopes" |
#define | CONSHDLR_SEPAPRIORITY +40100 |
#define | CONSHDLR_ENFOPRIORITY -1005200 |
#define | CONSHDLR_CHECKPRIORITY -1005200 |
#define | CONSHDLR_SEPAFREQ 5 |
#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 |
Functions | |
static SCIP_RETCODE | consdataFree (SCIP *scip, SCIP_CONSDATA **consdata) |
static SCIP_RETCODE | consdataCreate (SCIP *scip, SCIP_CONSDATA **consdata, SCIP_VAR ***vars, int nspcons, int nblocks, SCIP_Bool ispart, SCIP_Bool resolveprop) |
static void | copyValues (SCIP *scip, SCIP_CONSDATA *consdata, SCIP_SOL *sol) |
static void | computeSCTable (SCIP *scip, int nspcons, int nblocks, SCIP_Real **weights, int **cases, SCIP_Real **vals) |
static SCIP_RETCODE | fixTriangle (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *infeasible, int *nfixedvars) |
static SCIP_RETCODE | separateSCIs (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons, SCIP_CONSDATA *consdata, SCIP_Bool *infeasible, int *nfixedvars, int *ncuts) |
static SCIP_RETCODE | propagateCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *infeasible, int *nfixedvars) |
static SCIP_RETCODE | resolvePropagation (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_RESULT *result) |
static SCIP_RETCODE | separateConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS **conss, int nconss, int nusefulconss, SCIP_SOL *sol, SCIP_RESULT *result) |
static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyOrbitope) |
static | SCIP_DECL_CONSDELETE (consDeleteOrbitope) |
static | SCIP_DECL_CONSTRANS (consTransOrbitope) |
static | SCIP_DECL_CONSSEPALP (consSepalpOrbitope) |
static | SCIP_DECL_CONSSEPASOL (consSepasolOrbitope) |
static | SCIP_DECL_CONSENFOLP (consEnfolpOrbitope) |
static | SCIP_DECL_CONSENFORELAX (consEnforelaxOrbitope) |
static | SCIP_DECL_CONSENFOPS (consEnfopsOrbitope) |
static | SCIP_DECL_CONSCHECK (consCheckOrbitope) |
static | SCIP_DECL_CONSPROP (consPropOrbitope) |
static | SCIP_DECL_CONSPRESOL (consPresolOrbitope) |
static | SCIP_DECL_CONSRESPROP (consRespropOrbitope) |
static | SCIP_DECL_CONSLOCK (consLockOrbitope) |
static | SCIP_DECL_CONSPRINT (consPrintOrbitope) |
static | SCIP_DECL_CONSCOPY (consCopyOrbitope) |
static | SCIP_DECL_CONSPARSE (consParseOrbitope) |
static | SCIP_DECL_CONSGETVARS (consGetVarsOrbitope) |
static | SCIP_DECL_CONSGETNVARS (consGetNVarsOrbitope) |
SCIP_RETCODE | SCIPincludeConshdlrOrbitope (SCIP *scip) |
SCIP_RETCODE | SCIPcreateConsOrbitope (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, SCIP_Bool ispart, int nspcons, int nblocks, SCIP_Bool resolveprop, 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 | SCIPcreateConsBasicOrbitope (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, SCIP_Bool ispart, int nspcons, int nblocks, SCIP_Bool resolveprop) |
#define CONSHDLR_NAME "orbitope" |
Definition at line 69 of file cons_orbitope.c.
Referenced by SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSTRANS(), SCIPcreateConsOrbitope(), SCIPincludeConshdlrOrbitope(), and separateConstraints().
#define CONSHDLR_DESC "symmetry breaking constraint handler relying on (partitioning/packing) orbitopes" |
Definition at line 70 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_SEPAPRIORITY +40100 |
priority of the constraint handler for separation
Definition at line 71 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_ENFOPRIORITY -1005200 |
priority of the constraint handler for constraint enforcing
Definition at line 72 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_CHECKPRIORITY -1005200 |
priority of the constraint handler for checking feasibility
Definition at line 73 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_SEPAFREQ 5 |
frequency for separating cuts; zero means to separate only in the root node
Definition at line 74 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_PROPFREQ -1 |
frequency for propagating domains; zero means only preprocessing propagation
Definition at line 75 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#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 76 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_MAXPREROUNDS -1 |
maximal number of presolving rounds the constraint handler participates in (-1: no limit)
Definition at line 79 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_DELAYSEPA FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 80 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_DELAYPROP FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 81 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_NEEDSCONS TRUE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 82 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_PROP_TIMING SCIP_PROPTIMING_BEFORELP |
propagation timing mask of the constraint handler
Definition at line 84 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
#define CONSHDLR_PRESOLTIMING SCIP_PRESOLTIMING_MEDIUM |
presolving timing of the constraint handler (fast, medium, or exhaustive)
Definition at line 85 of file cons_orbitope.c.
Referenced by SCIPincludeConshdlrOrbitope().
|
static |
frees an orbitope constraint data
scip | SCIP data structure |
consdata | pointer to orbitope constraint data |
Definition at line 115 of file cons_orbitope.c.
References consdataCreate(), NULL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
Referenced by SCIP_DECL_CONSDELETE().
|
static |
creates orbitope constraint data
scip | SCIP data structure |
consdata | pointer to store constraint data |
vars | variables array, must have size nspcons x nblocks |
nspcons | number of set partitioning (packing) constraints <=> p |
nblocks | number of symmetric variable blocks <=> q |
ispart | deal with the partitioning case (packing otherwise) |
resolveprop | should propagation be resolved? |
Definition at line 153 of file cons_orbitope.c.
References copyValues(), FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIPABORT, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPduplicateBlockMemoryArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetTransformedVar(), SCIPinfoMessage(), SCIPisTransformed(), SCIPmarkDoNotMultaggrVar(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by consdataFree(), SCIP_DECL_CONSTRANS(), and SCIPcreateConsOrbitope().
|
static |
copies the variables values from the solution to the constraint data structure
scip | the SCIP data structure |
consdata | the constraint data |
sol | a primal solution or NULL for the current LP optimum |
Definition at line 358 of file cons_orbitope.c.
References computeSCTable(), NULL, and SCIPgetSolVal().
Referenced by consdataCreate(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOPS(), and separateConstraints().
|
static |
compute the dynamic programming table for SC
Build up dynamic programming table in order to find SCs with minimum weight.
The values of the minimal SCIs are stored in weights. The array cases[i][j] stores which of the cases were applied to get weights[i][j]. Here, 3 means that we have reached the upper limit.
We assume that the upper right triangle is fixed to 0. Hence we can perform the computation a bit more efficient.
scip | SCIP pointer |
nspcons | number of set partitioning (packing) constraints <=> p |
nblocks | number of symmetric variable blocks <=> q |
weights | SC weight table |
cases | indicator of the SC cases |
vals | current solution |
Definition at line 394 of file cons_orbitope.c.
References fixTriangle(), NULL, SCIP_Real, and SCIPisLT().
Referenced by copyValues(), resolvePropagation(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOPS(), and separateSCIs().
|
static |
fix upper right triangle if necessary
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 489 of file cons_orbitope.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMsg, SCIPfixVar(), SCIPvarGetUbGlobal(), separateSCIs(), and TRUE.
Referenced by computeSCTable(), propagateCons(), SCIP_DECL_CONSENFOPS(), and separateSCIs().
|
static |
separates shifted column inequalities according to the solution stored in consdata->vals
scip | the SCIP data structure |
conshdlr | constraint handler |
cons | constraint |
consdata | the constraint data |
infeasible | whether we detected infeasibility |
nfixedvars | pointer to store the number of variables fixed |
ncuts | pointer to store number of separated SCIs |
Definition at line 572 of file cons_orbitope.c.
References computeSCTable(), FALSE, fixTriangle(), NULL, propagateCons(), SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPaddVarsToRow(), SCIPcreateEmptyRowCons(), SCIPinfinity(), SCIPisEfficacious(), SCIPisSumEQ(), SCIPreleaseRow(), SCIPsnprintf(), and TRUE.
Referenced by fixTriangle(), and separateConstraints().
|
static |
propagation method for a single orbitope constraint
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 732 of file cons_orbitope.c.
References FALSE, fixTriangle(), NULL, resolvePropagation(), SCIP_Bool, SCIP_CALL, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPallocBufferArray, SCIPallowDualReds(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetStage(), SCIPinferBinvarCons(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), and separateSCIs().
|
static |
Propagation conflict resolving method of propagator
In this function we use that the propagation method above implicitly propagates SCIs, i.e., every fixing can also be gotten via an SCI-fixing.
Since the storage of an integer is not enough to store the complete information about the fixing nor a complete shifted column, we have to use the linear time algorithm for SCIs.
The inferinfo integer is set as follows:
scip | SCIP data structure |
cons | constraint that inferred the bound change |
infervar | variable that was deduced |
inferinfo | inference information |
boundtype | the type of the changed bound (lower or upper bound) |
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 1104 of file cons_orbitope.c.
References computeSCTable(), FALSE, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPconsGetData(), SCIPdebugMsg, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPsnprintf(), and separateConstraints().
Referenced by propagateCons(), and SCIP_DECL_CONSRESPROP().
|
static |
separate or enforce constraints
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) |
Definition at line 1380 of file cons_orbitope.c.
References CONSHDLR_NAME, copyValues(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSHDLRCOPY(), SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, and separateSCIs().
Referenced by resolvePropagation(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 1455 of file cons_orbitope.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrOrbitope(), and TRUE.
Referenced by separateConstraints().
|
static |
frees specific constraint data
Definition at line 1471 of file cons_orbitope.c.
References consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetName().
Referenced by SCIP_DECL_CONSHDLRCOPY().
|
static |
transforms constraint data into data belonging to the transformed problem
Definition at line 1483 of file cons_orbitope.c.
References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSSEPALP(), 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().
|
static |
separation method of constraint handler for LP solutions
Definition at line 1513 of file cons_orbitope.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSSEPASOL(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), and separateConstraints().
Referenced by SCIP_DECL_CONSTRANS().
|
static |
separation method of constraint handler for arbitrary primal solutions
Definition at line 1536 of file cons_orbitope.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSENFOLP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, and separateConstraints().
Referenced by SCIP_DECL_CONSSEPALP().
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 1554 of file cons_orbitope.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSENFORELAX(), SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), and separateConstraints().
Referenced by SCIP_DECL_CONSSEPASOL().
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 1575 of file cons_orbitope.c.
References NULL, SCIP_CALL, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, and separateConstraints().
Referenced by SCIP_DECL_CONSENFOLP().
|
static |
constraint enforcing method of constraint handler for pseudo solutions
Definition at line 1593 of file cons_orbitope.c.
References computeSCTable(), CONSHDLR_NAME, copyValues(), FALSE, fixTriangle(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPisGT(), and SCIPisIntegral().
Referenced by SCIP_DECL_CONSENFORELAX().
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 1699 of file cons_orbitope.c.
References computeSCTable(), CONSHDLR_NAME, copyValues(), NULL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPinfoMessage(), SCIPisFeasIntegral(), SCIPisFeasZero(), SCIPisGT(), and SCIPvarGetName().
Referenced by SCIP_DECL_CONSENFOPS().
|
static |
domain propagation method of constraint handler
Definition at line 1853 of file cons_orbitope.c.
References CONSHDLR_NAME, FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSPRESOL(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetName(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by SCIP_DECL_CONSCHECK().
|
static |
presolving method of constraint handler
Definition at line 1899 of file cons_orbitope.c.
References CONSHDLR_NAME, FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSRESPROP(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPconsGetName(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by SCIP_DECL_CONSPROP().
|
static |
propagation conflict resolving method of constraint handler
Definition at line 1947 of file cons_orbitope.c.
References NULL, resolvePropagation(), SCIP_CALL, SCIP_DECL_CONSLOCK(), and SCIP_OKAY.
Referenced by SCIP_DECL_CONSPRESOL().
|
static |
variable rounding lock method of constraint handler
Definition at line 1963 of file cons_orbitope.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIPaddVarLocks(), SCIPconsGetData(), SCIPconshdlrGetName(), and SCIPdebugMsg.
Referenced by SCIP_DECL_CONSRESPROP().
|
static |
constraint display method of constraint handler
Definition at line 2002 of file cons_orbitope.c.
References CONSHDLR_NAME, NULL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPinfoMessage(), and SCIPvarGetName().
Referenced by SCIP_DECL_CONSLOCK().
|
static |
constraint copying method of constraint handler
Definition at line 2052 of file cons_orbitope.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSPARSE(), SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPcreateConsOrbitope(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetVarCopy(), and TRUE.
Referenced by SCIP_DECL_CONSPRINT().
|
static |
constraint parsing method of constraint handler
Definition at line 2122 of file cons_orbitope.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPcreateConsOrbitope(), SCIPfindVar(), SCIPfreeBufferArray, SCIPreallocBufferArray, SCIPverbMessage(), and TRUE.
Referenced by SCIP_DECL_CONSCOPY().
|
static |
constraint method of constraint handler which returns the variables (if possible)
Definition at line 2248 of file cons_orbitope.c.
References FALSE, NULL, SCIP_DECL_CONSGETNVARS(), SCIP_OKAY, SCIPconsGetData(), and TRUE.
Referenced by SCIP_DECL_CONSPARSE().
|
static |
constraint method of constraint handler which returns the number of variables (if possible)
Definition at line 2281 of file cons_orbitope.c.
References NULL, SCIP_OKAY, SCIPconsGetData(), SCIPincludeConshdlrOrbitope(), and TRUE.
Referenced by SCIP_DECL_CONSGETVARS().