public methods for nonlinear functions
- Author
- Tobias Achterberg
-
Timo Berthold
-
Gerald Gamrath
-
Robert Lion Gottwald
-
Stefan Heinz
-
Gregor Hendel
-
Thorsten Koch
-
Alexander Martin
-
Marc Pfetsch
-
Michael Winkler
-
Kati Wolter
Definition in file scip_nonlinear.c.
|
void | SCIPaddSquareLinearization (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real refpoint, SCIP_Bool isint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success) |
|
void | SCIPaddSquareSecant (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real lb, SCIP_Real ub, SCIP_Real refpoint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success) |
|
void | SCIPaddBilinLinearization (SCIP *scip, SCIP_Real bilincoef, SCIP_Real refpointx, SCIP_Real refpointy, SCIP_Real *lincoefx, SCIP_Real *lincoefy, SCIP_Real *linconstant, SCIP_Bool *success) |
|
void | SCIPaddBilinMcCormick (SCIP *scip, SCIP_Real bilincoef, SCIP_Real lbx, SCIP_Real ubx, SCIP_Real refpointx, SCIP_Real lby, SCIP_Real uby, SCIP_Real refpointy, SCIP_Bool overestimate, SCIP_Real *lincoefx, SCIP_Real *lincoefy, SCIP_Real *linconstant, SCIP_Bool *success) |
|
void | SCIPcomputeBilinEnvelope1 (SCIP *scip, SCIP_Real bilincoef, SCIP_Real lbx, SCIP_Real ubx, SCIP_Real refpointx, SCIP_Real lby, SCIP_Real uby, SCIP_Real refpointy, SCIP_Bool overestimate, SCIP_Real xcoef, SCIP_Real ycoef, SCIP_Real constant, SCIP_Real *RESTRICT lincoefx, SCIP_Real *RESTRICT lincoefy, SCIP_Real *RESTRICT linconstant, SCIP_Bool *RESTRICT success) |
|
static void | computeBilinEnvelope2 (SCIP *scip, SCIP_Real x, SCIP_Real y, SCIP_Real mi, SCIP_Real qi, SCIP_Real mj, SCIP_Real qj, SCIP_Real *RESTRICT xi, SCIP_Real *RESTRICT yi, SCIP_Real *RESTRICT xj, SCIP_Real *RESTRICT yj, SCIP_Real *RESTRICT xcoef, SCIP_Real *RESTRICT ycoef, SCIP_Real *RESTRICT constant) |
|
void | SCIPcomputeBilinEnvelope2 (SCIP *scip, SCIP_Real bilincoef, SCIP_Real lbx, SCIP_Real ubx, SCIP_Real refpointx, SCIP_Real lby, SCIP_Real uby, SCIP_Real refpointy, SCIP_Bool overestimate, SCIP_Real xcoef1, SCIP_Real ycoef1, SCIP_Real constant1, SCIP_Real xcoef2, SCIP_Real ycoef2, SCIP_Real constant2, SCIP_Real *RESTRICT lincoefx, SCIP_Real *RESTRICT lincoefy, SCIP_Real *RESTRICT linconstant, SCIP_Bool *RESTRICT success) |
|
SCIP_RETCODE | SCIPcreateNlpiProb (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLROW **nlrows, int nnlrows, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_Real *nlscore, SCIP_Real cutoffbound, SCIP_Bool setobj, SCIP_Bool onlyconvex) |
|
SCIP_RETCODE | SCIPupdateNlpiProb (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2nlpiidx, SCIP_VAR **nlpivars, int nlpinvars, SCIP_Real cutoffbound) |
|
SCIP_RETCODE | SCIPaddNlpiProbRows (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_ROW **rows, int nrows) |
|
static void computeBilinEnvelope2 |
( |
SCIP * |
scip, |
|
|
SCIP_Real |
x, |
|
|
SCIP_Real |
y, |
|
|
SCIP_Real |
mi, |
|
|
SCIP_Real |
qi, |
|
|
SCIP_Real |
mj, |
|
|
SCIP_Real |
qj, |
|
|
SCIP_Real *RESTRICT |
xi, |
|
|
SCIP_Real *RESTRICT |
yi, |
|
|
SCIP_Real *RESTRICT |
xj, |
|
|
SCIP_Real *RESTRICT |
yj, |
|
|
SCIP_Real *RESTRICT |
xcoef, |
|
|
SCIP_Real *RESTRICT |
ycoef, |
|
|
SCIP_Real *RESTRICT |
constant |
|
) |
| |
|
static |
helper function to compute the convex envelope of a bilinear term when two linear inequalities are given; we use the same notation and formulas as in Locatelli 2016
- Parameters
-
scip | SCIP data structure |
x | reference point for x |
y | reference point for y |
mi | coefficient of x in the first linear inequality |
qi | constant in the first linear inequality |
mj | coefficient of x in the second linear inequality |
qj | constant in the second linear inequality |
xi | buffer to store x coordinate of the first point |
yi | buffer to store y coordinate of the first point |
xj | buffer to store x coordinate of the second point |
yj | buffer to store y coordinate of the second point |
xcoef | buffer to store the x coefficient of the envelope |
ycoef | buffer to store the y coefficient of the envelope |
constant | buffer to store the constant of the envelope |
Definition at line 646 of file scip_nonlinear.c.
References EPSEQ, NULL, QUAD, QUAD_TO_DBL, REALABS, SCIP_Real, SCIPisEQ(), SCIPquadprecDivQD, SCIPquadprecDivQQ, SCIPquadprecProdDD, SCIPquadprecProdQD, SCIPquadprecSqrtQ, SCIPquadprecSquareQ, SCIPquadprecSumDD, SCIPquadprecSumQD, SCIPquadprecSumQQ, SQR, and SQRT.
Referenced by SCIPcomputeBilinEnvelope2().