assert(nlpi !=
NULL);
89assert(nlpidata !=
NULL);
90assert(*nlpidata !=
NULL);
94assert(*nlpidata ==
NULL);
106assert(nlpi !=
NULL);
107assert(problem !=
NULL);
110assert(data !=
NULL);
116(*problem)->nnlpiproblems = data->nnlpis;
118 for( i = 0; i < data->nnlpis; ++i )
120assert(data->nlpis[i] !=
NULL);
121 SCIP_CALL( SCIPcreateNlpiProblem(
scip, data->nlpis[i], &((*problem)->nlpiproblems[i]), name) );
134assert(nlpi !=
NULL);
135assert(problem !=
NULL);
136assert(*problem !=
NULL);
139assert(data !=
NULL);
141 for( i = 0; i < data->nnlpis; ++i )
143assert(data->nlpis[i] !=
NULL);
144 SCIP_CALL( SCIPfreeNlpiProblem(
scip, data->nlpis[i], &(*problem)->nlpiproblems[i]) );
161assert(nlpidata !=
NULL);
163 for( i = 0; i < nlpidata->nnlpis; ++i )
165assert(nlpidata->nlpis[i] !=
NULL);
166assert(problem->nlpiproblems[i] !=
NULL);
168 SCIP_CALL( SCIPaddNlpiVars(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], nvars, lbs, ubs, varnames) );
183assert(nlpidata !=
NULL);
185 for( i = 0; i < nlpidata->nnlpis; ++i )
187assert(nlpidata->nlpis[i] !=
NULL);
188assert(problem->nlpiproblems[i] !=
NULL);
190 SCIP_CALL( SCIPaddNlpiConstraints(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], nconss, lhss, rhss,
191nlininds, lininds, linvals, exprs, names) );
205assert(nlpidata !=
NULL);
207 for( i = 0; i < nlpidata->nnlpis; ++i )
209assert(nlpidata->nlpis[i] !=
NULL);
210assert(problem->nlpiproblems[i] !=
NULL);
212 SCIP_CALL( SCIPsetNlpiObjective(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], nlins, lininds, linvals, expr, constant) );
226assert(nlpidata !=
NULL);
228 for( i = 0; i < nlpidata->nnlpis; ++i )
230assert(nlpidata->nlpis[i] !=
NULL);
231assert(problem->nlpiproblems[i] !=
NULL);
233 SCIP_CALL( SCIPchgNlpiVarBounds(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], nvars, indices, lbs, ubs) );
247assert(nlpidata !=
NULL);
249 for( i = 0; i < nlpidata->nnlpis; ++i )
251assert(nlpidata->nlpis[i] !=
NULL);
252assert(problem->nlpiproblems[i] !=
NULL);
254 SCIP_CALL( SCIPchgNlpiConsSides(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], nconss, indices, lhss, rhss) );
269assert(nlpidata !=
NULL);
273 for( i = 0; i < nlpidata->nnlpis; ++i )
275assert(nlpidata->nlpis[i] !=
NULL);
276assert(problem->nlpiproblems[i] !=
NULL);
278 if( i < nlpidata->nnlpis -1 )
283 SCIP_CALL( SCIPdelNlpiVarSet(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], tmpdstats, dstatssize) );
291 SCIP_CALL( SCIPdelNlpiVarSet(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], dstats, dstatssize) );
309assert(nlpidata !=
NULL);
313 for( i = 0; i < nlpidata->nnlpis; ++i )
315assert(nlpidata->nlpis[i] !=
NULL);
316assert(problem->nlpiproblems[i] !=
NULL);
318 if( i < nlpidata->nnlpis - 1 )
323 SCIP_CALL( SCIPdelNlpiConsSet(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], tmpdstats, dstatssize) );
331 SCIP_CALL( SCIPdelNlpiConsSet(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], dstats, dstatssize) );
348assert(nlpidata !=
NULL);
350 for( i = 0; i < nlpidata->nnlpis; ++i )
352assert(nlpidata->nlpis[i] !=
NULL);
353assert(problem->nlpiproblems[i] !=
NULL);
355 SCIP_CALL( SCIPchgNlpiLinearCoefs(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], idx, nvals, varidxs, vals) );
369assert(nlpidata !=
NULL);
371 for( i = 0; i < nlpidata->nnlpis; ++i )
373assert(nlpidata->nlpis[i] !=
NULL);
374assert(problem->nlpiproblems[i] !=
NULL);
376 SCIP_CALL( SCIPchgNlpiExpr(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], idxcons, expr) );
390assert(nlpidata !=
NULL);
392 for( i = 0; i < nlpidata->nnlpis; ++i )
394assert(nlpidata->nlpis[i] !=
NULL);
395assert(problem->nlpiproblems[i] !=
NULL);
397 SCIP_CALL( SCIPchgNlpiObjConstant(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], objconstant) );
411assert(nlpidata !=
NULL);
413 for( i = 0; i < nlpidata->nnlpis; ++i )
415assert(nlpidata->nlpis[i] !=
NULL);
416assert(problem->nlpiproblems[i] !=
NULL);
418 SCIP_CALL( SCIPsetNlpiInitialGuess(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], primalvalues, consdualvalues,
419varlbdualvalues, varubdualvalues) );
436assert(nlpidata !=
NULL);
439problem->bestidx = 0;
446 for( i = 0; i < nlpidata->nnlpis; ++i )
453assert(nlpidata->nlpis[i] !=
NULL);
454assert(problem->nlpiproblems[i] !=
NULL);
457 SCIP_CALL( SCIPsolveNlpiParam(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], param) );
459termstat = SCIPgetNlpiTermstat(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i]);
460solstat = SCIPgetNlpiSolstat(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i]);
467 SCIP_CALL( SCIPgetNlpiSolution(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i],
473 if( termstat < besttermstat )
481 else if( solval < bestsolval )
487besttermstat = termstat;
488bestsolstat = solstat;
490problem->bestidx = i;
497 SCIP_CALL( SCIPgetNlpiStatistics(
scip, nlpidata->nlpis[i], problem->nlpiproblems[i], &stats) );
500_nnlps,
SCIPnlpiGetName(nlpidata->nlpis[i]), termstat, solstat, solval,
524assert(nlpidata !=
NULL);
525assert(nlpidata->nlpis !=
NULL);
526assert(nlpidata->nlpis[problem->bestidx] !=
NULL);
527assert(problem->nlpiproblems !=
NULL);
528assert(problem->nlpiproblems[problem->bestidx] !=
NULL);
531 returnSCIPgetNlpiSolstat(
scip, nlpidata->nlpis[problem->bestidx], problem->nlpiproblems[problem->bestidx]);
541assert(nlpidata !=
NULL);
542assert(nlpidata->nlpis !=
NULL);
543assert(nlpidata->nlpis[problem->bestidx] !=
NULL);
544assert(problem->nlpiproblems !=
NULL);
545assert(problem->nlpiproblems[problem->bestidx] !=
NULL);
548 returnSCIPgetNlpiTermstat(
scip, nlpidata->nlpis[problem->bestidx], problem->nlpiproblems[problem->bestidx]);
558assert(nlpidata !=
NULL);
559assert(nlpidata->nlpis !=
NULL);
560assert(nlpidata->nlpis[problem->bestidx] !=
NULL);
561assert(problem->nlpiproblems !=
NULL);
562assert(problem->nlpiproblems[problem->bestidx] !=
NULL);
565 SCIP_CALL( SCIPgetNlpiSolution(
scip, nlpidata->nlpis[problem->bestidx], problem->nlpiproblems[problem->bestidx],
566primalvalues, consdualvalues, varlbdualvalues, varubdualvalues, objval) );
578assert(nlpidata !=
NULL);
579assert(nlpidata->nlpis !=
NULL);
580assert(nlpidata->nlpis[problem->bestidx] !=
NULL);
581assert(problem->nlpiproblems !=
NULL);
582assert(problem->nlpiproblems[problem->bestidx] !=
NULL);
585 SCIP_CALL( SCIPgetNlpiStatistics(
scip, nlpidata->nlpis[problem->bestidx], problem->nlpiproblems[problem->bestidx],
619 for( i = 0; i < nlpidata->nnlpis; ++i )
625nlpiCopyAll, nlpiFreeAll,
NULL,
626nlpiCreateProblemAll, nlpiFreeProblemAll,
NULL,
627nlpiAddVarsAll, nlpiAddConstraintsAll, nlpiSetObjectiveAll,
628nlpiChgVarBoundsAll, nlpiChgConsSidesAll, nlpiDelVarSetAll, nlpiDelConstraintSetAll,
629nlpiChgLinearCoefsAll, nlpiChgExprAll,
630nlpiChgObjConstantAll, nlpiSetInitialGuessAll, nlpiSolveAll, nlpiGetSolstatAll, nlpiGetTermstatAll,
631nlpiGetSolutionAll, nlpiGetStatisticsAll,
SCIP_RETCODE SCIPincludeNlpSolverAll(SCIP *scip)
#define SCIPfreeBlockMemoryArray(scip, ptr, num)
#define SCIPallocClearBlockMemory(scip, ptr)
#define SCIPallocBlockMemoryArray(scip, ptr, num)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)
SCIP_RETCODE SCIPincludeNlpi(SCIP *scip, 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)
SCIP_NLPIDATA * SCIPnlpiGetData(SCIP_NLPI *nlpi)
const char * SCIPnlpiGetName(SCIP_NLPI *nlpi)
int SCIPgetNNlpis(SCIP *scip)
SCIP_NLPI ** SCIPgetNlpis(SCIP *scip)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
#define BMScopyMemoryArray(ptr, source, num)
static SCIP_DECL_NLPICOPY(nlpiCopyAll)
static SCIP_DECL_NLPISOLVE(nlpiSolveAll)
static SCIP_DECL_NLPIGETSOLSTAT(nlpiGetSolstatAll)
static SCIP_DECL_NLPIGETSOLUTION(nlpiGetSolutionAll)
static SCIP_DECL_NLPICHGOBJCONSTANT(nlpiChgObjConstantAll)
static SCIP_DECL_NLPICHGVARBOUNDS(nlpiChgVarBoundsAll)
static SCIP_DECL_NLPISETOBJECTIVE(nlpiSetObjectiveAll)
static SCIP_DECL_NLPICREATEPROBLEM(nlpiCreateProblemAll)
static SCIP_DECL_NLPICHGCONSSIDES(nlpiChgConsSidesAll)
static SCIP_DECL_NLPIGETSTATISTICS(nlpiGetStatisticsAll)
static SCIP_DECL_NLPISETINITIALGUESS(nlpiSetInitialGuessAll)
static SCIP_DECL_NLPICHGEXPR(nlpiChgExprAll)
static SCIP_DECL_NLPIDELVARSET(nlpiDelVarSetAll)
static SCIP_DECL_NLPIFREE(nlpiFreeAll)
static SCIP_DECL_NLPIADDVARS(nlpiAddVarsAll)
static SCIP_DECL_NLPIADDCONSTRAINTS(nlpiAddConstraintsAll)
static SCIP_DECL_NLPICHGLINEARCOEFS(nlpiChgLinearCoefsAll)
static SCIP_DECL_NLPIFREEPROBLEM(nlpiFreeProblemAll)
static SCIP_DECL_NLPIGETTERMSTAT(nlpiGetTermstatAll)
static SCIP_DECL_NLPIDELCONSSET(nlpiDelConstraintSetAll)
NLP interface that uses all available NLP interfaces.
public methods for message output
#define SCIPstatisticMessage
public methods for memory management
public methods for NLPI solver interfaces
public methods for numerical tolerances
SCIP_NLPIPROBLEM ** nlpiproblems
enum SCIP_NlpSolStat SCIP_NLPSOLSTAT
@ SCIP_NLPTERMSTAT_TIMELIMIT
@ SCIP_NLPTERMSTAT_INTERRUPT
@ SCIP_NLPSOLSTAT_LOCINFEASIBLE
@ SCIP_NLPSOLSTAT_FEASIBLE
@ SCIP_NLPSOLSTAT_UNKNOWN
enum SCIP_NlpTermStat SCIP_NLPTERMSTAT
struct SCIP_NlpiData SCIP_NLPIDATA
enum SCIP_Retcode SCIP_RETCODE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4