internal methods for NLP management
Definition in file nlp.h.
#include <stdio.h>
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_event.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_misc.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "scip/type_sol.h"
#include "scip/type_primal.h"
#include "scip/pub_nlp.h"
Go to the source code of this file.
SCIP_RETCODE SCIPnlpInclude | ( | SCIP_SET * | set, |
BMS_BLKMEM * | blkmem ) |
includes event handler that is used by NLP
set | global SCIP settings |
blkmem | block memory |
Definition at line 3514 of file nlp.c.
References assert(), EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_INIT, SCIPerrorMessage, SCIPeventhdlrCreate(), SCIPsetFindEventhdlr(), and SCIPsetIncludeEventhdlr().
Referenced by doScipCreate().
SCIP_RETCODE SCIPnlpCreate | ( | SCIP_NLP ** | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
const char * | name, | ||
int | nvars_estimate ) |
construct a new empty NLP
nlp | NLP handler, call by reference |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
name | problem name |
nvars_estimate | an estimate on the number of variables that may be added to the NLP later |
Definition at line 3540 of file nlp.c.
References assert(), BMSallocMemory, BMSduplicateBlockMemoryArray, EVENTHDLR_NAME, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_INVALID, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPeventfilterAdd(), SCIPhashmapCreate(), SCIPnlpiCreateProblem(), SCIPsetFindEventhdlr(), SCIPsetFindNlpi(), SCIPsetSortNlpis(), and TRUE.
Referenced by initSolve().
SCIP_RETCODE SCIPnlpFree | ( | SCIP_NLP ** | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp ) |
frees NLP data object
nlp | pointer to NLP data object |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
eventqueue | event queue |
lp | SCIP LP, needed for releasing variables |
Definition at line 3664 of file nlp.c.
References assert(), BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeMemory, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_OKAY, SCIPeventfilterDel(), SCIPhashmapFree(), SCIPnlpiFreeProblem(), and SCIPnlpReset().
Referenced by freeReoptSolve(), and freeSolve().
SCIP_RETCODE SCIPnlpReset | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp ) |
resets the NLP to the empty NLP by removing all variables and rows from NLP, releasing all rows, and flushing the changes to the NLP solver
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
lp | SCIP LP, needed for releasing variables |
Definition at line 3724 of file nlp.c.
References assert(), BMSfreeBlockMemoryArrayNull, FALSE, SCIP_Nlp::haveinitguess, i, SCIP_Nlp::indiving, SCIP_Nlp::initialguess, nlpDelNlRowPos(), nlpDelVarPos(), SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIPnlpEndDive(), SCIPnlpFlush(), SCIP_Nlp::sizevars, SCIP_Nlp::solstat, and SCIP_Nlp::termstat.
Referenced by SCIPnlpFree().
currently a dummy function that always returns TRUE
nlp | NLP data |
Definition at line 3766 of file nlp.c.
References assert(), NULL, SCIP_Bool, and TRUE.
Referenced by SCIPgetNlRowActivity(), SCIPgetNlRowFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), and SCIPrecalcNlRowActivity().
SCIP_RETCODE SCIPnlpEnsureVarsSize | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num ) |
ensures, that variables array of NLP can store at least num entries
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
num | minimum number of entries to store |
Definition at line 3775 of file nlp.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_Nlp::initialguess, NULL, SCIP_Nlp::nvars, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Nlp::sizevars, SCIP_Nlp::varlbdualvals, SCIP_Nlp::varmap_nlp2nlpi, SCIP_Nlp::vars, and SCIP_Nlp::varubdualvals.
Referenced by nlpAddVars().
SCIP_RETCODE SCIPnlpAddVar | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_VAR * | var ) |
adds a variable to the NLP and captures the variable
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
var | variable |
Definition at line 3809 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpAddVars(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPvarIsTransformed(), var, and SCIP_Nlp::varhash.
Referenced by SCIP_DECL_EVENTEXEC().
SCIP_RETCODE SCIPnlpAddVars | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | nvars, | ||
SCIP_VAR ** | vars ) |
adds a set of variables to the NLP and captures the variables
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
nvars | number of variables to add |
vars | variables to add |
Definition at line 3835 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpAddVars(), NULL, nvars, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, and vars.
Referenced by initSolve().
SCIP_RETCODE SCIPnlpDelVar | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_VAR * | var ) |
deletes a variable from the NLP and releases the variable
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
lp | SCIP LP, needed to release variable |
var | variable |
Definition at line 3860 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpDelVarPos(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPvarGetName(), var, and SCIP_Nlp::varhash.
Referenced by nlpRemoveFixedVar(), and SCIP_DECL_EVENTEXEC().
SCIP_RETCODE SCIPnlpEnsureNlRowsSize | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num ) |
ensures, that nonlinear rows array of NLP can store at least num entries
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
num | minimum number of entries to store |
Definition at line 3897 of file nlp.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_Nlp::sizenlrows.
Referenced by nlpAddNlRows().
SCIP_RETCODE SCIPnlpAddNlRow | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLROW * | nlrow ) |
adds a nonlinear row to the NLP and captures it
all variables of the row need to be present in the NLP
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlrow | nonlinear row |
Definition at line 3927 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpAddNlRows(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
Referenced by SCIPaddNlRow().
SCIP_RETCODE SCIPnlpAddNlRows | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
int | nnlrows, | ||
SCIP_NLROW ** | nlrows ) |
adds nonlinear rows to the NLP and captures them
all variables of the row need to be present in the NLP
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nnlrows | number of rows to add |
nlrows | rows to add |
Definition at line 3953 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpAddNlRows(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
SCIP_RETCODE SCIPnlpDelNlRow | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLROW * | nlrow ) |
deletes a nonlinear row from the NLP
does nothing if nonlinear row is not in NLP
nlp | NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlrow | nonlinear row |
Definition at line 3983 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_NlRow::nlpindex, SCIP_Nlp::nnlrows, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
Referenced by SCIPdelNlRow().
SCIP_RETCODE SCIPnlpFlush | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat ) |
applies all cached changes to the NLP solver
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
Definition at line 4015 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpFlushNlRowAdditions(), nlpFlushNlRowDeletions(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpFlushVarDeletions(), SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, NULL, SCIP_Nlp::nunflushednlrowadd, SCIP_Nlp::nunflushednlrowdel, SCIP_Nlp::nunflushedvaradd, SCIP_Nlp::nunflushedvardel, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, and TRUE.
Referenced by SCIPflushNLP(), SCIPnlpReset(), SCIPnlpSolve(), and SCIPnlpStartDive().
SCIP_RETCODE SCIPnlpSolve | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_NLPPARAM * | nlpparam ) |
solves the NLP or diving NLP
nlp | NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics |
primal | primal data |
tree | branch and bound tree |
nlpparam | NLP solve parameters |
Definition at line 4053 of file nlp.c.
References assert(), SCIP_Nlp::indiving, nlpSolve(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpFlush().
Referenced by SCIPsolveNLPParam().
gets objective value of current NLP
nlp | current NLP data |
Definition at line 4080 of file nlp.c.
References assert(), NULL, SCIP_Nlp::primalsolobjval, and SCIP_Real.
Referenced by SCIPgetNLPObjval(), and SCIPsolLinkNLPSol().
SCIP_RETCODE SCIPnlpGetPseudoObjval | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp, | ||
SCIP_Real * | pseudoobjval ) |
gives current pseudo objective value
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | SCIP problem |
primal | primal data |
tree | branch and bound tree |
lp | SCIP LP |
pseudoobjval | buffer to store pseudo objective value |
Definition at line 4090 of file nlp.c.
References assert(), SCIP_Nlp::divingobj, i, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlrowGetPseudoActivity(), SCIPvarGetBestBoundLocal(), SCIPvarGetObj(), and SCIP_Nlp::vars.
SCIP_RETCODE SCIPnlpGetFracVars | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR *** | fracvars, | ||
SCIP_Real ** | fracvarssol, | ||
SCIP_Real ** | fracvarsfrac, | ||
int * | nfracvars, | ||
int * | npriofracvars ) |
gets fractional variables of last NLP solution along with solution values and fractionalities
nlp | NLP data structure |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
fracvars | pointer to store the array of NLP fractional variables, or NULL |
fracvarssol | pointer to store the array of NLP fractional variables solution values, or NULL |
fracvarsfrac | pointer to store the array of NLP fractional variables fractionalities, or NULL |
nfracvars | pointer to store the number of NLP fractional variables , or NULL |
npriofracvars | pointer to store the number of NLP fractional variables with maximal branching priority, or NULL |
Definition at line 4124 of file nlp.c.
References assert(), SCIP_Nlp::fracvars, SCIP_Nlp::fracvarsfrac, SCIP_Nlp::fracvarssol, SCIP_Nlp::nfracvars, nlpCalcFracVars(), SCIP_Nlp::npriofracvars, NULL, SCIP_CALL, SCIP_OKAY, and SCIP_Real.
Referenced by SCIPgetNLPFracVars().
SCIP_RETCODE SCIPnlpRemoveRedundantNlRows | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat ) |
removes all redundant nonlinear rows
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
stat | problem statistics |
Definition at line 4158 of file nlp.c.
References assert(), i, SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowIsRedundant(), and SCIP_Nlp::solstat.
SCIP_RETCODE SCIPnlpSetInitialGuess | ( | SCIP_SET * | set, |
SCIP_NLP * | nlp, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_Real * | initguess ) |
set initial guess (approximate primal solution) for next solve
array initguess must be NULL or have length at least SCIPnlpGetNVars()
set | global SCIP settings |
nlp | current NLP data |
blkmem | block memory buffers |
initguess | new initial guess, or NULL to clear previous one |
Definition at line 4204 of file nlp.c.
References assert(), BMSallocBlockMemoryArray, BMScopyMemoryArray, FALSE, SCIP_Nlp::haveinitguess, SCIP_Nlp::initialguess, NULL, SCIP_Nlp::nvars, SCIP_Nlp::problem, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlpiSetInitialGuess(), SCIP_Nlp::sizevars, SCIP_Nlp::solver, and TRUE.
Referenced by SCIPsetNLPInitialGuess(), and SCIPsetNLPInitialGuessSol().
SCIP_RETCODE SCIPnlpWrite | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
const char * | fname ) |
writes NLP to a file
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
stat | problem statistics |
messagehdlr | message handler |
fname | file name |
Definition at line 4240 of file nlp.c.
References assert(), i, SCIP_Nlp::name, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, SCIP_Nlp::nvars, SCIP_CALL, SCIP_CALL_TERMINATE, SCIP_FILECREATEERROR, SCIP_OKAY, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPnlrowPrint(), SCIPvarPrint(), and SCIP_Nlp::vars.
Referenced by SCIPwriteNLP().
SCIP_RETCODE SCIPnlpStartDive | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat ) |
signals start of diving
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
stat | problem statistics |
Definition at line 4561 of file nlp.c.
References assert(), SCIP_Nlp::indiving, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPnlpFlush(), SCIP_Nlp::solver, and TRUE.
Referenced by SCIPstartDiveNLP().
SCIP_RETCODE SCIPnlpEndDive | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat ) |
resets the bound and objective changes made during diving and disables diving mode
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
Definition at line 4592 of file nlp.c.
References assert(), SCIP_Nlp::divingobj, FALSE, i, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_Nlp::nvars_solver, SCIP_Nlp::objflushed, SCIP_Nlp::primalsolobjval, SCIP_Nlp::problem, SCIP_CALL, SCIP_ERROR, SCIP_INVALID, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPnlpiChgVarBounds(), SCIPnlrowRelease(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIP_Nlp::solstat, SCIP_Nlp::solver, SCIP_Nlp::termstat, varidx, SCIP_Nlp::varmap_nlpi2nlp, and SCIP_Nlp::vars.
Referenced by SCIPendDiveNLP(), and SCIPnlpReset().
SCIP_RETCODE SCIPnlpChgVarObjDive | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR * | var, | ||
SCIP_Real | coef ) |
changes coefficient of variable in diving NLP
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
var | variable which coefficient to change |
coef | new linear coefficient of variable in objective |
Definition at line 4654 of file nlp.c.
References assert(), SCIP_Nlp::divingobj, FALSE, i, SCIP_Nlp::indiving, NULL, SCIP_Nlp::nvars, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPnlpiChgLinearCoefs(), SCIPnlrowChgLinearCoef(), SCIPnlrowCreate(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPvarGetObj(), SCIP_Nlp::solver, var, SCIP_Nlp::varhash, SCIP_Nlp::varmap_nlp2nlpi, and SCIP_Nlp::vars.
Referenced by SCIPchgVarObjDiveNLP().
SCIP_RETCODE SCIPnlpChgVarBoundsDive | ( | SCIP_SET * | set, |
SCIP_NLP * | nlp, | ||
SCIP_VAR * | var, | ||
SCIP_Real | lb, | ||
SCIP_Real | ub ) |
changes bounds of variable in diving NLP
set | global SCIP settings |
nlp | current NLP data |
var | variable which coefficient to change |
lb | new lower bound of variable |
ub | new upper bound of variable |
Definition at line 4711 of file nlp.c.
References assert(), SCIP_Nlp::indiving, NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPnlpiChgVarBounds(), SCIP_Nlp::solver, var, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi.
Referenced by SCIPchgVarBoundsDiveNLP().
SCIP_RETCODE SCIPnlpChgVarsBoundsDive | ( | SCIP_NLP * | nlp, |
SCIP_SET * | set, | ||
int | nvars, | ||
SCIP_VAR ** | vars, | ||
SCIP_Real * | lbs, | ||
SCIP_Real * | ubs ) |
changes bounds of a set of variables in diving NLP
nlp | current NLP data |
set | global SCIP settings |
nvars | number of variables which bounds to change |
vars | variables which bounds to change |
lbs | new lower bounds of variables |
ubs | new upper bounds of variables |
Definition at line 4740 of file nlp.c.
References assert(), i, SCIP_Nlp::indiving, NULL, nvars, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPnlpiChgVarBounds(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Nlp::solver, SCIP_Nlp::varhash, SCIP_Nlp::varmap_nlp2nlpi, and vars.
Referenced by SCIPchgVarsBoundsDiveNLP().
returns whether the objective function has been changed during diving
nlp | current NLP data |
Definition at line 4784 of file nlp.c.
References SCIP_Nlp::divingobj, NULL, and SCIP_Bool.
Referenced by SCIPsolLinkNLPSol().
gets array with variables of the NLP
nlp | current NLP data |
Definition at line 4295 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::vars.
Referenced by SCIPgetNLPVars(), SCIPgetNLPVarsData(), SCIPsetNLPInitialGuessSol(), and SCIPsolLinkNLPSol().
int SCIPnlpGetNVars | ( | SCIP_NLP * | nlp | ) |
gets current number of variables in NLP
nlp | current NLP data |
Definition at line 4305 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::nvars.
Referenced by SCIPgetNLPVarsData(), SCIPgetNNLPVars(), SCIPsetNLPInitialGuessSol(), and SCIPsolLinkNLPSol().
SCIP_RETCODE SCIPnlpGetVarsNonlinearity | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
int * | nlcount ) |
computes for each variables the number of NLP rows in which the variable appears in a nonlinear var
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
stat | problem statistics |
nlcount | an array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables |
Definition at line 4315 of file nlp.c.
References assert(), BMSclearMemoryArray, c, SCIP_NlRow::expr, FALSE, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, nvars, SCIP_Nlp::nvars, SCIP_CALL, SCIP_EXPRITER_DFS, SCIP_OKAY, SCIPexprIsVar(), SCIPexpriterCreate(), SCIPexpriterFree(), SCIPexpriterGetNext(), SCIPexpriterInit(), SCIPexpriterIsEnd(), SCIPgetVarExprVar(), SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIP_Nlp::varhash, and varidx.
Referenced by SCIPgetNLPVarsNonlinearity().
SCIP_RETCODE SCIPnlpHasContinuousNonlinearity | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Bool * | result ) |
indicates whether there exists a row that contains a continuous variable in a nonlinear term
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
stat | problem statistics |
result | buffer to store whether continuous variable present in an expression of any row |
Definition at line 4369 of file nlp.c.
References assert(), c, SCIP_NlRow::expr, FALSE, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_EXPRITER_DFS, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPexprIsVar(), SCIPexpriterCreate(), SCIPexpriterFree(), SCIPexpriterGetNext(), SCIPexpriterInit(), SCIPexpriterIsEnd(), SCIPexpriterRestartDFS(), SCIPgetVarExprVar(), SCIPvarGetType(), and TRUE.
Referenced by SCIPhasNLPContinuousNonlinearity().
gives dual solution values associated with lower bounds of NLP variables
nlp | current NLP data |
Definition at line 4412 of file nlp.c.
References assert(), NULL, SCIP_Real, and SCIP_Nlp::varlbdualvals.
Referenced by SCIPgetNLPVarsLbDualsol().
gives dual solution values associated with upper bounds of NLP variables
nlp | current NLP data |
Definition at line 4422 of file nlp.c.
References assert(), NULL, SCIP_Real, and SCIP_Nlp::varubdualvals.
Referenced by SCIPgetNLPVarsUbDualsol().
SCIP_NLROW ** SCIPnlpGetNlRows | ( | SCIP_NLP * | nlp | ) |
gets array with nonlinear rows of the NLP
nlp | current NLP data |
Definition at line 4432 of file nlp.c.
References assert(), SCIP_Nlp::nlrows, and NULL.
Referenced by SCIPgetNLPNlRows(), and SCIPgetNLPNlRowsData().
int SCIPnlpGetNNlRows | ( | SCIP_NLP * | nlp | ) |
gets current number of nonlinear rows in NLP
nlp | current NLP data |
Definition at line 4442 of file nlp.c.
References assert(), SCIP_Nlp::nnlrows, and NULL.
Referenced by SCIPgetNLPNlRowsData(), and SCIPgetNNLPNlRows().
void SCIPnlpGetNlRowsStat | ( | SCIP_NLP * | nlp, |
int * | nlinear, | ||
int * | nconvexineq, | ||
int * | nnonconvexineq, | ||
int * | nnonlineareq ) |
gets statistics on convexity of nonlinear rows in NLP
nlp | current NLP data |
nlinear | buffer to store number of linear rows in NLP, or NULL |
nconvexineq | buffer to store number of convex inequalities in NLP, or NULL |
nnonconvexineq | buffer to store number of nonconvex inequalities in NLP, or NULL |
nnonlineareq | buffer to store number of nonlinear equalities or ranged rows in NLP, or NULL |
Definition at line 4452 of file nlp.c.
References assert(), SCIP_Nlp::nnlrowconvexineq, SCIP_Nlp::nnlrowlinear, SCIP_Nlp::nnlrownonconvexineq, SCIP_Nlp::nnlrownonlineareq, and NULL.
Referenced by SCIPgetNLPNlRowsStat().
gets the NLP solver interface
nlp | current NLP data |
Definition at line 4476 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::solver.
Referenced by SCIPgetNLPI().
SCIP_NLPIPROBLEM * SCIPnlpGetNLPIProblem | ( | SCIP_NLP * | nlp | ) |
gets the NLP problem in the solver interface
nlp | current NLP data |
Definition at line 4486 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::problem.
Referenced by SCIPgetNLPI().
SCIP_NLPSOLSTAT SCIPnlpGetSolstat | ( | SCIP_NLP * | nlp | ) |
gets solution status of current NLP
nlp | current NLP data |
Definition at line 4506 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::solstat.
Referenced by SCIP_DECL_SEPAEXECLP(), SCIPgetNLPSolstat(), and SCIPlinkNLPSol().
SCIP_NLPTERMSTAT SCIPnlpGetTermstat | ( | SCIP_NLP * | nlp | ) |
gets termination status of last NLP solve
nlp | current NLP data |
Definition at line 4516 of file nlp.c.
References assert(), NULL, and SCIP_Nlp::termstat.
Referenced by SCIPgetNLPTermstat().
SCIP_RETCODE SCIPnlpGetStatistics | ( | SCIP_SET * | set, |
SCIP_NLP * | nlp, | ||
SCIP_NLPSTATISTICS * | statistics ) |
gives statistics (number of iterations, solving time, ...) of last NLP solve
set | global SCIP settings |
nlp | pointer to NLP datastructure |
statistics | pointer to store statistics |
Definition at line 4526 of file nlp.c.
References assert(), NULL, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetStatistics(), and SCIP_Nlp::solver.
Referenced by SCIPgetNLPStatistics().
indicates whether a solution for the current NLP is available
The solution may be optimal, feasible, or infeasible. Thus, returns whether the NLP solution status is at most SCIP_NLPSOLSTAT_LOCINFEASIBLE.
nlp | current NLP data |
Definition at line 4547 of file nlp.c.
References assert(), NULL, SCIP_Bool, SCIP_NLPSOLSTAT_LOCINFEASIBLE, and SCIP_Nlp::solstat.
Referenced by nlpCalcFracVars(), SCIPcreateNLPSol(), SCIPgetNlRowActivity(), SCIPgetNlRowFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), SCIPhasNLPSolution(), SCIPrecalcNlRowActivity(), and SCIPsolLinkNLPSol().