Detailed Description
type definitions for NLP solver interfaces
Definition in file type_nlpi.h.
#include "scip/def.h"
#include "scip/type_scip.h"
#include "scip/type_expr.h"
#include "scip/type_nlp.h"
Go to the source code of this file.
Data Structures | |
struct | SCIP_NlpParam |
struct | SCIP_NlpStatistics |
Typedefs | |
typedef struct SCIP_Nlpi | SCIP_NLPI |
typedef struct SCIP_NlpiData | SCIP_NLPIDATA |
typedef struct SCIP_NlpiProblem | SCIP_NLPIPROBLEM |
typedef enum SCIP_NlpParam_FastFail | SCIP_NLPPARAM_FASTFAIL |
typedef struct SCIP_NlpParam | SCIP_NLPPARAM |
typedef enum SCIP_NlpSolStat | SCIP_NLPSOLSTAT |
typedef enum SCIP_NlpTermStat | SCIP_NLPTERMSTAT |
typedef struct SCIP_NlpStatistics | SCIP_NLPSTATISTICS |
Enumerations | |
enum | SCIP_NlpParam_FastFail { SCIP_NLPPARAM_FASTFAIL_OFF = 0, SCIP_NLPPARAM_FASTFAIL_CONSERVATIVE = 1, SCIP_NLPPARAM_FASTFAIL_AGGRESSIVE = 2 } |
enum | SCIP_NlpSolStat { SCIP_NLPSOLSTAT_GLOBOPT = 0, SCIP_NLPSOLSTAT_LOCOPT = 1, SCIP_NLPSOLSTAT_FEASIBLE = 2, SCIP_NLPSOLSTAT_LOCINFEASIBLE = 3, SCIP_NLPSOLSTAT_GLOBINFEASIBLE = 4, SCIP_NLPSOLSTAT_UNBOUNDED = 5, SCIP_NLPSOLSTAT_UNKNOWN = 6 } |
enum | SCIP_NlpTermStat { SCIP_NLPTERMSTAT_OKAY = 0, SCIP_NLPTERMSTAT_TIMELIMIT = 1, SCIP_NLPTERMSTAT_ITERLIMIT = 2, SCIP_NLPTERMSTAT_LOBJLIMIT = 3, SCIP_NLPTERMSTAT_INTERRUPT = 4, SCIP_NLPTERMSTAT_NUMERICERROR = 5, SCIP_NLPTERMSTAT_EVALERROR = 6, SCIP_NLPTERMSTAT_OUTOFMEMORY = 7, SCIP_NLPTERMSTAT_LICENSEERROR = 8, SCIP_NLPTERMSTAT_OTHER = 9 } |
Macro Definition Documentation
◆ SCIP_NLPPARAM_DEFAULT_VERBLEVEL
#define SCIP_NLPPARAM_DEFAULT_VERBLEVEL 0 |
default verbosity level in NLP parameters
Definition at line 78 of file type_nlpi.h.
◆ SCIP_NLPPARAM_DEFAULT_INITS
#define SCIP_NLPPARAM_DEFAULT_INITS | ( | scip | ) |
default values for parameters
Typical use for this define is the initialization of a SCIP_NLPPARAM struct, e.g.,
SCIP_NLPPARAM nlpparam = { SCIP_NLPPARAM_DEFAULT(scip); } //lint !e446
or
SCIP_NLPPARAM nlpparam; nlpparam = (SCIP_NLPPARAM){ SCIP_NLPPARAM_DEFAULT(scip); } //lint !e446
Definition at line 93 of file type_nlpi.h.
◆ SCIP_NLPPARAM_DEFAULT
#define SCIP_NLPPARAM_DEFAULT | ( | scip | ) | (SCIP_NLPPARAM){ SCIP_NLPPARAM_DEFAULT_INITS(scip) } |
default values for parameters
Typical use for this define is the initialization of a SCIP_NLPPARAM struct, e.g.,
SCIP_NLPPARAM nlpparam = SCIP_NLPPARAM_DEFAULT(scip); //lint !e446
or
SCIP_NLPPARAM nlpparam; nlpparam = SCIP_NLPPARAM_DEFAULT(scip); //lint !e446
Definition at line 117 of file type_nlpi.h.
Referenced by applyNlobbt(), heurExec(), resolveNLPWithTighterFeastol(), and SCIP_DECL_RELAXEXEC().
◆ SCIP_NLPPARAM_PRINT
#define SCIP_NLPPARAM_PRINT | ( | param | ) |
macro to help printing values of SCIP_NLPPARAM struct
Typical use for this define is something like
SCIPdebugMsg(scip, "calling NLP solver with parameters " SCIP_NLPPARAM_PRINT(param));
Definition at line 133 of file type_nlpi.h.
Referenced by SCIP_DECL_NLPISOLVE().
◆ SCIP_DECL_NLPICOPY
#define SCIP_DECL_NLPICOPY | ( | x | ) |
copy method of NLP interface (called when SCIP copies plugins)
Implementation of this callback is optional.
- Parameters
-
[in] scip target SCIP where to include copy of NLPI [in] sourcenlpi the NLP interface to copy
Definition at line 206 of file type_nlpi.h.
◆ SCIP_DECL_NLPIFREE
#define SCIP_DECL_NLPIFREE | ( | x | ) |
frees the data of the NLP interface
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] nlpidata NLPI data to free
Definition at line 216 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETSOLVERPOINTER
#define SCIP_DECL_NLPIGETSOLVERPOINTER | ( | x | ) |
gets pointer to solver-internal NLP solver
Implementation of this callback is optional.
Depending on the solver interface, a solver pointer may exist for every NLP problem instance. For this case, a nlpiproblem can be passed in as well.
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance, or NULL
- Returns
- void pointer to solver
Definition at line 234 of file type_nlpi.h.
◆ SCIP_DECL_NLPICREATEPROBLEM
#define SCIP_DECL_NLPICREATEPROBLEM | ( | x | ) |
creates a problem instance
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [out] problem pointer to store the problem data [in] name name of problem, can be NULL
Definition at line 246 of file type_nlpi.h.
◆ SCIP_DECL_NLPIFREEPROBLEM
#define SCIP_DECL_NLPIFREEPROBLEM | ( | x | ) |
free a problem instance
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem pointer where problem data is stored
Definition at line 258 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETPROBLEMPOINTER
#define SCIP_DECL_NLPIGETPROBLEMPOINTER | ( | x | ) |
gets pointer to solver-internal problem instance
Implementation of this callback is optional.
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance
- Returns
- void pointer to problem instance
Definition at line 273 of file type_nlpi.h.
◆ SCIP_DECL_NLPIADDVARS
#define SCIP_DECL_NLPIADDVARS | ( | x | ) |
adds variables
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] nvars number of variables [in] lbs lower bounds of variables, can be NULL if -infinity [in] ubs upper bounds of variables, can be NULL if +infinity [in] varnames names of variables, can be NULL
Definition at line 288 of file type_nlpi.h.
◆ SCIP_DECL_NLPIADDCONSTRAINTS
#define SCIP_DECL_NLPIADDCONSTRAINTS | ( | x | ) |
add constraints
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] ncons number of added constraints [in] lhss left hand sides of constraints, can be NULL if -infinity [in] rhss right hand sides of constraints, can be NULL if +infinity [in] nlininds number of linear coefficients for each constraint; may be NULL in case of no linear part [in] lininds indices of variables for linear coefficients for each constraint; may be NULL in case of no linear part [in] linvals values of linear coefficient for each constraint; may be NULL in case of no linear part [in] exprs expressions for nonlinear part of constraints; may be NULL or entries may be NULL when no nonlinear parts [in] names names of constraints; may be NULL or entries may be NULL
Definition at line 311 of file type_nlpi.h.
◆ SCIP_DECL_NLPISETOBJECTIVE
#define SCIP_DECL_NLPISETOBJECTIVE | ( | x | ) |
sets or overwrites objective, a minimization problem is expected
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] nlins number of linear variables [in] lininds variable indices; may be NULL in case of no linear part [in] linvals coefficient values; may be NULL in case of no linear part [in] expr expression for nonlinear part of objective function; may be NULL in case of no nonlinear part [in] constant objective value offset
Definition at line 335 of file type_nlpi.h.
◆ SCIP_DECL_NLPICHGVARBOUNDS
#define SCIP_DECL_NLPICHGVARBOUNDS | ( | x | ) |
change variable bounds
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] nvars number of variables to change bounds [in] indices indices of variables to change bounds [in] lbs new lower bounds [in] ubs new upper bounds
Definition at line 355 of file type_nlpi.h.
◆ SCIP_DECL_NLPICHGCONSSIDES
#define SCIP_DECL_NLPICHGCONSSIDES | ( | x | ) |
change constraint sides
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] nconss number of constraints to change sides [in] indices indices of constraints to change sides [in] lhss new left hand sides [in] rhss new right hand sides
Definition at line 374 of file type_nlpi.h.
◆ SCIP_DECL_NLPIDELVARSET
#define SCIP_DECL_NLPIDELVARSET | ( | x | ) |
delete a set of variables
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [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 [in] dstatssize size of the dstats array
Definition at line 391 of file type_nlpi.h.
◆ SCIP_DECL_NLPIDELCONSSET
#define SCIP_DECL_NLPIDELCONSSET | ( | x | ) |
delete a set of constraints
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [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 [in] dstatssize size of the dstats array
Definition at line 406 of file type_nlpi.h.
◆ SCIP_DECL_NLPICHGLINEARCOEFS
#define SCIP_DECL_NLPICHGLINEARCOEFS | ( | x | ) |
changes (or adds) linear coefficients in a constraint or objective
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] idx index of constraint or -1 for objective [in] nvals number of values in linear constraint to change [in] varidxs indices of variables which coefficient to change [in] vals new values for coefficients
Definition at line 423 of file type_nlpi.h.
◆ SCIP_DECL_NLPICHGEXPR
#define SCIP_DECL_NLPICHGEXPR | ( | x | ) |
replaces the expression of a constraint or objective
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] idxcons index of constraint or -1 for objective [in] expr new expression for constraint or objective, or NULL to only remove previous tree
Definition at line 440 of file type_nlpi.h.
◆ SCIP_DECL_NLPICHGOBJCONSTANT
#define SCIP_DECL_NLPICHGOBJCONSTANT | ( | x | ) |
changes the constant offset in the objective
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] objconstant new value for objective constant
Definition at line 454 of file type_nlpi.h.
◆ SCIP_DECL_NLPISETINITIALGUESS
#define SCIP_DECL_NLPISETINITIALGUESS | ( | x | ) |
sets initial guess
Implementation of this callback is optional.
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] primalvalues initial primal values for variables, or NULL to clear previous values [in] consdualvalues initial dual values for constraints, or NULL to clear previous values [in] varlbdualvalues initial dual values for variable lower bounds, or NULL to clear previous values [in] varubdualvalues initial dual values for variable upper bounds, or NULL to clear previous values
Definition at line 472 of file type_nlpi.h.
◆ SCIP_DECL_NLPISOLVE
#define SCIP_DECL_NLPISOLVE | ( | x | ) |
tries to solve NLP
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [in] param parameters (e.g., working limits) to use
Definition at line 488 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETSOLSTAT
#define SCIP_DECL_NLPIGETSOLSTAT | ( | x | ) |
gives solution status
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance
- Returns
- Solution Status
Definition at line 502 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETTERMSTAT
#define SCIP_DECL_NLPIGETTERMSTAT | ( | x | ) |
gives termination reason
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance
- Returns
- Termination Status
Definition at line 515 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETSOLUTION
#define SCIP_DECL_NLPIGETSOLUTION | ( | x | ) |
gives primal and dual solution values
Solver can return NULL in dual values if not available, but if solver provides dual values for one side of variable bounds, then it must also provide those for the other side.
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.
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [out] primalvalues buffer to store pointer to array to primal values, or NULL if not needed [out] consdualvalues buffer to store pointer to array to dual values of constraints, or NULL if not needed [out] varlbdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed [out] varubdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed [out] objval pointer to store the objective value, or NULL if not needed
Definition at line 536 of file type_nlpi.h.
◆ SCIP_DECL_NLPIGETSTATISTICS
#define SCIP_DECL_NLPIGETSTATISTICS | ( | x | ) |
gives solve statistics
- Parameters
-
[in] scip SCIP data structure [in] nlpi datastructure for solver interface [in] problem datastructure for problem instance [out] statistics buffer where to store statistics
Definition at line 553 of file type_nlpi.h.
Typedef Documentation
◆ SCIP_NLPI
NLP solver interface
Definition at line 42 of file type_nlpi.h.
◆ SCIP_NLPIDATA
typedef struct SCIP_NlpiData SCIP_NLPIDATA |
locally defined NLP solver interface data
Definition at line 43 of file type_nlpi.h.
◆ SCIP_NLPIPROBLEM
typedef struct SCIP_NlpiProblem SCIP_NLPIPROBLEM |
locally defined NLP solver interface data for a specific problem instance
Definition at line 44 of file type_nlpi.h.
◆ SCIP_NLPPARAM_FASTFAIL
typedef enum SCIP_NlpParam_FastFail SCIP_NLPPARAM_FASTFAIL |
NLP solver fast-fail levels
Definition at line 54 of file type_nlpi.h.
◆ SCIP_NLPPARAM
typedef struct SCIP_NlpParam SCIP_NLPPARAM |
parameters for NLP solve
Definition at line 72 of file type_nlpi.h.
◆ SCIP_NLPSOLSTAT
typedef enum SCIP_NlpSolStat SCIP_NLPSOLSTAT |
NLP solution status
Definition at line 159 of file type_nlpi.h.
◆ SCIP_NLPTERMSTAT
typedef enum SCIP_NlpTermStat SCIP_NLPTERMSTAT |
NLP solver termination status
Definition at line 185 of file type_nlpi.h.
◆ SCIP_NLPSTATISTICS
typedef struct SCIP_NlpStatistics SCIP_NLPSTATISTICS |
NLP solve statistics
Definition at line 197 of file type_nlpi.h.
Enumeration Type Documentation
◆ SCIP_NlpParam_FastFail
NLP solver fast-fail levels
Definition at line 47 of file type_nlpi.h.
◆ SCIP_NlpSolStat
enum SCIP_NlpSolStat |
NLP solution status
Definition at line 149 of file type_nlpi.h.
◆ SCIP_NlpTermStat
enum SCIP_NlpTermStat |
NLP solver termination status
Enumerator | |
---|---|
SCIP_NLPTERMSTAT_OKAY | terminated successfully |
SCIP_NLPTERMSTAT_TIMELIMIT | time limit exceeded |
SCIP_NLPTERMSTAT_ITERLIMIT | iteration limit exceeded |
SCIP_NLPTERMSTAT_LOBJLIMIT | lower objective limit reached |
SCIP_NLPTERMSTAT_INTERRUPT | SCIP has been asked to stop (SCIPinterruptSolve() called) |
SCIP_NLPTERMSTAT_NUMERICERROR | stopped on numerical error |
SCIP_NLPTERMSTAT_EVALERROR | stopped on function evaluation error |
SCIP_NLPTERMSTAT_OUTOFMEMORY | memory exceeded |
SCIP_NLPTERMSTAT_LICENSEERROR | problems with license of NLP solver |
SCIP_NLPTERMSTAT_OTHER | other error (= this should never happen) |
Definition at line 162 of file type_nlpi.h.