Solving Constraint Integer Programs

cons_cardinality.h File Reference

Detailed Description

constraint handler for cardinality constraints

Tobias Fischer

Definition in file cons_cardinality.h.

#include "scip/def.h"
#include "scip/type_cons.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_var.h"

Go to the source code of this file.


SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCardinality (SCIP *scip)
Cardinality Constraints

This constraint handler handles cardinality constraints of the form

\[ |\mbox{supp}(x)| \leq b \]

with integer right-hand side \(b\). Here, \(|\mbox{supp}(x)|\) denotes the number of nonzero entries of the vector \(x\).

Cardinality constraints generalize special ordered set of type one (SOS1) constraints in which \(b = 1\).

SCIP_EXPORT SCIP_RETCODE SCIPcreateConsCardinality (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, int cardval, SCIP_VAR **indvars, SCIP_Real *weights, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
SCIP_EXPORT SCIP_RETCODE SCIPcreateConsBasicCardinality (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, int cardval, SCIP_VAR **indvars, SCIP_Real *weights)
SCIP_EXPORT SCIP_RETCODE SCIPchgCardvalCardinality (SCIP *scip, SCIP_CONS *cons, int cardval)
SCIP_EXPORT SCIP_RETCODE SCIPaddVarCardinality (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_VAR *indvar, SCIP_Real weight)
SCIP_EXPORT SCIP_RETCODE SCIPappendVarCardinality (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_VAR *indvar)
SCIP_EXPORT int SCIPgetNVarsCardinality (SCIP *scip, SCIP_CONS *cons)
SCIP_EXPORT SCIP_VAR ** SCIPgetVarsCardinality (SCIP *scip, SCIP_CONS *cons)
SCIP_EXPORT int SCIPgetCardvalCardinality (SCIP *scip, SCIP_CONS *cons)
SCIP_EXPORT SCIP_RealSCIPgetWeightsCardinality (SCIP *scip, SCIP_CONS *cons)