struct_nlp.h File Reference Detailed Descriptiondatastructures for NLP management In SCIP, the NLP is defined as follows: min const + obj * x + <x, Qx> + f(x) lhs <= const + A * x <= rhs lhs <= const + A * x + <x, Qx> + f(x) <= rhs lb <= x <= ub where the linear rows and variable bounds are managed by the LP and the nonlinear rows are managed by the NLP. The row activities are defined as activity = A * x + const for a linear row and as activity = f(x) + <x, Qx> + A * x + const for a nonlinear row. The activities must therefore be in the range of [lhs,rhs]. The main datastructures for storing an NLP are the nonlinear rows. A nonlinear row can live on its own (if it was created by a separator), or as relaxation of a constraint. Thus, it has a nuses-counter, and is deleted, if not needed any more. In difference to columns of an LP, nonlinear rows are defined with respect SCIP variables. Definition in file struct_nlp.h. #include "scip/def.h" #include "scip/type_nlp.h" #include "scip/type_var.h" #include "nlpi/type_nlpi.h" #include "nlpi/type_expr.h" |