methods for the management of NLP solver interfaces
Macros | |
#define | SCIPsolveNlpi(scip, nlpi, ...) |
Statistics | |
int | SCIPnlpiGetNProblems (SCIP_NLPI *nlpi) |
SCIP_Real | SCIPnlpiGetProblemTime (SCIP_NLPI *nlpi) |
int | SCIPnlpiGetNSolves (SCIP_NLPI *nlpi) |
SCIP_Real | SCIPnlpiGetSolveTime (SCIP_NLPI *nlpi) |
SCIP_Real | SCIPnlpiGetEvalTime (SCIP_NLPI *nlpi) |
SCIP_Longint | SCIPnlpiGetNIterations (SCIP_NLPI *nlpi) |
int | SCIPnlpiGetNTermStat (SCIP_NLPI *nlpi, SCIP_NLPTERMSTAT termstatus) |
int | SCIPnlpiGetNSolStat (SCIP_NLPI *nlpi, SCIP_NLPSOLSTAT solstatus) |
void | SCIPnlpiMergeStatistics (SCIP_NLPI *targetnlpi, SCIP_NLPI *sourcenlpi, SCIP_Bool reset) |
Convenience methods to setup and update an NLPI problem using NLROWS | |
These methods can be used, for example, to create a NLPI problem that contains only the convex rows of the SCIP NLP relaxation. | |
SCIP_RETCODE | SCIPcreateNlpiProblemFromNlRows (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **nlpiprob, const char *name, SCIP_NLROW **nlrows, int nnlrows, SCIP_HASHMAP *var2idx, SCIP_HASHMAP *nlrow2idx, SCIP_Real *nlscore, SCIP_Real cutoffbound, SCIP_Bool setobj, SCIP_Bool onlyconvex) |
SCIP_RETCODE | SCIPupdateNlpiProblem (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2nlpiidx, SCIP_VAR **nlpivars, int nlpinvars, SCIP_Real cutoffbound) |
SCIP_RETCODE | SCIPaddNlpiProblemRows (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_ROW **rows, int nrows) |
SCIP_RETCODE | SCIPaddNlpiProblemNlRows (SCIP *scip, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *nlpiprob, SCIP_HASHMAP *var2idx, SCIP_NLROW **nlrows, int nnlrows) |
#define SCIPsolveNlpi | ( | scip, | |
nlpi, | |||
... ) |
try to solve NLP with non-default parameters given as optional arguments
Typical use is
SCIP_CALL( SCIPsolveNlpi(scip, nlpi, nlpiproblem) );
to solve with default parameters. Additionally, one or several values of SCIP_NLPPARAM can be set:
SCIP_CALL( SCIPsolveNlpi(scip, nlpi, nlpiproblem, .iterlimit = 42, .verblevel = 1) ); //lint !e666
Definition at line 208 of file scip_nlpi.h.
Referenced by computeInteriorPoint(), separateCuts(), and solveFeasibilityNonlinearSubproblem().
SCIP_DECL_SORTPTRCOMP | ( | SCIPnlpiComp | ) |
SCIP_NLPIDATA * SCIPnlpiGetData | ( | SCIP_NLPI * | nlpi | ) |
gets data of an NLPI
nlpi | NLP interface structure |
Definition at line 712 of file nlpi.c.
References assert(), SCIP_Nlpi::nlpidata, and NULL.
Referenced by handleNlpParam(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPICHGEXPR(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIP_DECL_NLPICHGOBJCONSTANT(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPICOPY(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_DECL_NLPIGETSOLSTAT(), SCIP_DECL_NLPIGETSOLUTION(), SCIP_DECL_NLPIGETSTATISTICS(), SCIP_DECL_NLPIGETTERMSTAT(), SCIP_DECL_NLPISETINITIALGUESS(), SCIP_DECL_NLPISETOBJECTIVE(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_NLPISOLVE(), and SCIP_DECL_NLPISOLVE().
gets NLP solver name
nlpi | NLP interface structure |
Definition at line 722 of file nlpi.c.
References assert(), SCIP_Nlpi::name, and NULL.
Referenced by computeInteriorPoint(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NLPISOLVE(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPmergeNLPIStatistics(), and SCIPprintNLPIStatistics().
gets NLP solver description
nlpi | NLP interface structure |
Definition at line 732 of file nlpi.c.
References assert(), SCIP_Nlpi::description, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPnlpiGetPriority | ( | SCIP_NLPI * | nlpi | ) |
gets NLP solver priority
nlpi | NLP interface structure |
Definition at line 742 of file nlpi.c.
References assert(), NULL, and SCIP_Nlpi::priority.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPincludeNlpi().
int SCIPnlpiGetNProblems | ( | SCIP_NLPI * | nlpi | ) |
gives number of problems created for NLP solver so far
nlpi | NLP interface structure |
Definition at line 756 of file nlpi.c.
References assert(), SCIP_Nlpi::nproblems, and NULL.
Referenced by SCIPprintNLPIStatistics().
gives total time spend in problem creation/modification/freeing
nlpi | NLP interface structure |
Definition at line 765 of file nlpi.c.
References assert(), NULL, SCIP_Nlpi::problemtime, and SCIPclockGetTime().
Referenced by SCIPprintNLPIStatistics().
int SCIPnlpiGetNSolves | ( | SCIP_NLPI * | nlpi | ) |
total number of NLP solves so far
nlpi | NLP interface structure |
Definition at line 774 of file nlpi.c.
References assert(), SCIP_Nlpi::nsolves, and NULL.
Referenced by SCIPprintNLPIStatistics().
gives total time spend in NLP solves (as reported by solver)
nlpi | NLP interface structure |
Definition at line 783 of file nlpi.c.
References assert(), NULL, and SCIP_Nlpi::solvetime.
Referenced by SCIPprintNLPIStatistics().
gives total time spend in function evaluation during NLP solves
If parameter timing/nlpieval
is off (the default), depending on the NLP solver, this may just return 0.
nlpi | NLP interface structure |
Definition at line 795 of file nlpi.c.
References assert(), SCIP_Nlpi::evaltime, and NULL.
Referenced by SCIPprintNLPIStatistics().
SCIP_Longint SCIPnlpiGetNIterations | ( | SCIP_NLPI * | nlpi | ) |
gives total number of iterations spend by NLP solver so far
nlpi | NLP interface structure |
Definition at line 804 of file nlpi.c.
References assert(), SCIP_Nlpi::niter, and NULL.
Referenced by SCIPprintNLPIStatistics().
int SCIPnlpiGetNTermStat | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPTERMSTAT | termstatus ) |
gives number of times a solve ended with a specific termination status
nlpi | NLP interface structure |
termstatus | the termination status to query for |
Definition at line 813 of file nlpi.c.
References assert(), i, SCIP_Nlpi::ntermstat, and NULL.
Referenced by SCIPprintNLPIStatistics().
int SCIPnlpiGetNSolStat | ( | SCIP_NLPI * | nlpi, |
SCIP_NLPSOLSTAT | solstatus ) |
gives number of times a solve ended with a specific solution status
nlpi | NLP interface structure |
solstatus | the solution status to query for |
Definition at line 823 of file nlpi.c.
References assert(), i, SCIP_Nlpi::nsolstat, and NULL.
Referenced by SCIPprintNLPIStatistics().
adds statistics from one NLPI to another
targetnlpi | NLP interface where to add statistics |
sourcenlpi | NLP interface from which to add statistics |
reset | whether to reset statistics in sourcescip |
Definition at line 833 of file nlpi.c.
References assert(), i, NULL, SCIP_NLPSOLSTAT_GLOBOPT, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIPclockGetTime(), SCIPclockReset(), and SCIPclockSetTime().
Referenced by SCIPmergeNLPIStatistics().
creates an NLPI and includes it into SCIP
scip | SCIP 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 108 of file scip_nlpi.c.
References assert(), FALSE, i, NULL, paramname, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddIntParam(), SCIPcheckStage(), SCIPerrorMessage, SCIPfindNlpi(), SCIPnlpiCreate(), SCIPnlpiGetPriority(), SCIPsetIncludeNlpi(), SCIPsnprintf(), and TRUE.
Referenced by SCIPincludeNlpSolverAll(), SCIPincludeNlpSolverFilterSQP(), SCIPincludeNlpSolverIpopt(), and SCIPincludeNlpSolverWorhp().
returns the NLPI of the given name, or NULL if not existing
scip | SCIP data structure |
name | name of NLPI |
Definition at line 174 of file scip_nlpi.c.
References assert(), NULL, and SCIPsetFindNlpi().
Referenced by SCIPincludeNlpi().
returns the array of currently available NLPIs (sorted by priority)
scip | SCIP data structure |
Definition at line 187 of file scip_nlpi.c.
References assert(), NULL, and SCIPsetSortNlpis().
Referenced by applyNlobbt(), computeInteriorPoint(), createAuxiliaryNonlinearSubproblem(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeNlpSolverAll().
int SCIPgetNNlpis | ( | SCIP * | scip | ) |
returns the number of currently available NLPIs
scip | SCIP data structure |
Definition at line 200 of file scip_nlpi.c.
References assert(), and NULL.
Referenced by applyNlobbt(), checkSubproblemConvexity(), computeInteriorPoint(), createSubSCIP(), generateAndApplyBendersCuts(), runHeuristic(), SCIP_DECL_BENDERSCUTEXEC(), SCIP_DECL_BENDERSCUTEXEC(), SCIP_DECL_BENDERSCUTEXEC(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolSlackVarsActive(), SCIPbendersSolveSubproblemLP(), SCIPgenerateAndApplyBendersOptCut(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeNlpSolverAll().
SCIP_RETCODE SCIPsetNlpiPriority | ( | SCIP * | scip, |
SCIP_NLPI * | nlpi, | ||
int | priority ) |
sets the priority of an NLPI
scip | SCIP data structure |
nlpi | NLPI |
priority | new priority of the NLPI |
Definition at line 211 of file scip_nlpi.c.
References assert(), NULL, SCIP_OKAY, and SCIPsetSetPriorityNlpi().
Referenced by SCIP_DECL_PARAMCHGD().
SCIP_DECL_NLPIGETSOLVERPOINTER | ( | SCIPgetNlpiSolverPointer | ) |
gets internal pointer to NLP solver
Depending on the solver interface, a solver pointer may exist for every NLP problem instance. For this case, a NLPI problem can be passed in as well.
gets internal pointer to NLP solver
Definition at line 226 of file scip_nlpi.c.
References assert(), NULL, and SCIPnlpiGetSolverPointer().
SCIP_DECL_NLPICREATEPROBLEM | ( | SCIPcreateNlpiProblem | ) |
creates an empty problem instance
Definition at line 234 of file scip_nlpi.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiCreateProblem().
SCIP_DECL_NLPIFREEPROBLEM | ( | SCIPfreeNlpiProblem | ) |
frees a problem instance
Definition at line 244 of file scip_nlpi.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiFreeProblem().
SCIP_DECL_NLPIGETPROBLEMPOINTER | ( | SCIPgetNlpiProblemPointer | ) |
gets internal pointer to solver-internal problem instance
Definition at line 254 of file scip_nlpi.c.
References assert(), NULL, and SCIPnlpiGetProblemPointer().
SCIP_DECL_NLPIADDVARS | ( | SCIPaddNlpiVars | ) |
add variables to nlpi
Definition at line 262 of file scip_nlpi.c.
References assert(), NULL, nvars, SCIP_CALL, SCIP_OKAY, and SCIPnlpiAddVars().
SCIP_DECL_NLPIADDCONSTRAINTS | ( | SCIPaddNlpiConstraints | ) |
add constraints to nlpi
Definition at line 272 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiAddConstraints().
SCIP_DECL_NLPISETOBJECTIVE | ( | SCIPsetNlpiObjective | ) |
sets or overwrites objective, a minimization problem is expected
Definition at line 282 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiSetObjective().
SCIP_DECL_NLPICHGVARBOUNDS | ( | SCIPchgNlpiVarBounds | ) |
change variable bounds
Definition at line 292 of file scip_nlpi.c.
References assert(), NULL, nvars, SCIP_CALL, SCIP_OKAY, and SCIPnlpiChgVarBounds().
SCIP_DECL_NLPICHGCONSSIDES | ( | SCIPchgNlpiConsSides | ) |
change constraint sides
Definition at line 302 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiChgConsSides().
SCIP_DECL_NLPIDELVARSET | ( | SCIPdelNlpiVarSet | ) |
delete a set of variables
Definition at line 312 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiDelVarSet().
SCIP_DECL_NLPIDELCONSSET | ( | SCIPdelNlpiConsSet | ) |
delete a set of constraints
Definition at line 322 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiDelConsSet().
SCIP_DECL_NLPICHGLINEARCOEFS | ( | SCIPchgNlpiLinearCoefs | ) |
changes or adds linear coefficients in a constraint or objective
Definition at line 332 of file scip_nlpi.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiChgLinearCoefs().
SCIP_DECL_NLPICHGEXPR | ( | SCIPchgNlpiExpr | ) |
change the expression in the nonlinear part
Definition at line 342 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiChgExpr().
SCIP_DECL_NLPICHGOBJCONSTANT | ( | SCIPchgNlpiObjConstant | ) |
change the constant offset in the objective
Definition at line 352 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiChgObjConstant().
SCIP_DECL_NLPISETINITIALGUESS | ( | SCIPsetNlpiInitialGuess | ) |
sets initial guess
Definition at line 362 of file scip_nlpi.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiSetInitialGuess().
SCIP_DECL_NLPISOLVE | ( | SCIPsolveNlpiParam | ) |
try to solve NLP with all parameters given as SCIP_NLPPARAM struct
Typical use is
SCIP_NLPPARAM nlparam = { SCIP_NLPPARAM_DEFAULT(scip); } nlpparam.iterlimit = 42; SCIP_CALL( SCIPsolveNlpiParam(scip, nlpi, nlpiproblem, nlpparam) );
or, in "one" line:
SCIP_CALL( SCIPsolveNlpiParam(scip, nlpi, nlpiproblem, (SCIP_NLPPARAM){ SCIP_NLPPARAM_DEFAULT(scip), .iterlimit = 42 }) );
To get the latter, also SCIPsolveNlpi can be used.
try to solve NLP with all parameters given as SCIP_NLPPARAM struct
Typical use is
SCIP_NLPPARAM nlparam = { SCIP_NLPPARAM_DEFAULT(scip); } nlpparam.iterlim = 42; SCIP_CALL( SCIPsolveNlpiParam(scip, nlpi, nlpiproblem, nlpparam) );
or, in "one" line:
SCIP_CALL( SCIPsolveNlpiParam(scip, nlpi, nlpiproblem, (SCIP_NLPPARAM){ SCIP_NLPPARAM_DEFAULT(scip), .iterlimit = 42 }) );
To get the latter, also SCIPsolveNlpi can be used.
Definition at line 386 of file scip_nlpi.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiSolve().
SCIP_DECL_NLPIGETSOLSTAT | ( | SCIPgetNlpiSolstat | ) |
gives solution status
Definition at line 401 of file scip_nlpi.c.
References assert(), NULL, and SCIPnlpiGetSolstat().
SCIP_DECL_NLPIGETTERMSTAT | ( | SCIPgetNlpiTermstat | ) |
gives termination reason
Definition at line 409 of file scip_nlpi.c.
References assert(), NULL, and SCIPnlpiGetTermstat().
SCIP_DECL_NLPIGETSOLUTION | ( | SCIPgetNlpiSolution | ) |
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
Definition at line 419 of file scip_nlpi.c.
References assert(), NULL, objval, SCIP_CALL, SCIP_OKAY, and SCIPnlpiGetSolution().
SCIP_DECL_NLPIGETSTATISTICS | ( | SCIPgetNlpiStatistics | ) |
gives solve statistics
Definition at line 429 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiGetStatistics().
SCIP_RETCODE SCIPcreateNlpiProblemFromNlRows | ( | SCIP * | scip, |
SCIP_NLPI * | nlpi, | ||
SCIP_NLPIPROBLEM ** | nlpiprob, | ||
const char * | name, | ||
SCIP_NLROW ** | nlrows, | ||
int | nnlrows, | ||
SCIP_HASHMAP * | var2idx, | ||
SCIP_HASHMAP * | nlrow2idx, | ||
SCIP_Real * | nlscore, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | setobj, | ||
SCIP_Bool | onlyconvex ) |
creates a NLPI problem from given nonlinear rows
The function computes for each variable the number of non-linear occurrences and stores it in the nlscore array.
scip | SCIP data structure |
nlpi | interface to NLP solver |
nlpiprob | buffer to store pointer to created nlpi problem |
name | name to give to problem |
nlrows | nonlinear rows |
nnlrows | number of nonlinear rows |
var2idx | empty hash map to store mapping between variables and indices in nlpiprob |
nlrow2idx | empty hash map to store mapping between variables and indices in nlpiprob, can be NULL |
nlscore | array to store the score of each nonlinear variable (NULL if not needed) |
cutoffbound | cutoff bound |
setobj | whether the objective function should be set to one of the SCIP problem |
onlyconvex | filter only for convex constraints |
Definition at line 444 of file scip_nlpi.c.
References assert(), BMSclearMemoryArray, FALSE, i, NULL, nvars, SCIP_CALL, SCIP_EXPRCURV_CONCAVE, SCIP_EXPRCURV_CONVEX, SCIP_EXPRITER_DFS, SCIP_OKAY, SCIPallocBufferArray, SCIPcreateExpriter(), SCIPdebugMsg, SCIPduplicateExpr(), SCIPexpriterGetNext(), SCIPexpriterInit(), SCIPexpriterIsEnd(), SCIPfreeBufferArray, SCIPfreeExpriter(), SCIPgetIndexExprVaridx(), SCIPgetNVars(), SCIPgetVars(), SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPhashmapInsertInt(), SCIPinfinity(), SCIPisExprVaridx(), SCIPisInfinity(), SCIPisZero(), SCIPnlpiCreateProblem(), SCIPnlrowGetConstant(), SCIPnlrowGetCurvature(), SCIPnlrowGetExpr(), SCIPnlrowGetLhs(), SCIPnlrowGetLinearCoefs(), SCIPnlrowGetLinearVars(), SCIPnlrowGetName(), SCIPnlrowGetNLinearVars(), SCIPnlrowGetRhs(), SCIPreleaseExpr(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetUbLocal(), TRUE, var, varidx, and vars.
Referenced by applyNlobbt(), computeInteriorPoint(), createAuxiliaryNonlinearSubproblem(), createNLP(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPupdateNlpiProblem | ( | SCIP * | scip, |
SCIP_NLPI * | nlpi, | ||
SCIP_NLPIPROBLEM * | nlpiprob, | ||
SCIP_HASHMAP * | var2nlpiidx, | ||
SCIP_VAR ** | nlpivars, | ||
int | nlpinvars, | ||
SCIP_Real | cutoffbound ) |
updates variable bounds and the cutoff row in a NLPI problem
The NLPI problem must have been setup by SCIPcreateNlpiProblemFromNlRows().
scip | SCIP data structure |
nlpi | interface to NLP solver |
nlpiprob | nlpi problem representing the convex NLP relaxation |
var2nlpiidx | mapping between variables and nlpi indices |
nlpivars | array containing all variables of the nlpi |
nlpinvars | total number of nlpi variables |
cutoffbound | new cutoff bound |
Definition at line 730 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebugMsg, SCIPfreeBufferArray, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPinfinity(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by applyNlobbt(), SCIP_DECL_SEPAEXECLP(), and updateAuxiliaryNonlinearSubproblem().
SCIP_RETCODE SCIPaddNlpiProblemRows | ( | SCIP * | scip, |
SCIP_NLPI * | nlpi, | ||
SCIP_NLPIPROBLEM * | nlpiprob, | ||
SCIP_HASHMAP * | var2idx, | ||
SCIP_ROW ** | rows, | ||
int | nrows ) |
adds SCIP_ROWs to a NLPI problem
scip | SCIP data structure |
nlpi | interface to NLP solver |
nlpiprob | nlpi problem |
var2idx | empty hash map to store mapping between variables and indices in nlpiprob |
rows | rows to add |
nrows | number of rows to add |
Definition at line 782 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcolGetVar(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetNVars(), SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), and var.
Referenced by applyNlobbt(), computeInteriorPoint(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPaddNlpiProblemNlRows | ( | SCIP * | scip, |
SCIP_NLPI * | nlpi, | ||
SCIP_NLPIPROBLEM * | nlpiprob, | ||
SCIP_HASHMAP * | var2idx, | ||
SCIP_NLROW ** | nlrows, | ||
int | nnlrows ) |
adds SCIP_NLROWs to a NLPI problem
scip | SCIP data structure |
nlpi | interface to NLP solver |
nlpiprob | nlpi problem |
var2idx | empty hash map to store mapping between variables and indices in nlpiprob |
nlrows | rows to add |
nnlrows | number of rows to add |
Definition at line 865 of file scip_nlpi.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebugMsg, SCIPduplicateExpr(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPinfinity(), SCIPisInfinity(), SCIPnlrowGetConstant(), SCIPnlrowGetExpr(), SCIPnlrowGetLhs(), SCIPnlrowGetLinearCoefs(), SCIPnlrowGetLinearVars(), SCIPnlrowGetName(), SCIPnlrowGetNLinearVars(), SCIPnlrowGetRhs(), SCIPreleaseExpr(), and var.
Referenced by addRegularScholtes().