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};
190 SCIP_Real totaltime; /**< total time in CPU sections the NLP solver spend in the last solve command */
191 SCIP_Real evaltime; /**< time spend in evaluation of functions and their derivatives (only measured if timing/nlpieval = TRUE) */
193 SCIP_Real consviol; /**< maximal absolute constraint violation in current solution, or SCIP_INVALID if not available */
194 SCIP_Real boundviol; /**< maximal absolute variable bound violation in current solution, or SCIP_INVALID if not available */
304 * \param[in] nlininds number of linear coefficients for each constraint; may be NULL in case of no linear part
305 * \param[in] lininds indices of variables for linear coefficients for each constraint; may be NULL in case of no linear part
306 * \param[in] linvals values of linear coefficient for each constraint; may be NULL in case of no linear part
307 * \param[in] exprs expressions for nonlinear part of constraints; may be NULL or entries may be NULL when no nonlinear parts
331 * \param[in] expr expression for nonlinear part of objective function; may be NULL in case of no nonlinear part
387 * \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
402 * \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
437 * \param[in] expr new expression for constraint or objective, or NULL to only remove previous tree
467 * \param[in] consdualvalues initial dual values for constraints, or NULL to clear previous values
468 * \param[in] varlbdualvalues initial dual values for variable lower bounds, or NULL to clear previous values
469 * \param[in] varubdualvalues initial dual values for variable upper bounds, or NULL to clear previous values
522 * but if solver provides dual values for one side of variable bounds, then it must also provide those for the other side.
524 * 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.
529 * \param[out] primalvalues buffer to store pointer to array to primal values, or NULL if not needed
530 * \param[out] consdualvalues buffer to store pointer to array to dual values of constraints, or NULL if not needed
531 * \param[out] varlbdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
532 * \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:188
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