Scippy

    SCIP

    Solving Constraint Integer Programs

    cons_pseudoboolean.h File Reference

    Detailed Description

    constraint handler for pseudoboolean constraints

    Author
    Stefan Heinz
    Michael Winkler

    Definition in file cons_pseudoboolean.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.

    Macros

    #define ARTIFICIALVARNAMEPREFIX   "andresultant_"
     

    Functions

    SCIP_RETCODE SCIPincludeConshdlrPseudoboolean (SCIP *scip)
     

    Pseudoboolean Constraints

    The constraint handler deals with pseudo boolean constraints. These are constraints of the form

    \[ \mbox{lhs} \leq \sum_{k=0}^m c_k \cdot x_k + \sum_{i=0}^n c_i \cdot \prod_{j \in I_i} x_j \leq \mbox{rhs} \]

    where all \(x\) are binary.

    enum  SCIP_LinearConsType {
      SCIP_LINEARCONSTYPE_INVALIDCONS = -1 ,
      SCIP_LINEARCONSTYPE_LINEAR = 0 ,
      SCIP_LINEARCONSTYPE_LOGICOR = 1 ,
      SCIP_LINEARCONSTYPE_KNAPSACK = 2 ,
      SCIP_LINEARCONSTYPE_SETPPC = 3
    }
     
    typedef enum SCIP_LinearConsType SCIP_LINEARCONSTYPE
     
    SCIP_RETCODE SCIPcreateConsPseudobooleanWithConss (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_CONS *lincons, SCIP_LINEARCONSTYPE linconstype, SCIP_CONS **andconss, SCIP_Real *andcoefs, int nandconss, SCIP_VAR *indvar, SCIP_Real weight, SCIP_Bool issoftcons, SCIP_Real lhs, SCIP_Real rhs, 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 SCIPcreateConsPseudoboolean (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR **linvars, int nlinvars, SCIP_Real *linvals, SCIP_VAR ***terms, int nterms, int *ntermvars, SCIP_Real *termvals, SCIP_VAR *indvar, SCIP_Real weight, SCIP_Bool issoftcons, SCIP_Real lhs, SCIP_Real rhs, 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 SCIPcreateConsBasicPseudoboolean (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR **linvars, int nlinvars, SCIP_Real *linvals, SCIP_VAR ***terms, int nterms, int *ntermvars, SCIP_Real *termvals, SCIP_VAR *indvar, SCIP_Real weight, SCIP_Bool issoftcons, SCIP_Real lhs, SCIP_Real rhs)
     
    SCIP_RETCODE SCIPaddCoefPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_VAR *const var, SCIP_Real const val)
     
    SCIP_RETCODE SCIPaddTermPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_VAR **const vars, int const nvars, SCIP_Real const val)
     
    SCIP_VARSCIPgetIndVarPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    SCIP_CONSSCIPgetLinearConsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    SCIP_LINEARCONSTYPE SCIPgetLinearConsTypePseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    int SCIPgetNLinVarsWithoutAndPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    SCIP_RETCODE SCIPgetLinDatasWithoutAndPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_VAR **const linvars, SCIP_Real *const lincoefs, int *const nlinvars)
     
    SCIP_RETCODE SCIPgetAndDatasPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_CONS **const andconss, SCIP_Real *const andcoefs, int *const nandconss)
     
    int SCIPgetNAndsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    SCIP_RETCODE SCIPchgLhsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_Real const lhs)
     
    SCIP_RETCODE SCIPchgRhsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons, SCIP_Real const rhs)
     
    SCIP_Real SCIPgetLhsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     
    SCIP_Real SCIPgetRhsPseudoboolean (SCIP *const scip, SCIP_CONS *const cons)
     

    Macro Definition Documentation

    ◆ ARTIFICIALVARNAMEPREFIX

    #define ARTIFICIALVARNAMEPREFIX   "andresultant_"

    Definition at line 48 of file cons_pseudoboolean.h.