nlhdlr_soc.h
Go to the documentation of this file.
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
59 * This nonlinear handler detects second-order cone constraints in the extended formulation and provides specialized separation functionality.
64 /** checks whether constraint is SOC representable in original variables and returns the SOC representation
68 * where \f$n+1 = \text{nterms}\f$ and the inequality type is given by sidetype (`SCIP_SIDETYPE_RIGHT` if inequality
71 * For each term (i.e. for each \f$i\f$ in the above notation as well as \f$n+1\f$), the constant \f$\beta_i\f$ is given by the
72 * corresponding element `offsets[i-1]` and `termbegins[i-1]` is the starting position of the term in arrays
75 * Arrays `transcoefs` and `transcoefsidx` have size `termbegins[nterms]` and define the linear expressions \f$v_i^T x\f$
77 * `termbegins[i-1]...termbegins[i]` of `transcoefs` and `transcoefsidx`. There may be no nonzeroes for some term (i.e.,
78 * constant terms are possible). `transcoefs` contains the coefficients \f$v_i\f$ and `transcoefsidx` contains positions of
81 * The `vars` array has size `nvars` and contains \f$x\f$ variables; each variable is included at most once.
85 * This function uses the methods that are used in the detection algorithm of the SOC nonlinear handler.
91 SCIP_Bool compeigenvalues, /**< whether eigenvalues should be computed to detect complex cases */
Definition: struct_scip.h:69
Definition: struct_var.h:207
void SCIPfreeSOCArraysNonlinear(SCIP *scip, SCIP_VAR ***vars, SCIP_Real **offsets, SCIP_Real **transcoefs, int **transcoefsidx, int **termbegins, int nvars, int nterms)
Definition: nlhdlr_soc.c:3294
Definition: struct_cons.h:46
SCIP_RETCODE SCIPisSOCNonlinear(SCIP *scip, SCIP_CONS *cons, SCIP_Bool compeigenvalues, SCIP_Bool *success, SCIP_SIDETYPE *sidetype, SCIP_VAR ***vars, SCIP_Real **offsets, SCIP_Real **transcoefs, int **transcoefsidx, int **termbegins, int *nvars, int *nterms)
Definition: nlhdlr_soc.c:3204
Definition: objbenders.h:43
SCIP callable library.