SCIP Doxygen Documentation
Loading...
Searching...
No Matches

Detailed Description

constraint handler for full orbitope constraints w.r.t. the full symmetric group

Author
Timo Berthold
Marc Pfetsch
Christopher Hojny

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 94 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()

SCIP_RETCODE consdataFree ( SCIP * scip,
SCIP_CONSDATA ** consdata )
static

frees an orbitope constraint data

Parameters
scipSCIP data structure
consdatapointer to orbitope constraint data

Definition at line 133 of file cons_orbitope_full.c.

References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, and SCIPreleaseVar().

Referenced by SCIP_DECL_CONSDELETE().

◆ consdataCreate()

SCIP_RETCODE consdataCreate ( SCIP * scip,
SCIP_CONSDATA ** consdata,
SCIP_VAR *** vars,
int nrows,
int ncols,
SCIP_Bool resolveprop,
SCIP_Bool ismodelcons )
static

creates orbitope constraint data

Parameters
scipSCIP data structure
consdatapointer to store constraint data
varsvariables array, must have size nrows x ncols
nrowsnumber of rows
ncolsnumber of columns
resolvepropshould propagation be resolved?
ismodelconswhether the orbitope is a model constraint

Definition at line 170 of file cons_orbitope_full.c.

References assert(), i, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPgetTransformedVar(), SCIPisTransformed(), SCIPmarkDoNotMultaggrVar(), and vars.

Referenced by SCIP_DECL_CONSTRANS(), and SCIPcreateConsOrbitopeFull().

◆ findLexMinFace()

SCIP_RETCODE findLexMinFace ( SCIP_VAR *** vars,
int ** lexminfixes,
int * minfixedrowlexmin,
SCIP_Bool * infeasible,
int nrows,
int ncols,
SCIP_Bool resprop )
static

Compute lexicographically minimal face of the hypercube w.r.t. some coordinate fixing

Parameters
varsvariable matrix
lexminfixesfixings characterzing lex-min face
minfixedrowlexminindex of minimum fixed row for each column or NULL (if in prop)
infeasiblepointer to store whether infeasibility has been detected or NULL (if in resprop)
nrowsnumber of rows in vars
ncolsnumber of columns in vars
respropwhether we are in resprop (TRUE) or prop (FALSE)

Definition at line 231 of file cons_orbitope_full.c.

References assert(), FALSE, i, NULL, SCIP_Bool, SCIP_OKAY, TRUE, and vars.

Referenced by propagateCons(), and resolvePropagationFullOrbitope().

◆ findLexMaxFace()

SCIP_RETCODE findLexMaxFace ( SCIP_VAR *** vars,
int ** lexmaxfixes,
int * minfixedrowlexmax,
SCIP_Bool * infeasible,
int nrows,
int ncols,
SCIP_Bool resprop )
static

Compute lexicographically maximal face of the hypercube w.r.t. some coordinate fixing

Parameters
varsvariable matrix
lexmaxfixesfixings characterzing lex-max face
minfixedrowlexmaxindex of minimum fixed row for each column or NULL (if in prop)
infeasiblepointer to store whether infeasibility has been detected or NULL (if in resprop)
nrowsnumber of rows in vars
ncolsnumber of columns in vars
respropwhether we are in resprop (TRUE) or prop (FALSE)

Definition at line 328 of file cons_orbitope_full.c.

References assert(), FALSE, i, NULL, SCIP_Bool, SCIP_OKAY, TRUE, and vars.

Referenced by propagateCons(), and resolvePropagationFullOrbitope().

◆ propagateCons()

SCIP_RETCODE propagateCons ( SCIP * scip,
SCIP_CONS * cons,
SCIP_Bool * infeasible,
int * nfixedvars )
static

propagation method for a single full orbitope constraint

Parameters
scipSCIP data structure
consconstraint to be processed
infeasiblepointer to store TRUE, if the node can be cut off
nfixedvarspointer to add up the number of found domain reductions

Definition at line 422 of file cons_orbitope_full.c.

References assert(), FALSE, findLexMaxFace(), findLexMinFace(), i, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPallowStrongDualReds(), SCIPconsGetData(), SCIPfreeBufferArray, SCIPinferBinvarCons(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), TRUE, and vars.

Referenced by SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().

◆ resolvePropagationFullOrbitope()

SCIP_RETCODE resolvePropagationFullOrbitope ( SCIP * scip,
SCIP_CONSHDLR * conshdlr,
SCIP_CONS * cons,
int inferinfo,
SCIP_BDCHGIDX * bdchgidx,
SCIP_RESULT * result )
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
scipSCIP data structure
conshdlrconstraint handler of the corresponding constraint
consconstraint that inferred the bound change
inferinfoinference information
bdchgidxbound change index (time stamp of bound change), or NULL for current time
resultpointer to store the result of the propagation conflict resolving call

Definition at line 565 of file cons_orbitope_full.c.

References assert(), FALSE, findLexMaxFace(), findLexMinFace(), i, MAX, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPaddConflictBinvar(), SCIPallocBufferArray, SCIPconsGetData(), SCIPfreeBufferArray, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), TRUE, and vars.

Referenced by SCIP_DECL_CONSRESPROP().

◆ checkFullOrbitopeSolution()

SCIP_RETCODE checkFullOrbitopeSolution ( SCIP * scip,
SCIP_CONS * cons,
SCIP_SOL * sol,
SCIP_Bool printreason,
SCIP_Bool * feasible )
static

check full orbitope solution for feasibility

Parameters
scipSCIP data structure
consconstraint to process
solsolution to be checked
printreasonwhether reason for infeasibility should be printed
feasiblememory address to store whether solution is feasible

Definition at line 705 of file cons_orbitope_full.c.

References assert(), i, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcheckSolutionOrbisack(), SCIPconsGetData(), SCIPfreeBufferArray, sol, TRUE, and vars.

Referenced by SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSENFOPS().

◆ separateCoversOrbisack()

SCIP_RETCODE separateCoversOrbisack ( SCIP * scip,
SCIP_CONS * cons,
SCIP_SOL * sol,
int * ngen,
SCIP_Bool * infeasible )
static

separate orbisack cover inequalities

Parameters
scipSCIP data structure
consconstraint to process
solsolution to separate (NULL for the LP solution)
ngenpointer to store number of generated cuts
infeasiblepointer to store whether infeasibility has been detected

Definition at line 764 of file cons_orbitope_full.c.

References assert(), FALSE, i, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddRow(), SCIPaddVarToRow(), SCIPallocBufferArray, SCIPcacheRowExtensions(), SCIPconsGetData(), SCIPcreateEmptyRowCons(), SCIPflushRowExtensions(), SCIPfreeBufferArray, SCIPgetSolVal(), SCIPinfinity(), SCIPisEfficacious(), SCIPprintRow(), SCIPreleaseRow(), sol, TRUE, and vars.

Referenced by separateConstraints().

◆ separateConstraints()

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

separate or enforce constraints

Parameters
scipSCIP data structure
conshdlrconstraint handler
conssconstraints to process
nconssnumber of constraints
nusefulconssnumber of useful (non-obsolete) constraints to process
solsolution to separate (NULL for the LP solution)
resultpointer to store the result (should be initialized)
enforcewhether we enforce orbitope constraints

Definition at line 892 of file cons_orbitope_full.c.

References assert(), c, CONSHDLR_NAME, FALSE, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_SEPARATED, SCIPallowStrongDualReds(), SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, separateCoversOrbisack(), and sol.

Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().

◆ checkRedundantCons()

SCIP_RETCODE checkRedundantCons ( SCIP * scip,
SCIP_CONS * cons,
SCIP_Bool * redundant )
static

check whether all variables in an orbitope constraint are fixed

Parameters
scipSCIP data structure
consconstraint to be processed
redundantpointer to store whether constraint is redundant (contains no active vars)

Definition at line 961 of file cons_orbitope_full.c.

References assert(), FALSE, i, NULL, SCIP_Bool, SCIP_OKAY, SCIPconsGetData(), SCIPvarIsActive(), TRUE, and vars.

Referenced by SCIP_DECL_CONSPRESOL().

◆ replaceAggregatedVarsOrbitopeFull()

SCIP_RETCODE replaceAggregatedVarsOrbitopeFull ( SCIP * scip,
SCIP_CONS * cons )
static

replace aggregated variables by active variables

Parameters
scipSCIP data structure
consconstraint to be processed

Definition at line 1007 of file cons_orbitope_full.c.

References assert(), i, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_UNUSED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPcaptureVar(), SCIPconsGetData(), SCIPgetBinvarRepresentative(), SCIPreleaseVar(), SCIPvarGetStatus(), SCIPvarIsActive(), var, and vars.

Referenced by SCIP_DECL_CONSEXITPRE().

◆ SCIP_DECL_CONSHDLRCOPY()

SCIP_DECL_CONSHDLRCOPY ( conshdlrCopyOrbitopeFull )
static

copy method for constraint handler plugins (called when SCIP copies plugins)

Definition at line 1064 of file cons_orbitope_full.c.

References assert(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrOrbitopeFull(), TRUE, and valid.

◆ SCIP_DECL_CONSFREE()

SCIP_DECL_CONSFREE ( consFreeOrbitopeFull )
static

frees constraint handler

Definition at line 1081 of file cons_orbitope_full.c.

References assert(), CONSHDLR_NAME, NULL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPfreeBlockMemory.

◆ SCIP_DECL_CONSDELETE()

SCIP_DECL_CONSDELETE ( consDeleteOrbitopeFull )
static

frees specific constraint data

Definition at line 1099 of file cons_orbitope_full.c.

References assert(), consdataFree(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().

◆ SCIP_DECL_CONSTRANS()

◆ SCIP_DECL_CONSSEPALP()

SCIP_DECL_CONSSEPALP ( consSepalpOrbitopeFull )
static

separation method of constraint handler for LP solutions

Definition at line 1141 of file cons_orbitope_full.c.

References assert(), FALSE, NULL, result, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), and separateConstraints().

◆ SCIP_DECL_CONSSEPASOL()

SCIP_DECL_CONSSEPASOL ( consSepasolOrbitopeFull )
static

separation method of constraint handler for arbitrary primal solutions

Definition at line 1165 of file cons_orbitope_full.c.

References assert(), FALSE, NULL, result, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, separateConstraints(), and sol.

◆ SCIP_DECL_CONSENFOLP()

SCIP_DECL_CONSENFOLP ( consEnfolpOrbitopeFull )
static

constraint enforcing method of constraint handler for LP solutions

Definition at line 1183 of file cons_orbitope_full.c.

References assert(), NULL, result, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNLPBranchCands(), separateConstraints(), and TRUE.

◆ SCIP_DECL_CONSENFORELAX()

SCIP_DECL_CONSENFORELAX ( consEnforelaxOrbitopeFull )
static

constraint enforcing method of constraint handler for relaxation solutions

Definition at line 1204 of file cons_orbitope_full.c.

References assert(), NULL, result, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIPconshdlrGetName(), SCIPdebugMsg, separateConstraints(), sol, and TRUE.

◆ SCIP_DECL_CONSENFOPS()

SCIP_DECL_CONSENFOPS ( consEnfopsOrbitopeFull )
static

constraint enforcing method of constraint handler for pseudo solutions

Definition at line 1222 of file cons_orbitope_full.c.

References assert(), c, checkFullOrbitopeSolution(), CONSHDLR_NAME, FALSE, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), and SCIPconshdlrGetName().

◆ SCIP_DECL_CONSCHECK()

SCIP_DECL_CONSCHECK ( consCheckOrbitopeFull )
static

feasibility check method of constraint handler for integral solutions

Definition at line 1262 of file cons_orbitope_full.c.

References assert(), c, checkFullOrbitopeSolution(), CONSHDLR_NAME, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, and sol.

◆ SCIP_DECL_CONSPROP()

SCIP_DECL_CONSPROP ( consPropOrbitopeFull )
static

◆ SCIP_DECL_CONSPRESOL()

SCIP_DECL_CONSPRESOL ( consPresolOrbitopeFull )
static

◆ SCIP_DECL_CONSRESPROP()

SCIP_DECL_CONSRESPROP ( consRespropOrbitopeFull )
static

propagation conflict resolving method of constraint handler

Definition at line 1424 of file cons_orbitope_full.c.

References assert(), NULL, resolvePropagationFullOrbitope(), result, SCIP_CALL, and SCIP_OKAY.

◆ SCIP_DECL_CONSEXITPRE()

SCIP_DECL_CONSEXITPRE ( consExitpreOrbitopeFull )
static

presolving deinitialization method of constraint handler (called after presolving has been finished)

Definition at line 1440 of file cons_orbitope_full.c.

References assert(), c, CONSHDLR_NAME, NULL, replaceAggregatedVarsOrbitopeFull(), SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().

◆ SCIP_DECL_CONSLOCK()

SCIP_DECL_CONSLOCK ( consLockOrbitopeFull )
static

variable rounding lock method of constraint handler

Definition at line 1459 of file cons_orbitope_full.c.

References assert(), CONSHDLR_NAME, i, NULL, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddVarLocksType(), SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, and vars.

◆ SCIP_DECL_CONSPRINT()

SCIP_DECL_CONSPRINT ( consPrintOrbitopeFull )
static

constraint display method of constraint handler

Definition at line 1501 of file cons_orbitope_full.c.

References assert(), CONSHDLR_NAME, i, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPinfoMessage(), SCIPwriteVarName(), TRUE, and vars.

◆ SCIP_DECL_CONSCOPY()

SCIP_DECL_CONSCOPY ( consCopyOrbitopeFull )
static

◆ SCIP_DECL_CONSPARSE()

SCIP_DECL_CONSPARSE ( consParseOrbitopeFull )
static

◆ SCIP_DECL_CONSGETVARS()

SCIP_DECL_CONSGETVARS ( consGetVarsOrbitopeFull )
static

constraint method of constraint handler which returns the variables (if possible)

Definition at line 1757 of file cons_orbitope_full.c.

References assert(), FALSE, i, NULL, SCIP_OKAY, SCIPconsGetData(), TRUE, and vars.

◆ SCIP_DECL_CONSGETNVARS()

SCIP_DECL_CONSGETNVARS ( consGetNVarsOrbitopeFull )
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 assert(), NULL, nvars, SCIP_OKAY, SCIPconsGetData(), and TRUE.