type_nlpi.h
Go to the documentation of this file.
37/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
53typedef 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 */
61};
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"
167};
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 */
193};
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
common defines and data types used in all packages of SCIP
Definition: type_nlpi.h:67
Definition: type_nlpi.h:198
Definition: nlpi_all.c:56
Definition: struct_nlpi.h:47
type and macro definitions related to algebraic expressions
type definitions for NLP management
type definitions for SCIP's main datastructure