scip_nonlinear.h
Go to the documentation of this file.
29 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
78 SCIP_Bool isint, /**< whether corresponding variable is a discrete variable, and thus linearization could be moved */
81 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
94 SCIP_Bool* success /**< buffer to set to FALSE if secant has failed due to large numbers or unboundedness */
107 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
121 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
125 SCIP_Bool* success /**< buffer to set to FALSE if linearization has failed due to large numbers */
128 /** computes coefficients of linearization of a bilinear term in a reference point when given a linear inequality
131 * @note the formulas are extracted from "Convex envelopes of bivariate functions through the solution of KKT systems"
144 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
148 SCIP_Real* RESTRICT lincoefx, /**< buffer to store coefficient of first variable in linearization */
149 SCIP_Real* RESTRICT lincoefy, /**< buffer to store coefficient of second variable in linearization */
154 /** computes coefficients of linearization of a bilinear term in a reference point when given two linear inequality
157 * @note the formulas are extracted from "Convex envelopes of bivariate functions through the solution of KKT systems"
171 SCIP_Bool overestimate, /**< whether to compute an overestimator instead of an underestimator */
178 SCIP_Real* RESTRICT lincoefx, /**< buffer to store coefficient of first variable in linearization */
179 SCIP_Real* RESTRICT lincoefy, /**< buffer to store coefficient of second variable in linearization */
184 /** creates an NLP relaxation and stores it in a given NLPI problem; the function computes for each variable which the
187 * @note the first row corresponds always to the cutoff row (even if cutoffbound is SCIPinfinity(scip))
196 SCIP_HASHMAP* var2idx, /**< empty hash map to store mapping between variables and indices in nlpi
223 SCIP_HASHMAP* var2idx, /**< empty hash map to store mapping between variables and indices in nlpi
internal methods for branch and bound tree
type definitions for miscellaneous datastructures
Definition: struct_scip.h:58
type definitions for NLP management
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)
Definition: scip_nonlinear.c:874
Definition: struct_var.h:198
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:251
type definitions for return codes for SCIP methods
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:741
type definitions for LP management
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:507
Definition: struct_misc.h:121
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:298
type definitions for SCIP's main datastructure
SCIP_RETCODE SCIPaddNlpiProbRows(SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_ROW **rows, int nrows)
Definition: scip_nonlinear.c:1249
internal miscellaneous methods
internal methods for global SCIP settings
SCIP main data structure.
type definitions for problem variables
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:201
internal methods for problem variables
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:1197
Definition: struct_lp.h:192
methods for debugging
datastructures for problem statistics
internal methods for main solving loop and node processing
Definition: struct_nlp.h:63
internal methods for constraints and constraint handlers
common defines and data types used in all packages of SCIP
Definition: objbenders.h:33
Definition: nlpi_all.c:47
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:133
type definitions for specific NLP solver interfaces
Definition: struct_nlpi.h:35