type_nlpi.h
Go to the documentation of this file.
28 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
44 typedef struct SCIP_NlpiProblem SCIP_NLPIPROBLEM; /**< locally defined NLP solver interface data for a specific problem instance */
50 SCIP_NLPPARAM_FASTFAIL_CONSERVATIVE = 1, /**< stop if it seems unlikely that an improving point can be found */
60 SCIP_Real feastol; /**< feasibility tolerance (maximal allowed absolute violation of constraints and variable bounds) */
61 SCIP_Real opttol; /**< optimality tolerance (maximal allowed absolute violation of optimality conditions) */
62 SCIP_Real solvertol; /**< solver-specific tolerance on accuracy, e.g., maximal violation of feasibility and optimality in scaled problem (0.0: use solver default) */
63 SCIP_Real timelimit; /**< time limit in seconds: use SCIP_REAL_MAX to use remaining time available for SCIP solve (limits/time - currenttime) */
65 unsigned short verblevel; /**< verbosity level of output of NLP solver to the screen: 0 off, 1 normal, 2 debug, > 2 more debug */
66 SCIP_NLPPARAM_FASTFAIL fastfail; /**< whether the NLP solver should stop early if convergence is slow */
68 SCIP_Bool warmstart; /**< whether to try to use solution of previous solve as starting point (if available) */
69 const char* caller; /**< name of file from which NLP is solved (it's fine to set this to NULL) */
120 /** default NLP parameters with static initialization; required for SCIPsolveNlpi macro with ancient MSVC */
122 SCIP_REAL_MIN, SCIP_DEFAULT_FEASTOL, SCIP_DEFAULT_DUALFEASTOL, 0.0, SCIP_REAL_MAX, INT_MAX, SCIP_NLPPARAM_DEFAULT_VERBLEVEL, SCIP_NLPPARAM_FASTFAIL_CONSERVATIVE, FALSE, FALSE, __FILE__
145 (param).lobjlimit, (param).feastol, (param).opttol, (param).solvertol, (param).timelimit, (param).iterlimit, \
146 (param).verblevel, (param).fastfail, (param).expectinfeas, (param).warmstart, (param).caller != NULL ? (param).caller : "unknown"
168 SCIP_NLPTERMSTAT_INTERRUPT = 4, /**< SCIP has been asked to stop (SCIPinterruptSolve() called) */
174 #if defined(GCC_VERSION) && GCC_VERSION >= 600 && !defined(__INTEL_COMPILER) /* _attribute__ ((deprecated)) within enums not allowed for older GCCs; ICC ignores attributes */
191 SCIP_Real totaltime; /**< total time in CPU sections the NLP solver spend in the last solve command */
192 SCIP_Real evaltime; /**< time spend in evaluation of functions and their derivatives (only measured if timing/nlpieval = TRUE) */
194 SCIP_Real consviol; /**< maximal absolute constraint violation in current solution, or SCIP_INVALID if not available */
195 SCIP_Real boundviol; /**< maximal absolute variable bound violation in current solution, or SCIP_INVALID if not available */
305 * \param[in] nlininds number of linear coefficients for each constraint; may be NULL in case of no linear part
306 * \param[in] lininds indices of variables for linear coefficients for each constraint; may be NULL in case of no linear part
307 * \param[in] linvals values of linear coefficient for each constraint; may be NULL in case of no linear part
308 * \param[in] exprs expressions for nonlinear part of constraints; may be NULL or entries may be NULL when no nonlinear parts
332 * \param[in] expr expression for nonlinear part of objective function; may be NULL in case of no nonlinear part
388 * \param[in,out] dstats deletion status of vars on input (1 if var should be deleted, 0 if not); new position of var on output, -1 if var was deleted
403 * \param[in,out] dstats deletion status of constraints on input (1 if constraint should be deleted, 0 if not); new position of constraint on output, -1 if constraint was deleted
438 * \param[in] expr new expression for constraint or objective, or NULL to only remove previous tree
468 * \param[in] consdualvalues initial dual values for constraints, or NULL to clear previous values
469 * \param[in] varlbdualvalues initial dual values for variable lower bounds, or NULL to clear previous values
470 * \param[in] varubdualvalues initial dual values for variable upper bounds, or NULL to clear previous values
523 * but if solver provides dual values for one side of variable bounds, then it must also provide those for the other side.
525 * For a ranged constraint, the dual variable is positive if the right hand side is active and negative if the left hand side is active.
530 * \param[out] primalvalues buffer to store pointer to array to primal values, or NULL if not needed
531 * \param[out] consdualvalues buffer to store pointer to array to dual values of constraints, or NULL if not needed
532 * \param[out] varlbdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
533 * \param[out] varubdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
Definition: type_nlpi.h:155
Definition: type_nlpi.h:51
Definition: type_nlpi.h:154
type definitions for NLP management
Definition: type_nlpi.h:156
Definition: type_nlpi.h:173
Definition: type_nlpi.h:172
Definition: type_nlpi.h:157
Definition: type_nlpi.h:153
Definition: type_nlpi.h:188
Definition: type_nlpi.h:169
type definitions for SCIP's main datastructure
Definition: type_nlpi.h:49
Definition: type_nlpi.h:170
Definition: type_nlpi.h:167
Definition: type_nlpi.h:171
Definition: type_nlpi.h:168
Definition: type_nlpi.h:164
Definition: type_nlpi.h:151
type and macro definitions related to algebraic expressions
Definition: type_nlpi.h:152
Definition: type_nlpi.h:165
common defines and data types used in all packages of SCIP
Definition: type_nlpi.h:166
Definition: nlpi_all.c:45
Definition: type_nlpi.h:57
Definition: struct_nlpi.h:37