internal methods for NLP management
Definition in file nlp.h.
#include <stdio.h>
#include "scip/def.h"
#include "blockmemshell/memory.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 SCIPexprtreeRemoveFixedVars | ( | SCIP_EXPRTREE * | tree, |
SCIP_SET * | set, | ||
SCIP_Bool * | changed, | ||
int * | varpos, | ||
int * | newvarsstart | ||
) |
removes fixed variables from an expression tree, so that at exit all variables are active
tree | expression tree |
set | global SCIP settings |
changed | buffer to store whether the tree was changed, i.e., whether there was a fixed variable |
varpos | array of length at least tree->nvars to store new indices of previously existing variables in expression tree, or -1 if variable was removed; set to NULL if not of interest |
newvarsstart | buffer to store index in tree->vars array where new variables begin, or NULL if not of interest |
Definition at line 223 of file nlp.c.
References SCIP_ExprTree::blkmem, BMSallocBlockMemoryArray, BMSclearMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, FALSE, SCIP_ExprTree::nvars, SCIP_ExprTree::root, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_EXPR_CONST, SCIP_EXPR_VARIDX, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPexprCreate(), SCIPexprCreateLinear(), SCIPexprFreeDeep(), SCIPexprReindexVars(), SCIPexprtreeAddVars(), SCIPexprtreeRemoveFixedVars(), SCIPexprtreeSubstituteVars(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and SCIP_ExprTree::vars.
Referenced by nlrowRemoveFixedExprtreeVars(), SCIPexprtreeRemoveFixedVars(), and SCIPnlrowChgExprtree().
SCIP_RETCODE SCIPnlrowCreate | ( | SCIP_NLROW ** | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
const char * | name, | ||
SCIP_Real | constant, | ||
int | nlinvars, | ||
SCIP_VAR ** | linvars, | ||
SCIP_Real * | lincoefs, | ||
int | nquadvars, | ||
SCIP_VAR ** | quadvars, | ||
int | nquadelems, | ||
SCIP_QUADELEM * | quadelems, | ||
SCIP_EXPRTREE * | exprtree, | ||
SCIP_Real | lhs, | ||
SCIP_Real | rhs, | ||
SCIP_EXPRCURV | curvature | ||
) |
create a new nonlinear row the new row is already captured
nlrow | buffer to store pointer to nonlinear row |
blkmem | block memory |
set | global SCIP settings |
name | name of nonlinear row |
constant | constant |
nlinvars | number of linear variables |
linvars | linear variables, or NULL if nlinvars == 0 |
lincoefs | linear coefficients, or NULL if nlinvars == 0 |
nquadvars | number of variables in quadratic terms |
quadvars | variables in quadratic terms, or NULL if nquadvars == 0 |
nquadelems | number of entries in quadratic term matrix |
quadelems | elements of quadratic term matrix, or NULL if nquadelems == 0 |
exprtree | expression tree, or NULL |
lhs | left hand side |
rhs | right hand side |
curvature | curvature of the nonlinear row |
Definition at line 2000 of file nlp.c.
References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, FALSE, MAX, nlrowSetupQuadVarsHash(), REALABS, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPexprtreeCopy(), SCIPnlrowCapture(), SCIPsetIsInfinity(), SCIPsetIsRelLE(), and TRUE.
Referenced by SCIPcreateEmptyNlRow(), SCIPcreateNlRow(), SCIPnlpChgVarObjDive(), SCIPnlrowCreateCopy(), and SCIPnlrowCreateFromRow().
SCIP_RETCODE SCIPnlrowCreateCopy | ( | SCIP_NLROW ** | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_NLROW * | sourcenlrow | ||
) |
create a nonlinear row that is a copy of a given row the new row is already captured
nlrow | buffer to store pointer to nonlinear row |
blkmem | block memory |
set | global SCIP settings |
sourcenlrow | nonlinear row to copy |
Definition at line 2149 of file nlp.c.
References SCIP_NlRow::activity, SCIP_NlRow::constant, SCIP_NlRow::curvature, SCIP_NlRow::exprtree, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::name, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, SCIP_NlRow::pseudoactivity, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssorted, SCIP_NlRow::quadvars, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreate(), SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, and SCIP_NlRow::validpsactivitydomchg.
SCIP_RETCODE SCIPnlrowCreateFromRow | ( | SCIP_NLROW ** | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_ROW * | row | ||
) |
create a new nonlinear row from a linear row the new row is already captured
nlrow | buffer to store pointer to nonlinear row |
blkmem | block memory |
set | global SCIP settings |
row | the linear row to copy |
Definition at line 2184 of file nlp.c.
References SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_OKAY, SCIPcolGetVar(), SCIPnlrowCreate(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIPsetAllocBufferArray, and SCIPsetFreeBufferArray.
Referenced by SCIPcreateNlRowFromRow().
SCIP_RETCODE SCIPnlrowFree | ( | SCIP_NLROW ** | nlrow, |
BMS_BLKMEM * | blkmem | ||
) |
frees a nonlinear row
nlrow | pointer to NLP row |
blkmem | block memory |
Definition at line 2252 of file nlp.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, SCIP_CALL, SCIP_OKAY, SCIPexprtreeFree(), and SCIPhashmapFree().
Referenced by SCIPnlrowRelease().
SCIP_RETCODE SCIPnlrowPrint | ( | SCIP_NLROW * | nlrow, |
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
output nonlinear row to file stream
nlrow | NLP row |
messagehdlr | message handler |
file | output file (or NULL for standard output) |
Definition at line 2289 of file nlp.c.
References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPexprtreePrintWithNames(), SCIPmessageFPrintInfo(), and SCIPvarGetName().
Referenced by computeCut(), findAndStoreEcAggregations(), SCIPnlpWrite(), and SCIPprintNlRow().
void SCIPnlrowCapture | ( | SCIP_NLROW * | nlrow | ) |
increases usage counter of NLP nonlinear row
nlrow | nonlinear row to capture |
Definition at line 2344 of file nlp.c.
References SCIP_NlRow::name, SCIP_NlRow::nuses, and SCIPdebugMessage.
Referenced by nlpAddNlRows(), SCIPcaptureNlRow(), and SCIPnlrowCreate().
SCIP_RETCODE SCIPnlrowRelease | ( | SCIP_NLROW ** | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set | ||
) |
decreases usage counter of NLP nonlinear row
nlrow | nonlinear row to free |
blkmem | block memory |
set | global SCIP settings |
Definition at line 2356 of file nlp.c.
References SCIP_CALL, SCIP_OKAY, SCIPnlrowFree(), and SCIPsetDebugMsg.
Referenced by nlpDelNlRowPos(), SCIPnlpEndDive(), and SCIPreleaseNlRow().
SCIP_RETCODE SCIPnlrowEnsureLinearSize | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num | ||
) |
ensures, that linear coefficient array of nonlinear row can store at least num entries
nlrow | NLP row |
blkmem | block memory |
set | global SCIP settings |
num | minimum number of entries to store |
Definition at line 2380 of file nlp.c.
References BMSreallocBlockMemoryArray, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssize, SCIP_NlRow::nlinvars, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by nlrowAddLinearCoef(), and nlrowRemoveFixedLinearCoefPos().
SCIP_RETCODE SCIPnlrowAddLinearCoef | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_VAR * | var, | ||
SCIP_Real | val | ||
) |
adds a previously non existing linear coefficient to an NLP nonlinear row
nlrow | NLP nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
var | variable |
val | value of coefficient |
Definition at line 2405 of file nlp.c.
References SCIP_NlRow::constant, SCIP_NlRow::nlpindex, nlrowAddLinearCoef(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPnlrowAddLinearCoef(), SCIPnlrowChgConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), and SCIPvarIsActive().
Referenced by SCIPaddLinearCoefsToNlRow(), SCIPaddLinearCoefToNlRow(), and SCIPnlrowAddLinearCoef().
SCIP_RETCODE SCIPnlrowDelLinearCoef | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_VAR * | var | ||
) |
deletes linear coefficient from nonlinear row
nlrow | nonlinear row to be changed |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
var | coefficient to be deleted |
Definition at line 2453 of file nlp.c.
References SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlpindex, nlrowDelLinearCoefPos(), nlrowSearchLinearCoef(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPvarGetName(), and SCIPvarIsActive().
SCIP_RETCODE SCIPnlrowChgLinearCoef | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_VAR * | var, | ||
SCIP_Real | coef | ||
) |
changes or adds a linear coefficient to a nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
var | variable |
coef | new value of coefficient |
Definition at line 2486 of file nlp.c.
References nlrowAddLinearCoef(), nlrowChgLinearCoefPos(), nlrowSearchLinearCoef(), SCIP_CALL, SCIP_OKAY, and SCIPsetIsZero().
Referenced by SCIPchgNlRowLinearCoef(), and SCIPnlpChgVarObjDive().
SCIP_RETCODE SCIPnlrowEnsureQuadVarsSize | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num | ||
) |
ensures, that quadratic variables array of nonlinear row can store at least num entries
nlrow | NLP row |
blkmem | block memory |
set | global SCIP settings |
num | minimum number of entries to store |
Definition at line 2524 of file nlp.c.
References BMSreallocBlockMemoryArray, SCIP_NlRow::nquadvars, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPaddQuadVarsToNlRow(), and SCIPnlrowAddQuadVar().
SCIP_RETCODE SCIPnlrowAddQuadVar | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_VAR * | var | ||
) |
adds variable to quadvars array of row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
var | variable to search for |
Definition at line 2548 of file nlp.c.
References SCIP_NlRow::nlpindex, nlrowSetupQuadVarsHash(), SCIP_NlRow::nquadvars, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_CALL, SCIP_OKAY, SCIPhashmapInsert(), SCIPnlrowEnsureQuadVarsSize(), SCIPnlrowSearchQuadVar(), and SCIPvarIsActive().
Referenced by nlrowRemoveFixedQuadVars(), SCIPaddQuadVarsToNlRow(), and SCIPaddQuadVarToNlRow().
SCIP_RETCODE SCIPnlrowEnsureQuadElementsSize | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num | ||
) |
ensures, that quadratic elements array of nonlinear row can store at least num entries
nlrow | NLP row |
blkmem | block memory |
set | global SCIP settings |
num | minimum number of entries to store |
Definition at line 2583 of file nlp.c.
References BMSreallocBlockMemoryArray, SCIP_NlRow::nquadelems, SCIP_NlRow::quadelems, SCIP_NlRow::quadelemssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by nlrowAddQuadElement(), and SCIPaddQuadElementsToNlRow().
SCIP_RETCODE SCIPnlrowAddQuadElement | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_QUADELEM | elem | ||
) |
adds a previously non existing quadratic element to an NLP nonlinear row
nlrow | NLP nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
elem | quadratic element to add |
Definition at line 2607 of file nlp.c.
References nlrowAddQuadElement(), SCIP_CALL, and SCIP_OKAY.
Referenced by nlrowRemoveFixedQuadVars(), SCIPaddQuadElementsToNlRow(), and SCIPaddQuadElementToNlRow().
SCIP_RETCODE SCIPnlrowDelQuadElement | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
int | idx1, | ||
int | idx2 | ||
) |
deletes quadratic element from nonlinear row
nlrow | nonlinear row to be changed |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
idx1 | index of first variable in element |
idx2 | index of second variable in element |
Definition at line 2622 of file nlp.c.
References SCIP_NlRow::name, nlrowDelQuadElemPos(), nlrowSearchQuadElem(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
SCIP_RETCODE SCIPnlrowChgQuadElem | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_QUADELEM | elem | ||
) |
changes or adds a quadratic element to a nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
elem | new quadratic element |
Definition at line 2656 of file nlp.c.
References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, nlrowAddQuadElement(), nlrowChgQuadElemPos(), nlrowSearchQuadElem(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPchgNlRowQuadElement().
SCIP_RETCODE SCIPnlrowChgExprtree | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_EXPRTREE * | exprtree | ||
) |
replaces or deletes an expression tree in nonlinear row
replaces an expression tree in nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
exprtree | new expression tree |
Definition at line 2688 of file nlp.c.
References SCIP_NlRow::exprtree, SCIP_NlRow::nlpindex, nlrowExprtreeChanged(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPexprtreeCopy(), SCIPexprtreeFree(), and SCIPexprtreeRemoveFixedVars().
Referenced by SCIPsetNlRowExprtree().
SCIP_RETCODE SCIPnlrowChgExprtreeParam | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
int | paramidx, | ||
SCIP_Real | paramval | ||
) |
changes a parameter in an expression of a nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
paramidx | index of parameter in expression tree's parameter array |
paramval | new value of parameter |
Definition at line 2727 of file nlp.c.
References SCIP_NlRow::exprtree, nlrowExprtreeParamChanged(), SCIP_CALL, SCIP_OKAY, and SCIPexprtreeSetParamVal().
Referenced by SCIPsetNlRowExprtreeParam().
SCIP_RETCODE SCIPnlrowChgExprtreeParams | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real * | paramvals | ||
) |
changes all parameters in an expression of a nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
paramvals | new values of parameters |
Definition at line 2750 of file nlp.c.
References SCIP_NlRow::exprtree, nlrowExprtreeParamChanged(), SCIP_CALL, SCIP_OKAY, SCIPexprtreeGetNParams(), and SCIPexprtreeSetParams().
Referenced by SCIPsetNlRowExprtreeParams().
SCIP_RETCODE SCIPnlrowChgConstant | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real | constant | ||
) |
changes constant of nonlinear row
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
constant | new constant |
Definition at line 2772 of file nlp.c.
References SCIP_NlRow::constant, nlrowConstantChanged(), SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().
Referenced by nlrowRemoveFixedExprtreeVars(), SCIPchgNlRowConstant(), and SCIPnlrowAddLinearCoef().
SCIP_RETCODE SCIPnlrowChgLhs | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real | lhs | ||
) |
changes left hand side of nonlinear row
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
lhs | new left hand side |
Definition at line 2792 of file nlp.c.
References SCIP_NlRow::lhs, nlrowSideChanged(), SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().
Referenced by SCIPchgNlRowLhs().
SCIP_RETCODE SCIPnlrowChgRhs | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real | rhs | ||
) |
changes right hand side of nonlinear row
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
rhs | new right hand side |
Definition at line 2812 of file nlp.c.
References nlrowSideChanged(), SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().
Referenced by SCIPchgNlRowRhs().
SCIP_RETCODE SCIPnlrowRemoveFixedVars | ( | SCIP_NLROW * | nlrow, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp | ||
) |
removes (or substitutes) all fixed, negated, aggregated, multi-aggregated variables from the linear, quadratic, and nonquadratic terms of a nonlinear row
removes (or substitutes) all fixed, negated, aggregated, multi-aggregated variables from the linear, quadratic, and non-quadratic terms of a nonlinear row
nlrow | nonlinear row |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
nlp | current NLP data |
Definition at line 2832 of file nlp.c.
References nlrowRemoveFixedExprtreeVars(), nlrowRemoveFixedLinearCoefs(), nlrowRemoveFixedQuadVars(), SCIP_CALL, and SCIP_OKAY.
Referenced by nlpAddNlRows().
SCIP_RETCODE SCIPnlrowRecalcNLPActivity | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp | ||
) |
recalculates the current activity of a nonlinear row in the current NLP solution
recalculates the current activity of a nonlinear row
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
nlp | current NLP data |
Definition at line 2848 of file nlp.c.
References SCIP_NlRow::activity, SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_Stat::nnlps, SCIP_NlRow::nquadelems, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_ERROR, SCIP_INVALID, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetNLPSol(), SCIP_Nlp::solstat, and SCIP_NlRow::validactivitynlp.
Referenced by SCIPnlrowGetNLPActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowNLPActivity().
SCIP_RETCODE SCIPnlrowGetNLPActivity | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real * | activity | ||
) |
gives the activity of a nonlinear row in the current NLP solution
returns the activity of a nonlinear row in the current NLP solution
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
nlp | current NLP data |
activity | buffer to store activity value |
Definition at line 2925 of file nlp.c.
References SCIP_NlRow::activity, SCIP_Stat::nnlps, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcNLPActivity(), and SCIP_NlRow::validactivitynlp.
Referenced by nlpSolve(), SCIPgetNlRowActivity(), SCIPgetNlRowNLPActivity(), SCIPgetNlRowSolActivity(), and SCIPnlrowGetNLPFeasibility().
SCIP_RETCODE SCIPnlrowGetNLPFeasibility | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NLP * | nlp, | ||
SCIP_Real * | feasibility | ||
) |
gives the feasibility of a nonlinear row in the current NLP solution: negative value means infeasibility
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
nlp | current NLP data |
feasibility | buffer to store feasibility value |
Definition at line 2952 of file nlp.c.
References SCIP_NlRow::lhs, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetNLPActivity().
Referenced by nlpAddNlRows(), nlpRowChanged(), SCIPgetNlRowFeasibility(), SCIPgetNlRowNLPFeasibility(), and SCIPgetNlRowSolFeasibility().
SCIP_RETCODE SCIPnlrowRecalcPseudoActivity | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat | ||
) |
calculates the current pseudo activity of a nonlinear row
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
Definition at line 2972 of file nlp.c.
References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_Stat::domchgcount, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::pseudoactivity, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetBestBoundLocal(), and SCIP_NlRow::validpsactivitydomchg.
Referenced by SCIPnlrowGetPseudoActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowPseudoActivity().
SCIP_RETCODE SCIPnlrowGetPseudoActivity | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real * | pseudoactivity | ||
) |
returns the pseudo activity of a nonlinear row in the current pseudo solution
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
pseudoactivity | buffer to store pseudo activity value |
Definition at line 3027 of file nlp.c.
References SCIP_Stat::domchgcount, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcPseudoActivity(), and SCIP_NlRow::validpsactivitydomchg.
Referenced by SCIPgetNlRowActivity(), SCIPgetNlRowPseudoActivity(), SCIPgetNlRowSolActivity(), SCIPnlpGetPseudoObjval(), and SCIPnlrowGetPseudoFeasibility().
SCIP_RETCODE SCIPnlrowGetPseudoFeasibility | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real * | pseudofeasibility | ||
) |
returns the pseudo feasibility of a nonlinear row in the current pseudo solution: negative value means infeasibility
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics |
pseudofeasibility | buffer to store pseudo feasibility value |
Definition at line 3053 of file nlp.c.
References SCIP_NlRow::lhs, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetPseudoActivity().
Referenced by SCIPgetNlRowFeasibility(), SCIPgetNlRowPseudoFeasibility(), and SCIPgetNlRowSolFeasibility().
SCIP_RETCODE SCIPnlrowGetSolActivity | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol, | ||
SCIP_Real * | activity | ||
) |
returns the activity of a nonlinear row for a given solution
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
sol | primal CIP solution |
activity | buffer to store activity value |
Definition at line 3073 of file nlp.c.
References SCIP_QuadElement::coef, SCIP_NlRow::constant, SCIP_NlRow::exprtree, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, SCIP_Interval::inf, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, MAX, SCIP_NlRow::nlinvars, SCIP_NlRow::nquadelems, SCIP_NlRow::quadelems, SCIP_NlRow::quadvars, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), and SCIPsolGetVal().
Referenced by SCIPgetNlRowSolActivity(), and SCIPnlrowGetSolFeasibility().
SCIP_RETCODE SCIPnlrowGetSolFeasibility | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol, | ||
SCIP_Real * | feasibility | ||
) |
returns the feasibility of a nonlinear row for the given solution
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
sol | primal CIP solution |
feasibility | buffer to store feasibility value |
Definition at line 3158 of file nlp.c.
References SCIP_NlRow::lhs, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetSolActivity().
Referenced by SCIPgetNlRowSolFeasibility().
SCIP_RETCODE SCIPnlrowGetActivityBounds | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real * | minactivity, | ||
SCIP_Real * | maxactivity | ||
) |
returns the minimal activity of a nonlinear row w.r.t. the variables' bounds
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
minactivity | buffer to store minimal activity, or NULL |
maxactivity | buffer to store maximal activity, or NULL |
Definition at line 3179 of file nlp.c.
References SCIP_Stat::domchgcount, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, nlrowCalcActivityBounds(), SCIP_CALL, SCIP_INVALID, SCIP_OKAY, and SCIP_NlRow::validactivitybdsdomchg.
Referenced by SCIPgetNlRowActivityBounds(), and SCIPnlrowIsRedundant().
SCIP_RETCODE SCIPnlrowIsRedundant | ( | SCIP_NLROW * | nlrow, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Bool * | isredundant | ||
) |
returns whether the nonlinear row is redundant w.r.t. the variables' bounds
nlrow | nonlinear row |
set | global SCIP settings |
stat | problem statistics data |
isredundant | buffer to store whether row is redundant |
Definition at line 3210 of file nlp.c.
References FALSE, SCIP_NlRow::lhs, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlrowGetActivityBounds(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), and TRUE.
Referenced by SCIPnlpRemoveRedundantNlRows().
SCIP_RETCODE SCIPnlpInclude | ( | SCIP_SET * | set, |
BMS_BLKMEM * | blkmem | ||
) |
includes event handler that is used by NLP
includes NLP specific plugins (e.g., event handler) and parameters
set | global SCIP settings |
blkmem | block memory |
Definition at line 5035 of file nlp.c.
References EVENTHDLR_DESC, EVENTHDLR_NAME, 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 5060 of file nlp.c.
References BMSallocMemory, BMSduplicateBlockMemoryArray, EVENTHDLR_NAME, FALSE, 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_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
frees NLP data object
nlp | pointer to NLP data object |
blkmem | block memory |
set | global SCIP settings |
eventqueue | event queue |
lp | SCIP LP, needed for releasing variables |
Definition at line 5181 of file nlp.c.
References BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeMemory, 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_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 |
eventqueue | event queue |
lp | SCIP LP, needed for releasing variables |
Definition at line 5240 of file nlp.c.
References BMSfreeBlockMemoryArrayNull, FALSE, SCIP_Nlp::haveinitguess, SCIP_Nlp::indiving, SCIP_Nlp::initialguess, nlpDelNlRowPos(), nlpDelVarPos(), SCIP_Nlp::nnlrows, SCIP_Nlp::nvars, SCIP_CALL, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_OKAY, SCIPnlpEndDive(), SCIPnlpFlush(), SCIP_Nlp::solstat, and SCIP_Nlp::termstat.
Referenced by SCIPnlpFree().
currently a dummy function that always returns TRUE
nlp | NLP data |
Definition at line 5281 of file nlp.c.
References 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 5289 of file nlp.c.
References BMSreallocBlockMemoryArray, SCIP_Nlp::initialguess, 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 5323 of file nlp.c.
References SCIP_Nlp::indiving, nlpAddVars(), SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPvarIsTransformed(), 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 5349 of file nlp.c.
References SCIP_Nlp::indiving, nlpAddVars(), SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
Referenced by initSolve().
SCIP_RETCODE SCIPnlpDelVar | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
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 |
eventqueue | event queue |
lp | SCIP LP, needed to release variable |
var | variable |
Definition at line 5374 of file nlp.c.
References SCIP_Nlp::indiving, nlpDelVarPos(), SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPvarGetName(), 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 5410 of file nlp.c.
References BMSreallocBlockMemoryArray, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, 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 5438 of file nlp.c.
References SCIP_Nlp::indiving, nlpAddNlRows(), 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 5462 of file nlp.c.
References SCIP_Nlp::indiving, nlpAddNlRows(), SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
SCIP_RETCODE SCIPnlpDelNlRow | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
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 |
nlrow | nonlinear row |
Definition at line 5490 of file nlp.c.
References SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_NlRow::nlpindex, SCIP_Nlp::nnlrows, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIPerrorMessage.
SCIP_RETCODE SCIPnlpFlush | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set | ||
) |
applies all cached changes to the NLP solver
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
Definition at line 5521 of file nlp.c.
References SCIP_Nlp::indiving, nlpFlushNlRowAdditions(), nlpFlushNlRowDeletions(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpFlushVarDeletions(), SCIP_Nlp::nnlrows, SCIP_Nlp::nnlrows_solver, 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 | ||
) |
solves the NLP
nlp | NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics |
Definition at line 5558 of file nlp.c.
References SCIP_Nlp::indiving, nlpSolve(), SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, and SCIPnlpFlush().
Referenced by SCIPsolveNLP().
gets objective value of current NLP
nlp | current NLP data |
Definition at line 5585 of file nlp.c.
References SCIP_Nlp::primalsolobjval.
Referenced by SCIPgetNLPObjval(), and SCIPsolLinkNLPSol().
SCIP_RETCODE SCIPnlpGetPseudoObjval | ( | SCIP_NLP * | nlp, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real * | pseudoobjval | ||
) |
gives current pseudo objective value
nlp | current NLP data |
set | global SCIP settings |
stat | problem statistics |
pseudoobjval | buffer to store pseudo objective value |
Definition at line 5595 of file nlp.c.
References SCIP_Nlp::divingobj, SCIP_Nlp::indiving, SCIP_Nlp::nvars, SCIP_CALL, SCIP_OKAY, 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 5624 of file nlp.c.
References SCIP_Nlp::fracvars, SCIP_Nlp::fracvarsfrac, SCIP_Nlp::fracvarssol, SCIP_Nlp::nfracvars, nlpCalcFracVars(), SCIP_Nlp::npriofracvars, SCIP_CALL, and SCIP_OKAY.
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 5658 of file nlp.c.
References SCIP_Nlp::indiving, nlpDelNlRowPos(), SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowIsRedundant(), and SCIP_Nlp::solstat.
SCIP_RETCODE SCIPnlpSetInitialGuess | ( | 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()
nlp | current NLP data |
blkmem | block memory buffers |
initguess | new initial guess, or NULL to clear previous one |
Definition at line 5704 of file nlp.c.
References BMScopyMemoryArray, BMSduplicateBlockMemoryArray, FALSE, SCIP_Nlp::haveinitguess, SCIP_Nlp::initialguess, SCIP_Nlp::nvars, SCIP_Nlp::problem, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetInitialGuess(), SCIP_Nlp::solver, and TRUE.
Referenced by SCIPsetNLPInitialGuess(), and SCIPsetNLPInitialGuessSol().
SCIP_RETCODE SCIPnlpWrite | ( | SCIP_NLP * | nlp, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
const char * | fname | ||
) |
writes NLP to a file
nlp | current NLP data |
set | global SCIP settings |
messagehdlr | message handler |
fname | file name |
Definition at line 5737 of file nlp.c.
References SCIP_Nlp::name, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_Nlp::nvars, SCIP_CALL, 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 | ||
) |
signals start of diving
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
Definition at line 6125 of file nlp.c.
References SCIP_Nlp::indiving, 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 | ||
) |
resets the bound and objective changes made during diving and disables diving mode
nlp | current NLP data |
blkmem | block memory |
set | global SCIP settings |
Definition at line 6155 of file nlp.c.
References SCIP_Nlp::divingobj, FALSE, SCIP_Nlp::indiving, 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, 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 6216 of file nlp.c.
References SCIP_Nlp::divingobj, FALSE, SCIP_Nlp::indiving, SCIP_Nlp::nvars, SCIP_Nlp::objflushed, SCIP_Nlp::problem, SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgLinearCoefs(), SCIPnlrowChgLinearCoef(), SCIPnlrowCreate(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPvarGetObj(), SCIP_Nlp::solver, SCIP_Nlp::varhash, SCIP_Nlp::varmap_nlp2nlpi, and SCIP_Nlp::vars.
Referenced by SCIPchgVarObjDiveNLP().
SCIP_RETCODE SCIPnlpChgVarBoundsDive | ( | SCIP_NLP * | nlp, |
SCIP_VAR * | var, | ||
SCIP_Real | lb, | ||
SCIP_Real | ub | ||
) |
changes bounds of variable in diving NLP
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 6276 of file nlp.c.
References SCIP_Nlp::indiving, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgVarBounds(), SCIP_Nlp::solver, 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 6304 of file nlp.c.
References SCIP_Nlp::indiving, SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnlpiChgVarBounds(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Nlp::solver, SCIP_Nlp::varhash, and SCIP_Nlp::varmap_nlp2nlpi.
Referenced by SCIPchgVarsBoundsDiveNLP().
returns whether the objective function has been changed during diving
nlp | current NLP data |
Definition at line 6348 of file nlp.c.
References SCIP_Nlp::divingobj.
Referenced by SCIPsolLinkNLPSol().
SCIP_RETCODE SCIPnlpSolveDive | ( | SCIP_NLP * | nlp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat | ||
) |
solves diving NLP
nlp | current NLP data |
blkmem | block memory buffers |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics |
Definition at line 6356 of file nlp.c.
References nlpSolve(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPsolveDiveNLP().
gets array with variables of the NLP
nlp | current NLP data |
Definition at line 5788 of file nlp.c.
References 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 5798 of file nlp.c.
References SCIP_Nlp::nvars.
Referenced by SCIPgetNLPVarsData(), SCIPgetNNLPVars(), SCIPsetNLPInitialGuessSol(), and SCIPsolLinkNLPSol().
SCIP_RETCODE SCIPnlpGetVarsNonlinearity | ( | SCIP_NLP * | nlp, |
int * | nlcount | ||
) |
computes for each variables the number of NLP rows in which the variable appears in a nonlinear var
nlp | current NLP data |
nlcount | an array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables |
Definition at line 5808 of file nlp.c.
References BMSclearMemoryArray, SCIP_NlRow::exprtree, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_NlRow::nquadvars, SCIP_Nlp::nvars, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIP_OKAY, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPhashmapExists(), SCIPhashmapGetImage(), and SCIP_Nlp::varhash.
Referenced by SCIPgetNLPVarsNonlinearity().
indicates whether there exists a row that contains a continuous variable in a nonlinear term
nlp | current NLP data |
Definition at line 5867 of file nlp.c.
References SCIP_NlRow::exprtree, FALSE, SCIP_Nlp::nlrows, SCIP_Nlp::nnlrows, SCIP_NlRow::nquadvars, SCIP_NlRow::quadvars, SCIP_VARTYPE_CONTINUOUS, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPvarGetType(), and TRUE.
Referenced by SCIPhasNLPContinuousNonlinearity().
gives dual solution values associated with lower bounds of NLP variables
nlp | current NLP data |
Definition at line 5905 of file nlp.c.
References SCIP_Nlp::varlbdualvals.
Referenced by SCIPgetNLPVarsLbDualsol().
gives dual solution values associated with upper bounds of NLP variables
nlp | current NLP data |
Definition at line 5915 of file nlp.c.
References 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 5925 of file nlp.c.
References SCIP_Nlp::nlrows.
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 5935 of file nlp.c.
References SCIP_Nlp::nnlrows.
Referenced by SCIPgetNLPNlRowsData(), and SCIPgetNNLPNlRows().
gets the NLP solver interface
nlp | current NLP data |
Definition at line 5945 of file nlp.c.
References 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 5955 of file nlp.c.
References SCIP_Nlp::problem.
Referenced by SCIPgetNLPI().
indicates whether NLP is currently in diving mode
nlp | current NLP data |
Definition at line 5965 of file nlp.c.
References SCIP_Nlp::indiving.
SCIP_NLPSOLSTAT SCIPnlpGetSolstat | ( | SCIP_NLP * | nlp | ) |
gets solution status of current NLP
nlp | current NLP data |
Definition at line 5975 of file nlp.c.
References SCIP_Nlp::solstat.
Referenced by SCIPgetNLPSolstat(), SCIPlinkNLPSol(), and SCIPsolLinkNLPSol().
SCIP_NLPTERMSTAT SCIPnlpGetTermstat | ( | SCIP_NLP * | nlp | ) |
gets termination status of last NLP solve
nlp | current NLP data |
Definition at line 5985 of file nlp.c.
References SCIP_Nlp::termstat.
Referenced by SCIPgetNLPTermstat().
SCIP_RETCODE SCIPnlpGetStatistics | ( | SCIP_NLP * | nlp, |
SCIP_NLPSTATISTICS * | statistics | ||
) |
gives statistics (number of iterations, solving time, ...) of last NLP solve
nlp | pointer to NLP datastructure |
statistics | pointer to store statistics |
Definition at line 5995 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetStatistics(), and SCIP_Nlp::solver.
Referenced by SCIPgetNLPStatistics().
indicates whether a feasible solution for the current NLP is available thus, returns whether the solution status <= feasible
nlp | current NLP data |
Definition at line 6012 of file nlp.c.
References SCIP_NLPSOLSTAT_FEASIBLE, and SCIP_Nlp::solstat.
Referenced by nlpCalcFracVars(), SCIPcreateNLPSol(), SCIPgetNlRowActivity(), SCIPgetNlRowFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), SCIPhasNLPSolution(), and SCIPrecalcNlRowActivity().
SCIP_RETCODE SCIPnlpGetIntPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
int * | ival | ||
) |
gets integer parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
ival | pointer to store the parameter value |
Definition at line 6022 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetIntPar(), and SCIP_Nlp::solver.
Referenced by SCIPgetNLPIntPar().
SCIP_RETCODE SCIPnlpSetIntPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
int | ival | ||
) |
sets integer parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
ival | parameter value |
Definition at line 6039 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetIntPar(), and SCIP_Nlp::solver.
Referenced by SCIPsetNLPIntPar().
SCIP_RETCODE SCIPnlpGetRealPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
SCIP_Real * | dval | ||
) |
gets floating point parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
dval | pointer to store the parameter value |
Definition at line 6055 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetRealPar(), and SCIP_Nlp::solver.
Referenced by SCIPgetNLPRealPar().
SCIP_RETCODE SCIPnlpSetRealPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
SCIP_Real | dval | ||
) |
sets floating point parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
dval | parameter value |
Definition at line 6072 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetRealPar(), and SCIP_Nlp::solver.
Referenced by SCIPsetNLPRealPar().
SCIP_RETCODE SCIPnlpGetStringPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
const char ** | sval | ||
) |
gets string parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
sval | pointer to store the parameter value |
Definition at line 6088 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiGetStringPar(), and SCIP_Nlp::solver.
Referenced by SCIPgetNLPStringPar().
SCIP_RETCODE SCIPnlpSetStringPar | ( | SCIP_NLP * | nlp, |
SCIP_NLPPARAM | type, | ||
const char * | sval | ||
) |
sets string parameter of NLP
nlp | pointer to NLP datastructure |
type | parameter number |
sval | parameter value |
Definition at line 6105 of file nlp.c.
References SCIP_Nlp::problem, SCIP_CALL, SCIP_OKAY, SCIPnlpiSetStringPar(), and SCIP_Nlp::solver.
Referenced by SCIPsetNLPStringPar().