scip_nonlinear.h
Go to the documentation of this file.
29 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
59 SCIP_Bool isint, /**< whether corresponding variable is a discrete variable, and thus linearization could be moved */
62 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
75 SCIP_Bool* success /**< buffer to set to FALSE if secant has failed due to large numbers or unboundedness */
88 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
102 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
106 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
109 /** computes coefficients of linearization of a bilinear term in a reference point when given a linear inequality
112 * @note the formulas are extracted from "Convex envelopes of bivariate functions through the solution of KKT systems"
125 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
129 SCIP_Real* RESTRICT lincoefx, /**< buffer to store coefficient of first variable in linearization */
130 SCIP_Real* RESTRICT lincoefy, /**< buffer to store coefficient of second variable in linearization */
135 /** computes coefficients of linearization of a bilinear term in a reference point when given two linear inequality
138 * @note the formulas are extracted from "Convex envelopes of bivariate functions through the solution of KKT systems"
152 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
159 SCIP_Real* RESTRICT lincoefx, /**< buffer to store coefficient of first variable in linearization */
160 SCIP_Real* RESTRICT lincoefy, /**< buffer to store coefficient of second variable in linearization */
165 /** creates an NLP relaxation and stores it in a given NLPI problem; the function computes for each variable which the
168 * @note the first row corresponds always to the cutoff row (even if cutoffbound is SCIPinfinity(scip))
177 SCIP_HASHMAP* var2idx, /**< empty hash map to store mapping between variables and indices in nlpi
179 SCIP_HASHMAP* nlrow2idx, /**< empty hash map to store mapping between variables and indices in nlpi
206 SCIP_HASHMAP* var2idx, /**< empty hash map to store mapping between variables and indices in nlpi
type definitions for miscellaneous datastructures
Definition: struct_scip.h:59
type definitions for NLP management
Definition: struct_var.h:198
type definitions for return codes for SCIP methods
SCIP_EXPORT 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)
Definition: scip_nonlinear.c:427
SCIP_EXPORT void SCIPaddSquareLinearization(SCIP *scip, SCIP_Real sqrcoef, SCIP_Real refpoint, SCIP_Bool isint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success)
Definition: scip_nonlinear.c:53
type definitions for LP management
Definition: struct_misc.h:128
SCIP_EXPORT 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)
Definition: scip_nonlinear.c:171
SCIP_EXPORT 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 alpha1, SCIP_Real beta1, SCIP_Real gamma1, SCIP_Real alpha2, SCIP_Real beta2, SCIP_Real gamma2, SCIP_Real *RESTRICT lincoefx, SCIP_Real *RESTRICT lincoefy, SCIP_Real *RESTRICT linconstant, SCIP_Bool *RESTRICT success)
Definition: scip_nonlinear.c:826
type definitions for SCIP's main datastructure
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpiProb(SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLROW **nlrows, int nnlrows, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_HASHMAP *nlrow2idx, SCIP_Real *nlscore, SCIP_Real cutoffbound, SCIP_Bool setobj, SCIP_Bool onlyconvex)
Definition: scip_nonlinear.c:959
type definitions for problem variables
Definition: struct_lp.h:192
SCIP_EXPORT SCIP_RETCODE SCIPupdateNlpiProb(SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2nlpiidx, SCIP_VAR **nlpivars, int nlpinvars, SCIP_Real cutoffbound)
Definition: scip_nonlinear.c:1292
Definition: struct_nlp.h:63
common defines and data types used in all packages of SCIP
SCIP_EXPORT 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)
Definition: scip_nonlinear.c:218
Definition: objbenders.h:33
Definition: nlpi_all.c:50
SCIP_EXPORT 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)
Definition: scip_nonlinear.c:121
SCIP_EXPORT SCIP_RETCODE SCIPaddNlpiProbRows(SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_ROW **rows, int nrows)
Definition: scip_nonlinear.c:1344
type definitions for specific NLP solver interfaces
Definition: struct_nlpi.h:35