56 const char* description,
120 (*nlpi)->priority = priority;
142 (*nlpi)->nlpidata = nlpidata;
193 if( (*nlpi)->nlpifree !=
NULL )
237 if( nlpi->nlpigetsolverpointer !=
NULL )
238 return nlpi->nlpigetsolverpointer(
set->scip, nlpi, problem);
257 SCIP_CALL( nlpi->nlpicreateproblem(
set->scip, nlpi, problem, name) );
278 SCIP_CALL( nlpi->nlpifreeproblem(
set->scip, nlpi, problem) );
295 if( nlpi->nlpigetproblempointer !=
NULL )
296 return nlpi->nlpigetproblempointer(
set->scip, nlpi, problem);
307 const SCIP_Real* lbs,
308 const SCIP_Real* ubs,
309 const char** varnames
318 SCIP_CALL( nlpi->nlpiaddvars(
set->scip, nlpi, problem,
nvars, lbs, ubs, varnames) );
330 const SCIP_Real*
lhss,
331 const SCIP_Real*
rhss,
345 SCIP_CALL( nlpi->nlpiaddconstraints(
set->scip, nlpi, problem, nconss,
lhss,
rhss,
nlininds,
lininds,
linvals, exprs,
names) );
360 const SCIP_Real constant
382 const SCIP_Real* lbs,
392 SCIP_CALL( nlpi->nlpichgvarbounds(
set->scip, nlpi, problem,
nvars, indices, lbs, ubs) );
405 const SCIP_Real*
lhss,
406 const SCIP_Real*
rhss
471 const SCIP_Real* vals
480 SCIP_CALL( nlpi->nlpichglinearcoefs(
set->scip, nlpi, problem, idx, nvals, varidxs, vals) );
532 SCIP_Real* primalvalues,
533 SCIP_Real* consdualvalues,
534 SCIP_Real* varlbdualvalues,
535 SCIP_Real* varubdualvalues
542 if( nlpi->nlpisetinitialguess !=
NULL )
544 SCIP_CALL( nlpi->nlpisetinitialguess(
set->scip, nlpi, problem, primalvalues, consdualvalues, varlbdualvalues, varubdualvalues) );
605 SCIP_CALL( nlpi->nlpisolve(
set->scip, nlpi, problem, *param) );
608 ++nlpi->
ntermstat[nlpi->nlpigettermstat(
set->scip, nlpi, problem)];
610 ++nlpi->
nsolstat[nlpi->nlpigetsolstat(
set->scip, nlpi, problem)];
612 SCIP_CALL( nlpi->nlpigetstatistics(
set->scip, nlpi, problem, &stats) );
632 return nlpi->nlpigetsolstat(
set->scip, nlpi, problem);
647 return nlpi->nlpigettermstat(
set->scip, nlpi, problem);
657 SCIP_Real** primalvalues,
658 SCIP_Real** consdualvalues,
659 SCIP_Real** varlbdualvalues,
660 SCIP_Real** varubdualvalues,
669 SCIP_CALL( nlpi->nlpigetsolution(
set->scip, nlpi, problem, primalvalues, consdualvalues, varlbdualvalues, varubdualvalues,
objval) );
696#undef SCIPnlpiGetData
697#undef SCIPnlpiGetName
698#undef SCIPnlpiGetDesc
699#undef SCIPnlpiGetPriority
700#undef SCIPnlpiSetPriority
701#undef SCIPnlpiGetNProblems
702#undef SCIPnlpiGetProblemTime
703#undef SCIPnlpiGetNSolves
704#undef SCIPnlpiGetSolveTime
705#undef SCIPnlpiGetEvalTime
706#undef SCIPnlpiGetNIterations
707#undef SCIPnlpiGetNTermStat
708#undef SCIPnlpiGetNSolStat
void SCIPclockSetTime(SCIP_CLOCK *clck, SCIP_Real sec)
void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPclockReset(SCIP_CLOCK *clck)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
int SCIPnlpiGetNSolves(SCIP_NLPI *nlpi)
SCIP_Real SCIPnlpiGetProblemTime(SCIP_NLPI *nlpi)
SCIP_Real SCIPnlpiGetSolveTime(SCIP_NLPI *nlpi)
int SCIPnlpiGetNTermStat(SCIP_NLPI *nlpi, SCIP_NLPTERMSTAT termstatus)
SCIP_Longint SCIPnlpiGetNIterations(SCIP_NLPI *nlpi)
int SCIPnlpiGetNProblems(SCIP_NLPI *nlpi)
void SCIPnlpiMergeStatistics(SCIP_NLPI *targetnlpi, SCIP_NLPI *sourcenlpi, SCIP_Bool reset)
const char * SCIPnlpiGetDesc(SCIP_NLPI *nlpi)
int SCIPnlpiGetPriority(SCIP_NLPI *nlpi)
int SCIPnlpiGetNSolStat(SCIP_NLPI *nlpi, SCIP_NLPSOLSTAT solstatus)
SCIP_NLPIDATA * SCIPnlpiGetData(SCIP_NLPI *nlpi)
const char * SCIPnlpiGetName(SCIP_NLPI *nlpi)
SCIP_Real SCIPnlpiGetEvalTime(SCIP_NLPI *nlpi)
assert(minobj< SCIPgetCutoffbound(scip))
#define BMSfreeMemory(ptr)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSfreeMemoryArray(ptr)
#define BMSallocClearMemory(ptr)
#define BMSclearMemoryArray(ptr, num)
SCIP_RETCODE SCIPnlpiSetInitialGuess(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real *primalvalues, SCIP_Real *consdualvalues, SCIP_Real *varlbdualvalues, SCIP_Real *varubdualvalues)
SCIP_RETCODE SCIPnlpiChgVarBounds(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, const int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
SCIP_RETCODE SCIPnlpiSetObjective(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nlins, const int *lininds, const SCIP_Real *linvals, SCIP_EXPR *expr, const SCIP_Real constant)
SCIP_RETCODE SCIPnlpiGetStatistics(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPSTATISTICS *statistics)
SCIP_NLPSOLSTAT SCIPnlpiGetSolstat(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
SCIP_RETCODE SCIPnlpiFreeProblem(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem)
SCIP_RETCODE SCIPnlpiChgObjConstant(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real objconstant)
SCIP_RETCODE SCIPnlpiDelVarSet(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
SCIP_RETCODE SCIPnlpiAddConstraints(SCIP_SET *set, 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, SCIP_EXPR **exprs, const char **names)
SCIP_RETCODE SCIPnlpiSolve(SCIP_SET *set, SCIP_STAT *stat, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM *param)
SCIP_RETCODE SCIPnlpiDelConsSet(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
void * SCIPnlpiGetProblemPointer(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
SCIP_RETCODE SCIPnlpiAddVars(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
SCIP_RETCODE SCIPnlpiGetSolution(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real **primalvalues, SCIP_Real **consdualvalues, SCIP_Real **varlbdualvalues, SCIP_Real **varubdualvalues, SCIP_Real *objval)
SCIP_RETCODE SCIPnlpiFree(SCIP_NLPI **nlpi, SCIP_SET *set)
SCIP_RETCODE SCIPnlpiChgExpr(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, SCIP_EXPR *expr)
void * SCIPnlpiGetSolverPointer(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
SCIP_RETCODE SCIPnlpiChgConsSides(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
SCIP_RETCODE SCIPnlpiCreate(SCIP_NLPI **nlpi, const char *name, const char *description, int priority, SCIP_DECL_NLPICOPY((*nlpicopy)), SCIP_DECL_NLPIFREE((*nlpifree)), SCIP_DECL_NLPIGETSOLVERPOINTER((*nlpigetsolverpointer)), SCIP_DECL_NLPICREATEPROBLEM((*nlpicreateproblem)), SCIP_DECL_NLPIFREEPROBLEM((*nlpifreeproblem)), SCIP_DECL_NLPIGETPROBLEMPOINTER((*nlpigetproblempointer)), SCIP_DECL_NLPIADDVARS((*nlpiaddvars)), SCIP_DECL_NLPIADDCONSTRAINTS((*nlpiaddconstraints)), SCIP_DECL_NLPISETOBJECTIVE((*nlpisetobjective)), SCIP_DECL_NLPICHGVARBOUNDS((*nlpichgvarbounds)), SCIP_DECL_NLPICHGCONSSIDES((*nlpichgconssides)), SCIP_DECL_NLPIDELVARSET((*nlpidelvarset)), SCIP_DECL_NLPIDELCONSSET((*nlpidelconsset)), SCIP_DECL_NLPICHGLINEARCOEFS((*nlpichglinearcoefs)), SCIP_DECL_NLPICHGEXPR((*nlpichgexpr)), SCIP_DECL_NLPICHGOBJCONSTANT((*nlpichgobjconstant)), SCIP_DECL_NLPISETINITIALGUESS((*nlpisetinitialguess)), SCIP_DECL_NLPISOLVE((*nlpisolve)), SCIP_DECL_NLPIGETSOLSTAT((*nlpigetsolstat)), SCIP_DECL_NLPIGETTERMSTAT((*nlpigettermstat)), SCIP_DECL_NLPIGETSOLUTION((*nlpigetsolution)), SCIP_DECL_NLPIGETSTATISTICS((*nlpigetstatistics)), SCIP_NLPIDATA *nlpidata)
void SCIPnlpiSetPriority(SCIP_NLPI *nlpi, int priority)
SCIP_RETCODE SCIPnlpiCopyInclude(SCIP_NLPI *sourcenlpi, SCIP_SET *targetset)
SCIP_NLPTERMSTAT SCIPnlpiGetTermstat(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
void SCIPnlpiInit(SCIP_NLPI *nlpi)
SCIP_RETCODE SCIPnlpiCreateProblem(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem, const char *name)
SCIP_RETCODE SCIPnlpiChgLinearCoefs(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idx, int nvals, const int *varidxs, const SCIP_Real *vals)
internal methods for NLP solver interfaces
public methods for message output
public methods for NLP solver interfaces
int nsolstat[SCIP_NLPSOLSTAT_UNKNOWN+1]
int ntermstat[SCIP_NLPTERMSTAT_OTHER+1]
data definitions for an NLP solver interface
datastructures for global SCIP settings
datastructures for problem statistics
#define SCIP_DECL_SORTPTRCOMP(x)
#define SCIP_DECL_NLPISOLVE(x)
#define SCIP_DECL_NLPICHGLINEARCOEFS(x)
#define SCIP_DECL_NLPICHGOBJCONSTANT(x)
#define SCIP_DECL_NLPIGETSOLUTION(x)
#define SCIP_DECL_NLPISETOBJECTIVE(x)
#define SCIP_DECL_NLPICREATEPROBLEM(x)
#define SCIP_DECL_NLPIGETSTATISTICS(x)
#define SCIP_DECL_NLPIDELCONSSET(x)
#define SCIP_DECL_NLPICHGCONSSIDES(x)
#define SCIP_DECL_NLPIDELVARSET(x)
#define SCIP_DECL_NLPICHGEXPR(x)
#define SCIP_DECL_NLPIADDVARS(x)
enum SCIP_NlpSolStat SCIP_NLPSOLSTAT
#define SCIP_DECL_NLPISETINITIALGUESS(x)
#define SCIP_DECL_NLPIFREEPROBLEM(x)
#define SCIP_DECL_NLPICOPY(x)
#define SCIP_DECL_NLPIGETSOLVERPOINTER(x)
#define SCIP_DECL_NLPIGETSOLSTAT(x)
#define SCIP_DECL_NLPICHGVARBOUNDS(x)
#define SCIP_DECL_NLPIGETPROBLEMPOINTER(x)
#define SCIP_DECL_NLPIFREE(x)
#define SCIP_DECL_NLPIADDCONSTRAINTS(x)
@ SCIP_NLPSOLSTAT_GLOBOPT
@ SCIP_NLPSOLSTAT_UNKNOWN
#define SCIP_DECL_NLPIGETTERMSTAT(x)
enum SCIP_NlpTermStat SCIP_NLPTERMSTAT
struct SCIP_NlpiData SCIP_NLPIDATA
enum SCIP_Retcode SCIP_RETCODE