Detailed Description
methods and files provided by the default NLP solver interfaces of SCIP
A detailed description what a NLP solver interface does and how to add a NLP solver interface to SCIP can be found here.
Modules | |
Inclusion methods | |
methods to include specific NLP solver interfaces into SCIP | |
Files | |
file | nlpi_all.c |
NLP interface that uses all available NLP interfaces. | |
file | nlpi_filtersqp.c |
filterSQP NLP interface | |
file | nlpi_filtersqp.h |
filterSQP NLP interface | |
file | nlpi_filtersqp_dummy.c |
dummy filterSQP NLP interface for the case that FilterSQP is not available | |
file | nlpi_ipopt.cpp |
Ipopt NLP interface. | |
file | nlpi_ipopt.h |
Ipopt NLP interface. | |
file | nlpi_worhp.c |
Worhp NLP interface. | |
file | nlpi_worhp.h |
Worhp NLP interface. | |
file | nlpi_worhp_dummy.c |
dummy WORHP NLP interface | |
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP()
SCIP_DECL_SORTPTRCOMP | ( | SCIPnlpiComp | ) |
◆ SCIPnlpiCreate()
creates an NLP solver interface
- Parameters
-
nlpi pointer to NLP interface data structure name name of NLP interface description description of NLP interface priority priority of NLP interface nlpidata NLP interface local data
Definition at line 40 of file nlpi.c.
References BMSallocMemory, BMSduplicateMemoryArray, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by SCIPcreateNlpSolverAll(), SCIPcreateNlpSolverFilterSQP(), SCIPcreateNlpSolverIpopt(), and SCIPcreateNlpSolverWorhp().
◆ SCIPnlpiCopy()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiCopy | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPI * | sourcenlpi, | ||
SCIP_NLPI ** | targetnlpi | ||
) |
◆ SCIPnlpiFree()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiFree | ( | SCIP_NLPI ** | nlpi | ) |
frees NLPI user data
- Parameters
-
nlpi pointer to NLPI data structure
Definition at line 181 of file nlpi.c.
References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPIFREE(), and SCIPsetFree().
◆ SCIPnlpiGetSolverPointer()
SCIP_EXPORT void* SCIPnlpiGetSolverPointer | ( | SCIP_NLPI * | nlpi | ) |
◆ SCIPnlpiCreateProblem()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiCreateProblem | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM ** | problem, | ||
const char * | name | ||
) |
creates a problem instance
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to store problem data name name of problem, can be NULL
Definition at line 211 of file nlpi.c.
References NULL.
Referenced by applyNlobbt(), computeInteriorPoint(), createNLP(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPnlpCreate().
◆ SCIPnlpiFreeProblem()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiFreeProblem | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM ** | problem | ||
) |
frees a problem instance
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer where problem data is stored
Definition at line 224 of file nlpi.c.
References NULL.
Referenced by computeInteriorPoint(), freeNLP(), propdataClear(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_DECL_RELAXEXEC(), SCIPnlpFree(), and sepadataClear().
◆ SCIPnlpiGetProblemPointer()
SCIP_EXPORT void* SCIPnlpiGetProblemPointer | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem | ||
) |
◆ SCIPnlpiAddVars()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddVars | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | nvars, | ||
const SCIP_Real * | lbs, | ||
const SCIP_Real * | ubs, | ||
const char ** | varnames | ||
) |
add variables to nlpi
- Parameters
-
nlpi pointer to NLPI data structure problem pointer to problem data structure nvars number of variables lbs lower bounds of variables, can be NULL if -infinity ubs ubs upper bounds of variables, can be NULL if +infinity varnames varnames names of variables, can be NULL
Definition at line 250 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by computeInteriorPoint(), nlpFlushVarAdditions(), SCIP_DECL_NLPIADDVARS(), and SCIPcreateNlpiProb().
◆ SCIPnlpiAddConstraints()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiAddConstraints | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | nconss, | ||
const SCIP_Real * | lhss, | ||
const SCIP_Real * | rhss, | ||
const int * | nlininds, | ||
int *const * | lininds, | ||
SCIP_Real *const * | linvals, | ||
const int * | nquadelems, | ||
SCIP_QUADELEM *const * | quadelems, | ||
int *const * | exprvaridxs, | ||
SCIP_EXPRTREE *const * | exprtrees, | ||
const char ** | names | ||
) |
add constraints to nlpi
- Parameters
-
nlpi pointer to NLPI data structure problem pointer to problem data structure nconss number of added constraints lhss left hand sides of constraints rhss right hand sides of constraints nlininds number of linear coefficients for each constraint, may be NULL in case of no linear part lininds indices of variables for linear coefficients for each constraint, may be NULL in case of no linear part linvals values of linear coefficient for each constraint, may be NULL in case of no linear part nquadelems number of elements in matrix of quadratic part for each constraint, may be NULL in case of no quadratic part in any constraint quadelems quadratic elements specifying quadratic part for each constraint, entry of array may be NULL in case of no quadratic part, may be NULL in case of no quadratic part in any constraint exprvaridxs indices of variables in expression tree, maps variable indices in expression tree to indices in nlp, entry of array may be NULL in case of no expression tree, may be NULL in case of no expression tree in any constraint exprtrees exprtrees expression tree for nonquadratic part of constraints, entry of array may be NULL in case of no nonquadratic part, may be NULL in case of no nonquadratic part in any constraint names names of constraints, may be NULL or entries may be NULL
Definition at line 268 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by addRegularScholtes(), computeInteriorPoint(), nlpFlushNlRowAdditions(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIPaddNlpiProbRows(), SCIPaddToNlpiProblemQuadratic(), SCIPaddToNlpiProblemSOC(), and SCIPcreateNlpiProb().
◆ SCIPnlpiSetObjective()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetObjective | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | nlins, | ||
const int * | lininds, | ||
const SCIP_Real * | linvals, | ||
int | nquadelems, | ||
const SCIP_QUADELEM * | quadelems, | ||
const int * | exprvaridxs, | ||
const SCIP_EXPRTREE * | exprtree, | ||
const SCIP_Real | constant | ||
) |
sets or overwrites objective, a minimization problem is expected
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure nlins number of linear variables lininds variable indices, may be NULL in case of no linear part linvals coefficient values, may be NULL in case of no linear part nquadelems number of entries in matrix of quadratic part quadelems entries in matrix of quadratic part, may be NULL in case of no quadratic part exprvaridxs indices of variables in expression tree, maps variable indices in expression tree to indices in nlp, may be NULL in case of no expression tree exprtree expression tree for nonquadratic part of objective function, may be NULL in case of no nonquadratic part constant objective value offset
Definition at line 300 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by computeInteriorPoint(), nlpFlushObjective(), SCIP_DECL_NLPISETOBJECTIVE(), SCIPcreateNlpiProb(), setQuadraticObj(), and solveNlp().
◆ SCIPnlpiChgVarBounds()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgVarBounds | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | nvars, | ||
const int * | indices, | ||
const SCIP_Real * | lbs, | ||
const SCIP_Real * | ubs | ||
) |
change variable bounds
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure nvars number of variables to change bounds indices indices of variables to change bounds lbs new lower bounds ubs new upper bounds
Definition at line 325 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by heurExec(), nlpUpdateVarBounds(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIPnlpChgVarBoundsDive(), SCIPnlpChgVarsBoundsDive(), SCIPnlpEndDive(), SCIPupdateNlpiProb(), and solveNlp().
◆ SCIPnlpiChgConsSides()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgConsSides | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | nconss, | ||
const int * | indices, | ||
const SCIP_Real * | lhss, | ||
const SCIP_Real * | rhss | ||
) |
change constraint sides
change constraint bounds
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure nconss number of constraints to change sides indices indices of constraints to change sides lhss new left hand sides rhss new right hand sides
Definition at line 343 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by addRegularScholtes(), nlrowConstantChanged(), nlrowSideChanged(), SCIP_DECL_NLPICHGCONSSIDES(), and SCIPupdateNlpiProb().
◆ SCIPnlpiDelVarSet()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelVarSet | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int * | dstats, | ||
int | dstatssize | ||
) |
delete a set of variables
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure dstats deletion status of vars; 1 if var should be deleted, 0 if not; afterwards -1 if var was deleted dstatssize size of the dstats array
Definition at line 361 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by nlpFlushVarDeletions(), and SCIP_DECL_NLPIDELVARSET().
◆ SCIPnlpiDelConsSet()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiDelConsSet | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int * | dstats, | ||
int | dstatssize | ||
) |
delete a set of constraints
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure dstats deletion status of rows; 1 if row should be deleted, 0 if not; afterwards -1 if row was deleted dstatssize size of the dstats array
Definition at line 378 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by nlpFlushNlRowDeletions(), and SCIP_DECL_NLPIDELCONSSET().
◆ SCIPnlpiChgLinearCoefs()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgLinearCoefs | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
const int | idx, | ||
int | nvals, | ||
const int * | varidxs, | ||
const SCIP_Real * | vals | ||
) |
changes or adds linear coefficients in a constraint or objective
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure idx index of constraint or -1 for objective nvals number of values in linear constraint varidxs indices of variable vals new values for coefficient
Definition at line 395 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by computeInteriorPoint(), nlpUpdateObjCoef(), nlrowLinearCoefChanged(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIPnlpChgVarObjDive(), and separateCuts().
◆ SCIPnlpiChgQuadCoefs()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgQuadCoefs | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | idx, | ||
int | nquadelems, | ||
const SCIP_QUADELEM * | quadelems | ||
) |
changes or adds coefficients in the quadratic part of a constraint or objective
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure idx index of constraint or -1 for objective nquadelems number of entries in quadratic constraint to change quadelems new elements in quadratic matrix (replacing already existing ones or adding new ones)
Definition at line 413 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by nlrowQuadElemChanged(), and SCIP_DECL_NLPICHGQUADCOEFS().
◆ SCIPnlpiChgExprtree()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgExprtree | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | idxcons, | ||
const int * | exprvaridxs, | ||
const SCIP_EXPRTREE * | exprtree | ||
) |
change the expression tree in the nonlinear part
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure idxcons index of constraint or -1 for objective exprvaridxs indices of variables in expression tree, maps variable indices in expression tree to indices in nlp, or NULL exprtree new expression tree, or NULL for no tree
Definition at line 430 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by nlrowExprtreeChanged(), and SCIP_DECL_NLPICHGEXPRTREE().
◆ SCIPnlpiChgNonlinCoef()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgNonlinCoef | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
int | considx, | ||
int | paramidx, | ||
SCIP_Real | value | ||
) |
change the value of one parameter in the nonlinear part
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure considx index of constraint or -1 for objective paramidx index of parameter value new value for nonlinear parameter
Definition at line 447 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by nlrowExprtreeParamChanged(), and SCIP_DECL_NLPICHGNONLINCOEF().
◆ SCIPnlpiChgObjConstant()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiChgObjConstant | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_Real | objconstant | ||
) |
change the constant offset in the objective
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure objconstant new value for objective constant
Definition at line 464 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPICHGOBJCONSTANT().
◆ SCIPnlpiSetInitialGuess()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetInitialGuess | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_Real * | primalvalues, | ||
SCIP_Real * | consdualvalues, | ||
SCIP_Real * | varlbdualvalues, | ||
SCIP_Real * | varubdualvalues | ||
) |
sets initial guess for primal variables
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure primalvalues initial primal values for variables, or NULL to clear previous values consdualvalues initial dual values for constraints, or NULL to clear previous values varlbdualvalues initial dual values for variable lower bounds, or NULL to clear previous values varubdualvalues initial dual values for variable upper bounds, or NULL to clear previous values
Definition at line 479 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by heurExec(), nlpSolve(), SCIP_DECL_NLPISETINITIALGUESS(), and SCIPnlpSetInitialGuess().
◆ SCIPnlpiSolve()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSolve | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem | ||
) |
tries to solve NLP
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure
Definition at line 497 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by computeInteriorPoint(), heurExec(), nlpSolve(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), and solveNlp().
◆ SCIPnlpiGetSolstat()
SCIP_EXPORT SCIP_NLPSOLSTAT SCIPnlpiGetSolstat | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem | ||
) |
gives solution status
- Returns
- solution status
gives solution status, return: Solution Status
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure
Definition at line 511 of file nlpi.c.
References NULL.
Referenced by addGenVBound(), computeInteriorPoint(), filterCands(), heurExec(), nlpSolve(), SCIP_DECL_NLPIGETSOLSTAT(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), and solveNlp().
◆ SCIPnlpiGetTermstat()
SCIP_EXPORT SCIP_NLPTERMSTAT SCIPnlpiGetTermstat | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem | ||
) |
gives termination reason
- Returns
- termination status
gives termination reason; return: Termination Status
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure
Definition at line 523 of file nlpi.c.
References NULL.
Referenced by computeInteriorPoint(), nlpSolve(), SCIP_DECL_NLPIGETTERMSTAT(), and SCIP_DECL_NLPISOLVE().
◆ SCIPnlpiGetSolution()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetSolution | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_Real ** | primalvalues, | ||
SCIP_Real ** | consdualvalues, | ||
SCIP_Real ** | varlbdualvalues, | ||
SCIP_Real ** | varubdualvalues, | ||
SCIP_Real * | objval | ||
) |
gives primal and dual solution 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
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure primalvalues buffer to store pointer to array to primal values, or NULL if not needed consdualvalues buffer to store pointer to array to dual values of constraints, or NULL if not needed varlbdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed varubdualvalues buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed objval buffer to store the objective value, or NULL if not needed
Definition at line 537 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by addGenVBound(), computeInteriorPoint(), filterCands(), heurExec(), nlpSolve(), SCIP_DECL_NLPIGETSOLUTION(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_RELAXEXEC(), separateCuts(), and solveNlp().
◆ SCIPnlpiGetStatistics()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStatistics | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPSTATISTICS * | statistics | ||
) |
gives solve statistics
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure statistics pointer to store statistics
Definition at line 556 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by computeInteriorPoint(), heurExec(), SCIP_DECL_NLPIGETSTATISTICS(), SCIP_DECL_NLPISOLVE(), SCIPnlpGetStatistics(), and solveNlp().
◆ SCIPnlpiGetWarmstartSize()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartSize | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
size_t * | size | ||
) |
◆ SCIPnlpiGetWarmstartMemo()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetWarmstartMemo | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
void * | buffer | ||
) |
◆ SCIPnlpiSetWarmstartMemo()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetWarmstartMemo | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
void * | buffer | ||
) |
◆ SCIPnlpiGetIntPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetIntPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
int * | ival | ||
) |
gets integer parameter of NLP
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure type parameter number ival pointer to store the parameter value
Definition at line 619 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPIGETINTPAR(), and SCIPnlpGetIntPar().
◆ SCIPnlpiSetIntPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetIntPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
int | ival | ||
) |
sets integer parameter of NLP
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure type parameter number ival parameter value
Definition at line 636 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by applyNlobbt(), computeInteriorPoint(), heurExec(), SCIP_DECL_NLPISETINTPAR(), SCIP_DECL_RELAXEXEC(), SCIPnlpSetIntPar(), separateCuts(), and solveNlp().
◆ SCIPnlpiGetRealPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetRealPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
SCIP_Real * | dval | ||
) |
gets floating point parameter of NLP if problem is NULL and type == SCIP_NLPPAR_INFINITY, then gets solver-wide value for infinity
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure, can be NULL only if type == SCIP_NLPPAR_INFINITY type parameter number dval pointer to store the parameter value
Definition at line 653 of file nlpi.c.
References NULL, SCIP_CALL, SCIP_NLPPAR_INFINITY, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPIGETREALPAR(), SCIP_DECL_NLPISOLVE(), and SCIPnlpGetRealPar().
◆ SCIPnlpiSetRealPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetRealPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
SCIP_Real | dval | ||
) |
sets floating point parameter of NLP if problem is NULL and type == SCIP_NLPPAR_INFINITY, then sets solver-wide value for infinity
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure, can be NULL only if type == SCIP_NLPPAR_INFINITY type parameter number dval parameter value
Definition at line 671 of file nlpi.c.
References NULL, SCIP_CALL, SCIP_NLPPAR_INFINITY, and SCIP_OKAY.
Referenced by applyNlobbt(), computeInteriorPoint(), heurExec(), nlpSolve(), SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPISETREALPAR(), SCIP_DECL_RELAXEXEC(), SCIPnlpSetRealPar(), separateCuts(), and solveNlp().
◆ SCIPnlpiGetStringPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiGetStringPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
const char ** | sval | ||
) |
gets string parameter of NLP
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure type parameter number sval pointer to store the parameter value, the user must not modify the string
Definition at line 687 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPIGETSTRINGPAR(), and SCIPnlpGetStringPar().
◆ SCIPnlpiSetStringPar()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetStringPar | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPIPROBLEM * | problem, | ||
SCIP_NLPPARAM | type, | ||
const char * | sval | ||
) |
sets string parameter of NLP
- Parameters
-
nlpi pointer to NLPI datastructure problem pointer to problem data structure type parameter number sval parameter value
Definition at line 704 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPISETSTRINGPAR(), and SCIPnlpSetStringPar().
◆ SCIPnlpiSetMessageHdlr()
SCIP_EXPORT SCIP_RETCODE SCIPnlpiSetMessageHdlr | ( | SCIP_NLPI * | nlpi, |
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
sets message handler for message output
- Parameters
-
nlpi pointer to NLPI datastructure messagehdlr pointer to message handler, or NULL to suppress all output
Definition at line 720 of file nlpi.c.
References NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPISETMESSAGEHDLR(), SCIPincludeNlpi(), and SCIPsetMessagehdlr().
◆ SCIPnlpiGetData()
SCIP_EXPORT SCIP_NLPIDATA* SCIPnlpiGetData | ( | SCIP_NLPI * | nlpi | ) |
gets data of an NLPI
- Parameters
-
nlpi NLP interface structure
Definition at line 733 of file nlpi.c.
References SCIP_Nlpi::nlpidata, and NULL.
Referenced by initWorhp(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPICHGEXPRTREE(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIP_DECL_NLPICHGNONLINCOEF(), SCIP_DECL_NLPICHGOBJCONSTANT(), SCIP_DECL_NLPICHGQUADCOEFS(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPIFREE(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_DECL_NLPIGETINTPAR(), SCIP_DECL_NLPIGETREALPAR(), SCIP_DECL_NLPIGETSOLSTAT(), SCIP_DECL_NLPIGETSOLUTION(), SCIP_DECL_NLPIGETSTATISTICS(), SCIP_DECL_NLPIGETSTRINGPAR(), SCIP_DECL_NLPIGETTERMSTAT(), SCIP_DECL_NLPISETINITIALGUESS(), SCIP_DECL_NLPISETINTPAR(), SCIP_DECL_NLPISETMESSAGEHDLR(), SCIP_DECL_NLPISETOBJECTIVE(), SCIP_DECL_NLPISETREALPAR(), SCIP_DECL_NLPISETSTRINGPAR(), SCIP_DECL_NLPISOLVE(), and SCIPsetModifiedDefaultSettingsIpopt().
◆ SCIPnlpiGetName()
SCIP_EXPORT const char* SCIPnlpiGetName | ( | SCIP_NLPI * | nlpi | ) |
gets NLP solver name
- Parameters
-
nlpi NLP interface structure
Definition at line 743 of file nlpi.c.
References SCIP_Nlpi::name, and NULL.
Referenced by computeInteriorPoint(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NLPISOLVE(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPincludeNlpi(), and SCIPsetIncludeDialog().
◆ SCIPnlpiGetDesc()
SCIP_EXPORT const char* SCIPnlpiGetDesc | ( | SCIP_NLPI * | nlpi | ) |
gets NLP solver descriptions
- Parameters
-
nlpi NLP interface structure
Definition at line 753 of file nlpi.c.
References SCIP_Nlpi::description, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPnlpiGetPriority()
SCIP_EXPORT int SCIPnlpiGetPriority | ( | SCIP_NLPI * | nlpi | ) |
gets NLP solver priority
- Parameters
-
nlpi NLP interface structure
Definition at line 763 of file nlpi.c.
References NULL, and SCIP_Nlpi::priority.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPincludeNlpi().
◆ SCIPnlpiSetPriority()
SCIP_EXPORT void SCIPnlpiSetPriority | ( | SCIP_NLPI * | nlpi, |
int | priority | ||
) |
sets NLP solver priority
- Parameters
-
nlpi NLP interface structure priority new priority of NLPI
Definition at line 773 of file nlpi.c.
References NULL, and SCIP_Nlpi::priority.
Referenced by SCIPsetExistsDialog().
◆ SCIPnlpStatisticsCreate()
SCIP_EXPORT SCIP_RETCODE SCIPnlpStatisticsCreate | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPSTATISTICS ** | statistics | ||
) |
creates an NLP statistics structure
- Parameters
-
blkmem block memory statistics pointer where to store NLP statistics structure
Definition at line 784 of file nlpi.c.
References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by computeInteriorPoint(), createSubSCIP(), heurExec(), and SCIP_DECL_PROPINITSOL().
◆ SCIPnlpStatisticsFree()
SCIP_EXPORT void SCIPnlpStatisticsFree | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPSTATISTICS ** | statistics | ||
) |
frees an NLP statistics structure
- Parameters
-
blkmem block memory statistics pointer where to store NLP statistics structure
Definition at line 801 of file nlpi.c.
References BMSfreeBlockMemory, and NULL.
Referenced by computeInteriorPoint(), freeSubSCIP(), heurExec(), and SCIP_DECL_PROPEXITSOL().
◆ SCIPnlpStatisticsGetNIterations()
SCIP_EXPORT int SCIPnlpStatisticsGetNIterations | ( | SCIP_NLPSTATISTICS * | statistics | ) |
gets the number of iterations from an NLP statistics structure
- Parameters
-
statistics NLP statistics structure
Definition at line 816 of file nlpi.c.
References SCIP_NlpStatistics::niterations, and NULL.
Referenced by computeInteriorPoint(), heurExec(), SCIP_DECL_NLPISOLVE(), solveNlp(), and solveSubNLP().
◆ SCIPnlpStatisticsGetTotalTime()
SCIP_EXPORT SCIP_Real SCIPnlpStatisticsGetTotalTime | ( | SCIP_NLPSTATISTICS * | statistics | ) |
gets the total time from an NLP statistics structure
- Parameters
-
statistics NLP statistics structure
Definition at line 826 of file nlpi.c.
References NULL, and SCIP_NlpStatistics::totaltime.
Referenced by computeInteriorPoint(), SCIP_DECL_NLPISOLVE(), solveNlp(), and solveSubNLP().
◆ SCIPnlpStatisticsSetNIterations()
SCIP_EXPORT void SCIPnlpStatisticsSetNIterations | ( | SCIP_NLPSTATISTICS * | statistics, |
int | niterations | ||
) |
sets the number of iterations in an NLP statistics structure
- Parameters
-
statistics NLP statistics structure niterations number of iterations to store
Definition at line 836 of file nlpi.c.
References SCIP_NlpStatistics::niterations, and NULL.
Referenced by SCIP_DECL_NLPIGETSTATISTICS().
◆ SCIPnlpStatisticsSetTotalTime()
SCIP_EXPORT void SCIPnlpStatisticsSetTotalTime | ( | SCIP_NLPSTATISTICS * | statistics, |
SCIP_Real | totaltime | ||
) |
sets the total time in an NLP statistics structure
- Parameters
-
statistics NLP statistics structure totaltime solution time to store
Definition at line 846 of file nlpi.c.
References NULL, and SCIP_NlpStatistics::totaltime.
Referenced by SCIP_DECL_NLPIGETSTATISTICS().
◆ SCIPcreateNlpSolverAll()
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverAll | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPI ** | nlpi, | ||
SCIP_NLPI ** | nlpis, | ||
int | nnlpis | ||
) |
create solver interface for All solver
- Parameters
-
blkmem block memory data structure nlpi pointer to buffer for nlpi address nlpis array containing existing nlpis nnlpis total number of nlpis
Definition at line 1174 of file nlpi_all.c.
References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSclearMemory, NLPI_DESC, NLPI_NAME, NLPI_PRIORITY, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPnlpiCopy(), and SCIPnlpiCreate().
Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().
◆ SCIPcreateNlpSolverIpopt()
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverIpopt | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPI ** | nlpi | ||
) |
create solver interface for Ipopt solver sets *nlpi to NULL if Ipopt is not available
create solver interface for Ipopt solver
- Parameters
-
blkmem block memory data structure nlpi pointer to buffer for nlpi address
Definition at line 2038 of file nlpi_ipopt.cpp.
References NLPI_DESC, NLPI_NAME, NLPI_PRIORITY, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, and SCIPnlpiCreate().
Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().
◆ SCIPgetSolverNameIpopt()
SCIP_EXPORT const char* SCIPgetSolverNameIpopt | ( | void | ) |
gets string that identifies Ipopt (version number)
Definition at line 2068 of file nlpi_ipopt.cpp.
Referenced by SCIPincludeDefaultPlugins().
◆ SCIPgetSolverDescIpopt()
SCIP_EXPORT const char* SCIPgetSolverDescIpopt | ( | void | ) |
gets string that describes Ipopt
Definition at line 2074 of file nlpi_ipopt.cpp.
Referenced by SCIPincludeDefaultPlugins().
◆ SCIPisIpoptAvailableIpopt()
SCIP_EXPORT SCIP_Bool SCIPisIpoptAvailableIpopt | ( | void | ) |
returns whether Ipopt is available, i.e., whether it has been linked in
Definition at line 2080 of file nlpi_ipopt.cpp.
Referenced by checkCurvature(), checkFactorable(), computeED(), SCIP_DECL_CONSINITSOL(), and SCIP_DECL_QUADCONSUPGD().
◆ SCIPgetIpoptApplicationPointerIpopt()
SCIP_EXPORT void* SCIPgetIpoptApplicationPointerIpopt | ( | SCIP_NLPIPROBLEM * | nlpiproblem | ) |
gives a pointer to the IpoptApplication object stored in Ipopt-NLPI's NLPI problem data structure
- Parameters
-
nlpiproblem NLP problem of Ipopt-NLPI
Definition at line 2086 of file nlpi_ipopt.cpp.
References SCIP_NlpiProblem::ipopt, NULL, SCIPABORT, and SCIPerrorMessage.
◆ SCIPgetNlpiOracleIpopt()
SCIP_EXPORT void* SCIPgetNlpiOracleIpopt | ( | SCIP_NLPIPROBLEM * | nlpiproblem | ) |
gives a pointer to the NLPIORACLE object stored in Ipopt-NLPI's NLPI problem data structure
- Parameters
-
nlpiproblem NLP problem of Ipopt-NLPI
Definition at line 2096 of file nlpi_ipopt.cpp.
References NULL, SCIP_NlpiProblem::oracle, SCIPABORT, and SCIPerrorMessage.
Referenced by computeInteriorPoint().
◆ SCIPsetModifiedDefaultSettingsIpopt()
SCIP_EXPORT void SCIPsetModifiedDefaultSettingsIpopt | ( | SCIP_NLPI * | nlpi, |
const char * | optionsstring | ||
) |
sets modified default settings that are used when setting up an Ipopt problem
Do not forget to add a newline after the last option in optionsstring.
- Parameters
-
nlpi Ipopt NLP interface optionsstring string with options as in Ipopt options file
Definition at line 2109 of file nlpi_ipopt.cpp.
References BMSallocMemoryArray, BMSclearMemoryArray, BMScopyMemoryArray, convcheck_maxiter, convcheck_minred, convcheck_nchecks, convcheck_startiter, FALSE, LINEAR, MAX, MAXPERTURB, MIN, NULL, SCIP_INVALID, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_EVALERR, SCIP_NLPTERMSTAT_ITLIM, SCIP_NLPTERMSTAT_MEMERR, SCIP_NLPTERMSTAT_NUMERR, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIP_NLPTERMSTAT_TILIM, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPdebugMessage, SCIPdebugPrintf, SCIPerrorMessage, SCIPinterrupted(), SCIPnlpiGetData(), SCIPnlpiOracleEvalConstraintValues(), SCIPnlpiOracleEvalHessianLag(), SCIPnlpiOracleEvalJacobian(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetConstraintDegree(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintName(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetHessianLagSparsity(), SCIPnlpiOracleGetJacobianSparsity(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetVarDegree(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarNames(), SCIPnlpiOracleGetVarUbs(), SCIPrandomGetReal(), SUCCESS, TRUE, and x.
◆ LapackDsyev()
SCIP_EXPORT SCIP_RETCODE LapackDsyev | ( | SCIP_Bool | computeeigenvectors, |
int | N, | ||
SCIP_Real * | a, | ||
SCIP_Real * | w | ||
) |
Calls Lapacks Dsyev routine to compute eigenvalues and eigenvectors of a dense matrix. It's here, because Ipopt is linked against Lapack.
Calls Lapacks Dsyev routine to compute eigenvalues and eigenvectors of a dense matrix.
It's here, because we use Ipopt's interface to Lapack.
- Parameters
-
computeeigenvectors should also eigenvectors should be computed ? N dimension a matrix data on input (size N*N); eigenvectors on output if computeeigenvectors == TRUE w buffer to store eigenvalues (size N)
Definition at line 2864 of file nlpi_ipopt.cpp.
References SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
Referenced by checkCurvature(), checkFactorable(), computeED(), and SCIP_DECL_QUADCONSUPGD().
◆ SCIPsolveLinearProb()
SCIP_EXPORT SCIP_RETCODE SCIPsolveLinearProb | ( | int | N, |
SCIP_Real * | A, | ||
SCIP_Real * | b, | ||
SCIP_Real * | x, | ||
SCIP_Bool * | success | ||
) |
solves a linear problem of the form Ax = b for a regular matrix A
Calls Lapacks IpLapackDgetrf routine to calculate a LU factorization and uses this factorization to solve the linear problem Ax = b. It's here, because Ipopt is linked against Lapack.
- Parameters
-
N dimension A matrix data on input (size N*N); filled column-wise b right hand side vector (size N) x buffer to store solution (size N) success pointer to store if the solving routine was successful
Definition at line 2935 of file nlpi_ipopt.cpp.
References ABS, BMSallocMemoryArray, BMScopyMemoryArray, BMSduplicateMemoryArray, BMSfreeMemoryArray, BMSfreeMemoryArrayNull, ENTRY, FALSE, NULL, SCIP_ALLOC, SCIP_ALLOC_TERMINATE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPsolveLinearProb3(), TRUE, and y.
Referenced by SCIPcomputeHyperplaneThreePoints().
◆ SCIPcreateNlpSolverWorhp()
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlpSolverWorhp | ( | BMS_BLKMEM * | blkmem, |
SCIP_NLPI ** | nlpi, | ||
SCIP_Bool | useip | ||
) |
create solver interface for Worhp solver
- Parameters
-
blkmem block memory data structure nlpi pointer to buffer for nlpi address useip TRUE for using Interior Point, FALSE for SQP
Definition at line 2369 of file nlpi_worhp.c.
References BMSallocBlockMemory, BMSclearMemory, NLPI_DESC, NLPI_PRIORITY_IP, NLPI_PRIORITY_SQP, noprint(), NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DEFAULT_INFINITY, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPnlpiCreate(), and SCIPsnprintf().
Referenced by SCIP_DECL_NLPICOPY(), and SCIPincludeDefaultPlugins().
◆ SCIPgetSolverNameWorhp()
SCIP_EXPORT const char* SCIPgetSolverNameWorhp | ( | void | ) |
gets string that identifies Worhp (version number)
Definition at line 2433 of file nlpi_worhp.c.
Referenced by SCIPincludeDefaultPlugins().
◆ SCIPgetSolverDescWorhp()
SCIP_EXPORT const char* SCIPgetSolverDescWorhp | ( | void | ) |
gets string that describes Worhp (version number)
Definition at line 2447 of file nlpi_worhp.c.
Referenced by SCIPincludeDefaultPlugins().
◆ SCIPisWorhpAvailableWorhp()
SCIP_EXPORT SCIP_Bool SCIPisWorhpAvailableWorhp | ( | void | ) |
returns whether Worhp is available, i.e., whether it has been linked in
Definition at line 2455 of file nlpi_worhp.c.