type_nlpi.h
Go to the documentation of this file.
37 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
53 typedef struct SCIP_NlpiProblem SCIP_NLPIPROBLEM; /**< locally defined NLP solver interface data for a specific problem instance */
59 SCIP_NLPPARAM_FASTFAIL_CONSERVATIVE = 1, /**< stop if it seems unlikely that an improving point can be found */
69 SCIP_Real feastol; /**< feasibility tolerance (maximal allowed absolute violation of constraints and variable bounds) */
70 SCIP_Real opttol; /**< optimality tolerance (maximal allowed absolute violation of optimality conditions) */
71 SCIP_Real solvertol; /**< solver-specific tolerance on accuracy, e.g., maximal violation of feasibility and optimality in scaled problem (0.0: use solver default) */
72 SCIP_Real timelimit; /**< time limit in seconds: use SCIP_REAL_MAX to use remaining time available for SCIP solve (limits/time - currenttime) */
74 unsigned short verblevel; /**< verbosity level of output of NLP solver to the screen: 0 off, 1 normal, 2 debug, > 2 more debug */
75 SCIP_NLPPARAM_FASTFAIL fastfail; /**< whether the NLP solver should stop early if convergence is slow */
77 SCIP_Bool warmstart; /**< whether to try to use solution of previous solve as starting point (if available) */
78 const char* caller; /**< name of file from which NLP is solved (it's fine to set this to NULL) */
129 /** default NLP parameters with static initialization; required for SCIPsolveNlpi macro with ancient MSVC */
131 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__
154 (param).lobjlimit, (param).feastol, (param).opttol, (param).solvertol, (param).timelimit, (param).iterlimit, \
155 (param).verblevel, (param).fastfail, (param).expectinfeas, (param).warmstart, (param).caller != NULL ? (param).caller : "unknown"
177 SCIP_NLPTERMSTAT_INTERRUPT = 4, /**< SCIP has been asked to stop (SCIPinterruptSolve() called) */
183 #if defined(GCC_VERSION) && GCC_VERSION >= 600 && !defined(__INTEL_COMPILER) /* _attribute__ ((deprecated)) within enums not allowed for older GCCs; ICC ignores attributes */
200 SCIP_Real totaltime; /**< total time in CPU sections the NLP solver spend in the last solve command */
201 SCIP_Real evaltime; /**< time spend in evaluation of functions and their derivatives (only measured if timing/nlpieval = TRUE) */
203 SCIP_Real consviol; /**< maximal absolute constraint violation in current solution, or SCIP_INVALID if not available */
204 SCIP_Real boundviol; /**< maximal absolute variable bound violation in current solution, or SCIP_INVALID if not available */
314 * \param[in] nlininds number of linear coefficients for each constraint; may be NULL in case of no linear part
315 * \param[in] lininds indices of variables for linear coefficients for each constraint; may be NULL in case of no linear part
316 * \param[in] linvals values of linear coefficient for each constraint; may be NULL in case of no linear part
317 * \param[in] exprs expressions for nonlinear part of constraints; may be NULL or entries may be NULL when no nonlinear parts
341 * \param[in] expr expression for nonlinear part of objective function; may be NULL in case of no nonlinear part
397 * \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
412 * \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
447 * \param[in] expr new expression for constraint or objective, or NULL to only remove previous tree
477 * \param[in] consdualvalues initial dual values for constraints, or NULL to clear previous values
478 * \param[in] varlbdualvalues initial dual values for variable lower bounds, or NULL to clear previous values
479 * \param[in] varubdualvalues initial dual values for variable upper bounds, or NULL to clear previous values
532 * but if solver provides dual values for one side of variable bounds, then it must also provide those for the other side.
534 * 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.
539 * \param[out] primalvalues buffer to store pointer to array to primal values, or NULL if not needed
540 * \param[out] consdualvalues buffer to store pointer to array to dual values of constraints, or NULL if not needed
541 * \param[out] varlbdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
542 * \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:164
Definition: type_nlpi.h:60
Definition: type_nlpi.h:163
type definitions for NLP management
Definition: type_nlpi.h:165
Definition: type_nlpi.h:182
Definition: type_nlpi.h:181
Definition: type_nlpi.h:166
Definition: type_nlpi.h:162
Definition: type_nlpi.h:197
Definition: type_nlpi.h:178
type definitions for SCIP's main datastructure
Definition: type_nlpi.h:58
Definition: type_nlpi.h:179
Definition: type_nlpi.h:176
Definition: type_nlpi.h:180
Definition: type_nlpi.h:177
Definition: type_nlpi.h:173
Definition: type_nlpi.h:160
type and macro definitions related to algebraic expressions
Definition: type_nlpi.h:161
Definition: type_nlpi.h:174
common defines and data types used in all packages of SCIP
Definition: type_nlpi.h:175
Definition: nlpi_all.c:54
Definition: type_nlpi.h:66
Definition: struct_nlpi.h:46